CH.6 시스템 보안
1. 시스템 분석
1-1. 시스템 로그 분석
1) 시스템 로그 파일 종류
- 일반적으로 리눅스에서는 /var/log 디렉터리에서 시스템의 모든 로그를 기록하고 관리함
- 로그들은 (r)syslogd에 의해서 관리되며, /etc/syslog.conf 파일에서 로그 파일의 저장 위치와 저장 파일 이름을 변경할 수 있음
- 시스템 로그 / 관련 명령어 정리
로그명 | 내용 | 로그경로 | 명령어 | 기타 |
utmp | 현재 로그인한 사용자의 정보 | /var/run/utmp | finger, w, who | 바이너리 파일이므로 명령어를 통해 확인 |
wtmp | 성공한 로그인/로그아웃, 시스템 boot/shutdown 정보 | /var/log/wtmp | last, last -F |
바이너리 파일이므로 명령어를 통해 확인 |
lastlog | 마지막으로 성공한 로그인 기록 | /var/log/lastlog | lastlog, finger | lastlog –u [계정명] lastlog –t [일수] |
btmp | 실패한 로그인 시도에 대한 기록 | /var/log/btmp | lastb last –f btmp |
실패한 모든 로그를 남김 바이너리 파일이므로 명령어를 통해 확인 |
acct/pacct | 사용자가 입력한 명령어, 터미널 종류, 프로세스 시작시간 등을 기록 | - (생략) |
lastcomm | 바이너리 파일이므로 명령어를 통해 확인 |
secure | 사용자/그룹 생성, 삭제, 로그인 등 사용자 인증에 대한 정보 기록 | /var/log/secure | X | 원격 접속(ssh, telnet) 기록, su 명령어 수행 내역, xinetd 인증 기록 |
message | 시스템 운영에 대한 전반적인 메시지 기록 | /var/log/messages | X | tcpwrapper, snort 등의 수행 내역 기록 |
dmesg | 리눅스가 부팅될 때 출력되는 메시지 기록 | /var/log/dmesg | dmesg | 텍스트 파일 |
boot.log | 리눅스가 부팅될 때 파일시스템, 서비스 데몬 체크한 정보 기록 | /var/log/boot.log | X | - |
Xferlog | FTP 로그 파일 | /var/log/xferlog | X | FTP 사용한 내용을 상세하게 기록 |
* 커널 로그 : /dev/console - 콘솔에 뿌려지는 로그
* 시스템 로그 : /var/log/messages - 리눅스 커널로그 및 주된 로그
- 내부 시스템이나 응용프로그램의 이름과 발생된 메시지를 구분하는 기호( : )
* 보안 로그 : /var/log/secure - 보안 인증 관련 로그
- 일반 텍스트 형식으로 저장되어 있어서 편집기로 내용 확인가능한 로그 파일
- cat 명령으로 확인 가능한 로그 파일
* 메일 로그 : /var/log/maillog - 메일 로그(sendmail에 의한 로그)
* 크론 로그 : /var/log/cron - crond에 의한 로그
* 부팅 로그 : /var/log/boot.log - 시스템 부팅 시의 로그
* 커널 부트 메시지 로그 : /var/dmesg - 부팅될 당시의 각종 메시지들 저장
* 커널 로그 : /var/log/wtmp - 시스템 전체 로그인 기록 저장
/var/log/utmp - 현재 로그인 사용자에 대한 기록, 사용자 ip 저장
* FTP 로그 : /var/log/xferlog - tp 로그, ASCII 형태의 로그 파일
* 웹 로그 : /var/log/httpd/access_log – 아파치(웹 서버) 로그 저장
/var/log/httpd/error_log – 아파치(웹 서버) 에러 저장
* 네임 서버 로그 : /var/log/named.log – 네임 서버(DNS) 로그
* /var/log/xferlog
: 전송된 지시를 나타내는 영역은 direction
: 사용자가 어떤 형태로 login 했는지를 나타내는 영역은 access-mode
: special-action-flag 영역에서 _는 어떠한 action도 발생하지 않은 경우를 뜻함
2) 로그 관련 명령어 상세
- last 명령어
: 성공한 로그인 로그아웃 정보 시스템 부팅 종료 정보를 출력하는 명령어
: 관련 로그 파일 : /var/log/wtmp
: [-F] : 정보에 대한 시간을 자세히 표시
: [-NUM] : 최근으로부터 NUM개의 정보를 출력
: [-f FILE] : 지정한 파일의 로그 정보 출력
: [-x] : 런레벨의 변동 정보도 같이 출력
: 명령어 뒤에 특정 사용자 계정을 지정하면 해당 사용자 계정에 대한 로그만을 출력
EX) # last 10 reboot 시스템 부팅 종료에 대한 로그의 최근 10개 출력
- lastb 명령어
: 실패한 로그인 시도에 대한 정보를 출력하는 명령어
: 관련 로그 파일 : /var/log/btmp
: last 명령어와 옵션이 같음
- lastlog 명령어
: 마지막으로 성공한 로그인 기록을 출력하는 명령어
: 관련 로그 파일 : /var/log/lastlog
: [-u] : 지정한 사용자에 대한 로그만 출력
: [-t DAY] : DAY 일수 이전에 대한 로그만 출력
- dmesg 명령어
: 리눅스 부팅 시 출력되는 메시지 기록을 출력하는 명령어
: 관련 로그 파일 : var/log/dmes
3) /etc/(r)syslog.conf 파일
- 파일 내용 구성
FACILITY.PRIORITY; … ACTION
- facility(서비스 종류)
: auth : 인증 관련 시스템 (로그인, su, getty 등)
: authpriv : auth와 같지만 사용자 별로 읽을 수 있는 파일에 기록됨
: kern : 커널 시스템
: cron, ftp, mail, lpr, syslog, …
- priority(우선순위) : emerg > alert > crit > err > warning > notice > info > debug
*.emerg /log/emerg.log : emerg 수준의 문제가 발생 되면 /log/emerg.log 파일에 기록하는 설정
- action(앞에 서비스 우선순위에 대한 결과) : 특정 로그 파일을 지정하거나, 터미널 콘솔 특정 유저에게 보낼 수 있음
- 설정 내용 예제
kern.* /dev/console
-> kernel에 관련된 모든 로그를 콘솔에 출력
info;mail.none;auth.none /var/log/messages
-> mail, auth 서비스에 대한 로그를 제외한 모든 서비스에 대한 info 레벨 이상의 메시지를 messages 파일에 기록
*.err fedora
-> 모든 서비스에 대한 err 레벨 이상의 메시지를 fedora 사용자의 스크린으로 메시지를 보냄
mail.*;mail.!=info /var/log/maillog
-> 메일 서비스에 대해 info 레벨을 제외한 모든 메시지를 maillog 파일에 기록
4) rsyslog
- syslog의 확장 버전으로, TCP/UDP를 이용한 로깅을 지원
- 데이터베이스 관련 로그 관리도 가능함
- 데몬은 rsyslogd이며, 설정 파일은 /etc/rsyslog.conf
- /var/log : rsyslog로 생성되는 로그의 저장 위치
- /etc/rc.d/init.rsyslog : rsyslogd 데몬을 동작시키는 스크립트
- /etc/rsyslog.conf : rsyslogd 데몬 환경설정 파일
: authpriv.* ihduser - 인증 관련 로그를 ihduser 사용자의 터미널에 나타나도록 설정하는 내용
- /etc/sysconfig/rsyslog : rsyslogd 데몬 실행과 관련된 옵션 설정 파일
- /sbin/rsyslogd : 실제 rsyslogd 데몬 실행 명령
5) 로그 순환 (logrotate)
- 로그 파일이 지정 용량에 도달했을 때 다른 파일로 대체하고 로그 파일을 압축하여 관리하는 것
- 통합 로그 설정 (/etc/logrotate.conf)
* missingok : 로그 파일이 존재하지 않는 경우에 여러 메시지를 출력하지 않고 다음 파일로 이동
* notifempty : 로그 파일이 비어있는 경우 순환하지 않음
- 개별 로그 설정 (/etc/logrotate.d/*)
해당 블로그를 참고하여 정리했습니다.
https://bangu4.tistory.com/139
'자격증 & 공부 > 리눅스마스터 1급' 카테고리의 다른 글
[리눅스마스터1급 - 1차] 2과목 - 6-3. 시스템 백업 (0) | 2024.06.13 |
---|---|
[리눅스마스터1급 - 1차] 2과목 - 6-2. 시스템 보안 및 관리 (0) | 2024.06.13 |
[리눅스마스터1급 - 1차] 2과목 - 5-1. 장치의 설치 및 관리 (1) | 2024.06.13 |
[리눅스마스터1급 - 1차] 2과목 - 4-4. 소프트웨어 설치 및 관리 (0) | 2024.06.13 |
[리눅스마스터1급 - 1차] 2과목 - 4-3. 프로세스 관리 (1) | 2024.06.13 |