보안 로그 분석

Date:     Updated:

카테고리:

태그:

보안사고 정의

  • 사이버 공격
    • 인터넷을 통해 이루어지는 외부의 인가되지 않은 공격
    • 인가되지 않은 공격에 의해, 내부의 중요 정보가 변조되거나 삭제되거나 유출되는 현상
  • 사이버 공격 유형
    • 홈페이지 악성코드 유포

      많은 홈페이지 서버에 악성코드 혹은 악성 스크립트를 은닉하여 홈페이지 접속자에게 악성코드를 유포하는 유형

    • 홈페이지 변조

      홈페이지 서버를 공격하여 홈페이지에서 보여지는 화면을 공격 자의 이미지로 변조하는 유형

    • DDOS(Distribution Denial of Service)

      공격자가 감염시킨 수많은 좀비PC를 이용해, 다량의 패킷을 서 버 등의 특정 시스템으로 송신하여 서비스를 마비시키는 공격

    • 피싱(Pishing)

      지인 또는 유명 기업 등을 사칭한 메시지를 E-mail, 메신저, 문 자 등의 다양한 서비스를 통하여 공격 대상자에게 전송

      메시지를 받은 사용자는 신뢰된 송신자로 오인하여 가짜 사이트 에 접속하여 정보 유출 및 금전적 피해를 야기하는 공격 기법

    • 파밍(Parming)

      특정 Web Site에 악성코드를 삽입 후 해당 Site에 사용자의 접 속을 유도하는 공격기법

      사용자는 해당 Site에 접속 시, 악성코드가 실행/설치되는 방식

    • 스미싱(Smishing)

      피싱과 유사한 방식으로, 문자메시지를 이용해 특정 Site에 접 속을 유도하는 공격 기법

LOG - Linux

  • LOG
    • 감사 서비스를 통해 남겨지는 시스템의 동작 흔적
    • 시스템의 오류 및 동작 상태에 대한 정보를 남김
    • 차후 침투가 발생했을 때 공격자의 흔적을 추적하기 위한 필수 정보
  • 로그 파일

    • 설명

      /var/log/message 리눅스 커널 로그 및 시스템 메시지
      /var/log/secure  보안 인증 관련 메시지
      /var/log/maillog 메일 로그(sendmail, pop에 의한 로그)
      /var/log/cron    crond에 의한 로그
      /var/log/boot.log 시스템 부팅 시에 뿌려지는 모든 메시지를 담고 있음
      /var/log/dmesg 부팅될 당시의 각종 메시지들을 저장
      /var/log/wtmp 시스템 전체 로그인 기록을 저장
      /var/run/utmp 현재 로그인 사용자에 대한 기록, 사용자 IP 저장
      /var/log/lastlog 계정의 최근 로그인 정보를 저장
      /var/log/xferlog ftp 로그
      /var/log/httpd/access_log 아파치(웹 서버)의 로그들을 기록
      /var/log/httpd/error_log 아파치(웹 서버)의 에러들을 저장
      /var/log/named.log 네임서버(DNS)의 로그
      
    • 로그파일 중 text 로 되어 있어서 읽히는 로그도 있고 명령어를 통해서만 확인 가능한 로그도 있다

  • Linux 로그 파일 종류(상세)

    /var/log/wtmp

    • 계정의 로그인 및 로그아웃 정보를 저장

    • 로그인, 로그아웃, shutdown, booting 정보 등

    • 바이너리 파일

      [root@localhost ~]# cat /var/log/wtmp
      

      화면 캡처 2022-11-16 192433

    • 확인 : last 명령으로 확인

      [root@localhost ~]# last
      

      화면 캡처 2022-11-16 192559

    /var/run/utmp

    • 현재 로그인한 계정의 상태 정보를 저장

    • 로그인 계정 이름, 터미널, 원격 로그인 주소, 로그인 시간 등

    • 바이너리(binary) 파일 : text 명령어로는 읽히지 않음

    • 확인 : w, who, who am i, … 등의 명령으로 확인

      [root@localhost ~]# w
      

      화면 캡처 2022-11-16 192948

      [root@localhost ~]# who
      

      화면 캡처 2022-11-16 193031

      [root@localhost ~]# who am i
      

      화면 캡처 2022-11-16 193105

    /var/log/lastlog

    • 계정의 최근 로그인 정보를 저장

    • 계정 이름, 터미널, 마지막 로그인 시간

    • 바이너리 파일

    • 확인 : lastlog 명령으로 확인

      [root@localhost ~]# lastlog
      

      화면 캡처 2022-11-16 193213

    /var/log/btmp

    • 실패한 로그인 시도를 저장

    • 바이너리(실행) 파일

    • 확인 : lastb 명령으로 확인

      [root@localhost ~]# lastb
      

      화면 캡처 2022-11-16 193307

    • ktest 로그인 실패 후 확인

      [root@localhost ~]# lastb
      

      화면 캡처 2022-11-16 193747

    /var/log/secure

    • Telnet, SSH, FTP 등 원격 로그인의 인증 정보를 저장

    • 텍스트 파일

    • 확인 : vim, tail/head, cat 등으로 확인

      [root@localhost ~]# cat /var/log/secure | grep ssh
      

      화면 캡처 2022-11-16 193909

    /var/log/boot.log

    • 부팅 동작에서 서비스 데몬들의 실행 상태정보 저장

    /var/log/cron

    • crond 서비스 동작에서 예약 작업의 동작 상태 정보 확인

    • 텍스트 파일

    • 확인 : vim, tail/head, cat 등으로 확인

      [root@localhost ~]# tail /var/log/cron
      

      화면 캡처 2022-11-16 194057

    /var/log/yum.log

    화면 캡처 2022-11-16 200411

    /var/log/sulog

    • su : 사용자 전환

    • su 명령의 사용 내역 저장

    • 공격자가 일반 계정으로 접근한 후 su명령으로 관리자의 권한을 악용할 수 있으므로 불법적인 su명령 사용을 주기적으로 점검해야 함

    • 환경설정을 미리 해야 로그가 저장 됨

    • 텍스트 파일

    • 확인 : “su:session”으로 필터링해서 확인

    실습) sulog 만들기

    • 파일 수정

      # vim /etc/login.defs 
      

      화면 캡처 2022-11-16 201126

      # vim /etc/rsyslog.conf     --> 실제 로그를 기록하는 데몬의 설정파일
      

      화면 캡처 2022-11-16 201321

      # vim /etc/logrotate.d/syslog
      

      화면 캡처 2022-11-16 201654

    • 관련 데몬 재시작

      [root@localhost ~]# systemctl restart rsyslog
      
    • su test

      [root@localhost ~]# su - ktest
    
    • sulog 확인

      [root@localhost ~]# cat /var/log/sulog 
      

      화면 캡처 2022-11-16 201927

    history

    • 각 사용자 별로 수행한 명령을 기록하는 파일

    • 사용자가 사용하는 쉘에 따라 .sh_history, .history, .bash_history 등의 파일로 기록

    • 해킹 피해 시스템 분석 시 불법 사용자 계정이나 root 계정의 history 파일을 분석하면, 공격자가 시스템에 접근한 후 수행한 명령어들을 확인할 수 있다는 점에서 매우 중요한 파일

    • 텍스트 파일

    • 확인 : vim, tail/head, cat 등으로 확인

      [root@localhost ~]# cat /root/.bash_history
      

      화면 캡처 2022-11-16 194828

      [root@localhost ~]# history
      

      화면 캡처 2022-11-16 194946

      [root@localhost ~]# history -c   --> 모든 history 삭제
      [root@localhost ~]# history
      

      화면 캡처 2022-11-16 195027

    /var/log/messages

    • 시스템 동작에 대한 전반적인 모든 이벤트가 저장 됨

    • 로그인, 장치 동작, 시스템 설정 오류, 파일 시스템, 네트워크 연결 정보 등이 저장 됨

    • 텍스트 파일

    • 확인 : 필터링을 하거나 실시간 로그 확인 방법을 많이 사용 함

      [root@KH-Linux~]# cat /var/log/messages | grep [패턴]
      [root@KH-Linux~]# tail -f /var/log/messages
          
      # systemctl restart network
      # tail -f /var/log/messages
      

      화면 캡처 2022-11-16 204527

      Untitled (2)

      화면 캡처 2022-11-16 204711

      화면 캡처 2022-11-16 204654

    /var/log/httpd/access_log, /var/log/httpd/error_log

    • 웹 서버의 접속, 오류에 대한 기록 확인

    • 웹 서버에서 취약한 CGI 프로그램에 공격 수행 시 그에 대한 공격 로그도 이들 로그파일에 기록 됨

    • 텍스트 파일

    • 확인 : vim, tail/head, cat 등으로 확인

      access_log

      # tail -f /var/log/httpd/access_log
          
      host에서 http://172.16.0.111 접속
      

      화면 캡처 2022-11-16 205143

      error_log

      1) 없는 페이지를 요청 할때 
          
      # tail -f /var/log/httpd/error_log
          
      host:]172.16.0.1
      http://172.16.0.111/1.php
      

      화면 캡처 2022-11-16 205412

      화면 캡처 2022-11-16 205445

      2) php 같은 WAS 의 문법문제가 생길때
          
      # vim /var/www/html/t.php
      <?php
      phpinfo();
      ?
      

      화면 캡처 2022-11-16 205855

      화면 캡처 2022-11-16 205931

log 카테고리 내 다른 글 보러가기

댓글 남기기