Jin's Dev Story

[리눅스마스터1급 - 1차] 2과목 - 6-1. 시스템 분석 본문

자격증 & 공부/리눅스마스터 1급

[리눅스마스터1급 - 1차] 2과목 - 6-1. 시스템 분석

woojin._. 2024. 6. 13. 14:32

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

 

[Linux Master] 리눅스 마스터 공부법, 기출문제, 요약집

www.ihd.or.kr/main.do KAIT 자격검정 시험접수 정보통신 자격검정 시험 원서등록을 하실 수 있습니다 www.ihd.or.kr 시험에 대한 모든 내용이 홈페이지에 있지만 다시한번 정리하겠습니다. 1급 기준으로 1

bangu4.tistory.com