반응형
오블완 챌린지 마지막 날인데 어떤 게시글을 올릴지 고민하다 리눅스로 올리기로 정했습니다.
리눅스에서 로그 관리는 보안 사고 및 시스템 상태를 모니터링하는 데 아주아주아주아주 중요합니다. 이번 포스팅에서는 리눅스 로그의 주요 디렉토리와 파일, 로그 확인 명령어, 그리고 비정상적인 로그인 시도를 식별하는 방법을 포스팅하였는데, 포스팅하면서 저도 몰랐던 부분이나 까먹었던 부분들을 다시 공부할 수 있어서 좋았습니다.
1. 리눅스 로그 디렉토리와 주요 파일
리눅스 시스템 로그는 /var/log 디렉토리에 저장되고, 이 디렉토리는 다양한 로그 파일이 포함되어 있다.
주요 로그 파일
파일 이름 | 설명 |
/var/log/syslog | 시스템 운영과 관련된 일반적인 메시지와 오류 로그. (Ubuntu 등) |
/var/log/messages | 시스템 운영 관련 일반 메시지. (RHEL, CentOS 등) |
/var/log/auth.log | 인증 관련 로그 (SSH 로그인, sudo 사용 등). |
/var/log/kern.log | 커널 관련 메시지 로그. |
/var/log/dmesg | 시스템 부팅 시 커널 메시지 로그. |
/var/log/secure | 인증 관련 메시지 로그 (RHEL 계열). |
2. 로그 파일 확인 방법
1. cat 명령어로 로그 보기
- 예시 : cat /var/log/auth.log
2. tail 명령어로 실시간 로그 확인
- 로그 파일의 마지막 몇 줄을 출력합니다
- -f 옵션을 사용하면 파일이 업데이트될 때 새로운 내용을 실시간으로 확인할 수 있습니다.
- 예시 : tail -f /var/log/auth.log
3. grep 명령어로 특정 키워드 검색
- 특정 로그 메시지를 검색할 때 사용합니다.
- 예시 : grep "pam" /var/log/auth.log
4. less 명령어로 대량의 로그 탐색
- 대량의 로그를 탐색할 때 스크롤하며 볼 수 있습니다.
- vi는 편집 기능이 있고, less는 편집 기능없이 q를 입력하면 나가집니다.
- 예시 : less /var/log/syslog
3. journalctl 명령어로 로그 관리
journalctl은 sytstemd를 사용하는 시스템에서 로그를 확인할 수 있는 명령어입니다.
기본 명령어
1. 전체 로그 확인
- journalctl
2. 부팅 이후의 로그 확인
- journalctl -b
3. 특정 서비스 로그 확인
- 예시 : ssh 서비스 로그
- journalctl -u sshd
4. 실시간 로그 모니터링
- journalctl -f
4. 비정상적인 로그인 시도 탐지
1. 실패한 로그인 시도 확인
- /var/log/auth.log 또는 /var/log/secure에서 "failed" 메시지를 검색
2. 비정상적인 IP 주소 확인
- 실패한 시도에 관련된 IP 주소를 추출합니다.
5. 보안 팁 : 로그 관리로 사고 예방하기
1. 로그 파일 모니터링 자동화
- cron과 grep 명령어를 활용해 비정상적인 시도 자동 탐지하고 알림 받기
2. 로그 파일 백업
- 주기적을 중요한 로그를 백업하여 사고 발생 시 복구에 활용합니다.
- crontab 이용하여 주기적으로 자동 백업 설정 가능
3. 로그 보관 기간 설정
- 오래된 로그는 자동으로 삭제되도록 설정하며, /etc/logrotate.conf 파일을 수정하면 됩니다.
반응형
'정보보안 > 리눅스' 카테고리의 다른 글
[리눅스] 프로세스 관리 (ps, top, kill) (1) | 2024.12.04 |
---|---|
리눅스 파일 권한과 관리 (ls, chown, chmod, chgrp) (0) | 2024.11.24 |
[리눅스] scp 명령어 사용법 (ssh 파일 전송프로토콜) (0) | 2024.11.19 |
[리눅스] 파일 및 디렉토리 무결성 검사 MD5sum (0) | 2024.11.05 |
[리눅스] 시스템 종료 및 재시작 명령어 (shutdown, reboot, poweroff, halt sync, init, systemctl,systemd) (0) | 2024.10.08 |