본문 바로가기

ISMS-P/보안

리눅스 계정 확인 및 주요 감사 명령어

SMALL

리눅스에서 사용자 계정의 목록을 확인하고 그 중 불필요한 계정이 있는지 확인하려면, 아래와 같이 etc/passwd 파일을 확인하면 됩니다.

모든 계정 확인하기


이 명령어는 시스템에 있는 모든 사용자 계정을 출력합니다. 각 줄은 콜론(:)으로 구분된 일련의 필드를 포함하며, 이 필드에는 사용자 이름, 암호화된 비밀번호, 사용자 ID (UID), 그룹 ID (GID), 전체 이름, 홈 디렉터리 및 로그인 쉘이 포함될 수 있습니다.

출력에서 불필요하거나 더 이상 사용하지 않는 계정을 확인하려면, 보통의 시스템 계정(일반적으로 UID가 1000 미만)과 실제 사용자 계정을 구별해야 합니다.

불필요한 계정을 발견한 경우, userdel 명령어를 사용하여 계정을 삭제할 수 있습니다:

userdel로 삭제하기


이때 username은 삭제하려는 계정의 이름을 나타냅니다. 계정의 홈 디렉터리와 메일 스풀을 함께 삭제하려면 -r 옵션을 추가합니다:

-r 을 통해 홈 디렉토리와 메일 스풀 삭제


lastlog 명령어는 Linux 시스템에서 사용자의 마지막 로그인 시간을 확인하는 데 사용되는 명령어입니다.

lastlog 명령어를 실행하면, 각 사용자에 대한 마지막 로그인 정보를 보여줍니다. 출력은 대략적으로 다음과 같습니다:


이 출력은 사용자 이름 (Username), 로그인 세션이 시작된 터미널 또는 장치 (Port), 로그인한 위치 (From), 그리고 로그인한 마지막 시간 (Latest)을 나타냅니다. "Never logged in" 이라는 메시지는 해당 사용자가 한 번도 로그인하지 않았음을 나타냅니다.

lastlog는 전체 사용자 목록을 출력하지만, 특정 사용자의 로그인 정보만 보려면 -u 옵션과 사용자 이름을 함께 사용할 수 있습니다. 예를 들어, root 사용자의 마지막 로그인 정보를 보려면 다음과 같이 실행하면 됩니다:

 

 

 

그 외 감사 등에서 자주 사용하는 리눅스 주요 명령어

 

1. last: 로그인 및 로그아웃 이력을 표시합니다.

사용자의 접속 IP, 로그인 아웃 이력 확인

주요 확인 포인트: 이전에 시스템에 로그인했던 모든 사용자의 리스트와 해당 사용자가 언제 로그인/로그아웃 했는지 확인합니다.

 

2. lastb: 실패한 로그인 시도를 표시합니다.

로그인 실패시도 결과

주요 확인 포인트: 누가 언제 로그인에 실패했는지 확인합니다. 이는 무단 접근 시도를 파악하는 데 유용합니다.

 

3. who: 현재 로그인한 사용자를 표시합니다.

현재 로그인 한 user1

주요 확인 포인트: 누가 시스템에 로그인했는지 확인합니다.

 

4. w: 현재 로그인한 사용자와 그들이 무엇을 하고 있는지를 표시합니다.

what : 로긴한 사용자가 수행하는 작업 확인

주요 확인 포인트: 현재 시스템에 로그인한 사용자와 그들이 수행하고 있는 작업을 확인합니다.


5. history: 명령어 이력을 표시합니다.

수행한 명령어 내용


주요 확인 포인트: 사용자가 이전에 실행한 명령어를 확인합니다.


6. ps -ef: 실행 중인 프로세스를 표시합니다.

주요 확인 포인트: 현재 실행 중인 프로세스를 확인하여 의심스러운 프로세스가 없는지 확인합니다.


8. netstat -tuln: 네트워크 연결, 리스닝 상태의 소켓, 라우팅 테이블 등을 표시합니다.

주요 확인 포인트: 열려있는 네트워크 연결과 리스닝 중인 포트를 확인하여 의심스러운 연결이 없는지 확인합니다.

 

9. ss -tuln: netstat와 유사하게 네트워크 연결 정보를 표시합니다.

주요 확인 포인트: netstat -tuln과 동일합니다.


10. lsmod: 현재 로드된 커널 모듈을 나열합니다.

 

주요 확인 포인트: 로드된 커널 모듈을 확인하여 필요하지 않거나 의심스러운 모듈이 로드되지 않았는지 확인합니다.

 

11. lsof: 현재 시스템에서 열린 파일을 표시합니다.

주요 확인 포인트: 열려있는 파일을 확인하여 의심스러운 파일이 열리지 않았는지 확인합니다.