정보보안기사

[정보보안기사] SECTION 16 서버 보안 관리

tnvori 2026. 1. 15. 15:16
  1. 서버 관리자의 업무

    1. 보안 유지 관리
      1. 개요
        • 보안 유지 관리 프로세스
          • 로깅 정보 감시 및 분석
          • 정기적인 백업
          • 정기적인 시스템 보안 테스트
      2. 로깅
    2. 서버 관리자의 업무
      1. 시스템 관리자 계정으로 작업하기
        • root 계정으로 로그인 — 프롬프트 모양이 #
        • root 계정으로 변경하기 — su
      2. 사용자 계정 관리
        • 계정 사용 제한
          • 원격 접근 권한 제거 — /etc/passwd 파일에서 /bin/bash 같은 셸 삭제
          • 계정 사용 기간 설정 —
      3. 자원 관리
        • 프로세스 관리
          • wait: 프로세스가 끝나기를 기다리는 명령어
          • nice: 프로세스의 우선순위를 변경할 수 있는 nice 값을 설정하는 명령어
        • 메모리 관리
          • free: 시스템 실제 메모리와 스왑 메모리에 대한 사용 현황을 확인할 수 있는 명령어
        • 메일, 디스크 등의 자원 관리
          • 리눅스 시스템의 경우 디스크 사용량을 사용자 및 그룹별로 설정하기 위해 quota 사용
          • 전체적인 메일 용량 크기의 제한은 메일 스풀 디렉터리에 별도의 파티션을 주고 그 파티션에 쿼터를 설정함
          • du: 디스크의 파일 사용량을 재귀적으로 보여줌
        • 네트워크 관리
          • ifconfig: 통신 디바이스(NIC) 상태를 보여줌
          • netstat -an: 현 시스템에서 사용되는 통신 서비스의 상태를 보여줌
          • top: 시스템 자원의 사용 현황을 보여줌
          • ps -elf(-aux): 현 시스템에서 수행 중인 프로그램과 데몬 상태를 보여줌
          • who, w: 로그인되어 있는 사용자를 보여줌
          • snoop: 네트워크를 흐르는 패킷을 캡쳐하여 분석
          • nslookup: 도메인에 대한 IP 정보 및 도메인 네임과 관련된 여러 검색 가능
          • hostname: 현 시스템에 할당된 호스트 이름을 보여줌
          • tracerout: 특정 호스트까지의 네트워크 라우팅 경로 및 경유 IP를 보여줌
          • inetd: 네트워크 슈퍼 데몬 inetd 실행
  2. 로그 설정과 관리

    1. 시스템 로그 분석

      1. 로그에 대한 이해
        • 윈도우
          • 이벤트라는 중앙 집중화된 로그를 수집하여 저장
          • 관리 용이
          • 로그 삭제 용이, 보안 수준 낮음
        • 유닉스
          • 로그를 여러 곳에 산발적으로 저장
          • 로그 삭제 어려움
      2. 윈도우의 로그 분석과 설정
        • 해커에 대한 즉각적인 확인
          • net session
            • 현재 로그인된 사용자 확인
            • 자신의 시스템에 로그인한 시스템의 IP, 로그인한 계정, 클라이언트의 운영체제, 세션의 수, 로그인 후 경과 시간
            • net session /delete — 세션 연결 종료
          • psloggedon
            • 현재 로컬로 로그인한 계정 정보도 함께 보여줌
            • 원격의 관리자가 로컬로 로그인한 사용자 정보를 필요로 할 때 유용
        • 윈도우 시스템 이벤트 로그 종류
          • 기본
            • 응용 프로그램 로그(AppEvent.Evt) — 응용 프로그램이 기록한 다양한 이벤트가 저장되며, 기록되는 이벤트는 소프트웨어 개발자에 의해 결정
            • 보안 로그(SecEvent.Evt) — 로그인 시도 및 파일 생성, 열람, 삭제 등의 리소스 사용에 관련된 이벤트 기록
            • 시스템 로그(SysEvent.Evt) — Windows 시스템 구성요소가 기록하는 이벤트로 시스템 부팅 시 드라이버가 로드되지 않는 경우와 같은 오류를 이벤트에 기록
          • OS 구성에 따라 추가 가능
            • 디렉터리 서비스 로그(도메인 컨트롤러 구성) — Windows Active Directory 서비스에 발생하는 이벤트(예: 서버와 글로벌 카탈로그 사이의 연결 문제)
            • 파일 복제 서비스 로그(도메인 컨트롤러 구성) — Windows 파일 복제 서비스에서 발생하는 이벤트(예: 도메인 컨트롤러가 시스템 볼륨 변경 정보로 업데이트되고 있는 동안 발생하는 파일 복제 실패)
            • DNS 서버 로그(DNS 서버 구성) — Windows DNS 서비스에 발생하는 이벤트
        • 감사 정책
          • 개체 액세스 감사(감사 없음) — 특정 파일이나 디렉터리, 레지스트리 키, 프린터 등과 같은 객체에 대해 접근을 시도하거나 속성 변경 등을 탐지
          • 계정 관리 감사(실패) — 신규 사용자, 그룹의 추가, 기존 사용자 그룹의 변경, 사용자의 활성화/비활성화, 계정 패스워드 변경 등을 감사
          • 계정 로그인 이벤트 감사(성공, 실패) — 로그인 이벤트 감사와 마찬가지로 계정의 로그인에 대한 사항을 고르고 남기는데, 도메인 계정의 사용으로 생성됨
          • 권한 사용 감사(실패) — 권한 설정 변경, 관리자 권한이 필요한 작업 수행 시 로깅
          • 로그인 이벤트 감사(성공, 실패) — 로컬 계정의 접근 시 생성되는 이벤트 감사. 계정 로그인 이벤트 감사에 비해 다양한 종류
          • 디렉터리 서비스 액세스 감사(실패) — 시스템 액세스 제어 목록(SACL)이 지정되어 있는 액티브 디렉터리(Active Directory) 개체에 접근하는 사용자에 대한 감사 로그 제공
          • 정책 변경 감사(성공, 실패) — 사용자 권한 할당 정책, 감사 정책, 신뢰 정책의 변경과 관련된 사항 로깅
          • 프로세스 추적 감사(감사 없음) — 프로세스 시작/중지 시 해당 이벤트 발생
          • 시스템 이벤트 감사(감사 없음) — 시스템의 시동과 종료, 보안 로그 삭제 등 시스템의 주요한 사항에 대한 이벤트
        • 로그 정책 설정
          • 윈도우 로그 정책이 대부분 정보를 로깅하지 않게 기본 설정되어 있음
          • 로깅에 시스템 자원이 많이 소모됨
        • 이벤트 로그 파일
          • %Windows%\system32\config 아래 .evt 확장자 파일
          • 바이너리 파일
          • 제어판-관리도구-이벤트 뷰어
          • 이벤트 뷰어 내용
            • 종류 — 정보, 경고, 오류, 성공 감사, 실패 감사
            • 날짜, 시간
            • 원본, 범주 — 로그와 관계 있는 영역
            • 이벤트 ID — 로그별 고유한 번호
            • 사용자 — 관련 로그를 발생시킨 사용자
            • 컴퓨터 — 관련 로그를 발생시킨 시스템
      3. 유닉스/리눅스의 로그 분석과 설정
        • 로그 디렉터리
          • syslogd 데몬 — 로그를 중앙 집중적으로 관리
          • 로그가 다양한 경로로 남음
          • 저장 경로가 시스템마다 다름. 두 개 이상의 경로에 로그를 나누어 저장하기도 함
          • 유닉스 시스템의 로그 디렉터리 위치
            • /usr/adm — 초기 유닉스, BSD 계열: HP-UX 9.X, SunOS 4.x
            • /var/adm — 최근 유닉스, SVR 계열: HP-UX 10.x 이후, IBM AIX
            • /var/log — 일부 BSD 계열: BSD, FreeBSD. 오라클 솔라리스, 리눅스
            • /var/run — 일부 리눅스
        • utmp(x) 로그
          • utmp 데몬 — 유닉스의 가장 기본적인 로깅을 제공하는 데몬(/etc/lib/utmpd), 현재 시스템에 로그인한 사용자의 상태 출력
          • utmp.h에서 정의된 구조체로 로그인 데이터를 바이너리로 저장
          • 출력 명령 — w, who, users, whodo, finger 등
        • wtmp(x) 파일
          • wtmp 데몬
            • /usr/include/utmp.h 파일 구조체를 그대로 사용
            • utmp 데몬과 비슷한 역할 — 사용자 로그인, 로그아웃, 시스템 재부팅 정보
          • 바이너리 형태
          • last
        • sulog(Unix/SunOS)
          • 로그인한 계정의 권한 변경 시 사용한 su 명령에 대한 로그
          • 출력 형식 — [날짜] [시간] [+ or -] [터미널 종류] [권한 변경 전 계정 - 변경 후 계정]
          • Linux — /var/log/secure
        • acct/pacct 로그
          • 시스템에 로그인한 모든 사용자가 수행한 프로그램에 대한 정보를 저장하는 로그
          • 사용자가 로그인 후 로그오프까지 입력한 명령, 연결에 이용한 터미널의 종류와 시간 등
          • 대형 시스템을 여러 사용자가 비용을 지불하는 형식으로 공유할 경우, 사용자에게 요금을 부과하기 위해 이용
          • 많은 시스템 자원 소모. 기본으로 동작하지 않음
          • 바이너리 형태
          • acctcom, lastcomm
        • .sh_history 또는 .bash_history
          • [셸의 종류]_history
          • 실행한 명령에 대한 기록
          • 각 계정의 홈 디렉터리에 저장
          • 텍스트 형식
          • 파일 소유자만 읽고 쓸 수 있으나, 공격자에게 많은 정보 제공
        • loginlog(Unix/SunOS), btmp(Linux)
          • Linux
            • /var/log/btmp
            • 바이너리 파일
            • lastb
            • 실패한 모든 로그
          • Unix(SunOS)
            • /var/adm/loginlog
            • 텍스트 파일
            • 5회 이상 실패 시 실패한 로그
        • lastlog
          • 가장 최근에 성공한 로그인 기록
          • 바이너리 파일
          • lastlog(Linux), finger(Linux, Unix/SunOS)
        • FTP 파일 전송 로그(xferlog)
          • FTP 로그 파일. porftpd 또는 vsftpd 데몬들의 서비스 내역 기록
          • 공격자가 FTP 서비스를 이용해 시스템에서 어떤 파일을 복사했는지, 또 어떤 파일을 시스템에 복사해두었는지 찾을 때 유용
          • 파일 전송 날짜와 시간, 접근 시스템의 IP, 전송한 파일
          • [요일] [월] [일] [시간] [년도] 1 192.168.11 [파일 크기(byte)] [전송된 파일의 이름] [전송 방법] [특수 동작] [방향] [접근 계정] [서비스 이름] [인증 서버 사용 여부] [인증 사용자] [파일 전송 성공 여부] 861486 0
          • 전송 방법
            • a — 텍스트 파일
            • b — 바이너리 파일
          • 특수 동작 — 파일 전송 이외에 행한 동작에 대한 정보
            • C(Compress) — 파일 압축
            • U(Uncompress) — 파일 압축 해제
            • T(Tar) — Tar 등을 이용해 파일이 묶임
            • _ — 아무 동작 없음
          • 방향 — O/I
          • 접근 계정
            • A — 익명 계정
            • G — 패스워드가 설정된 Guest 계정
            • R [사용자 계정] — 인증된 사용자. /etc/passwd 파일 내 사용자로 서비스 이용
          • 서비스 이름 - FTP
          • 인증 서버 사용 여부
            • 0 — 인증 서버가 없는 경우
            • 1 — RFC 931(Authentication Server)을 이용한 인증 수행
          • 인증 사용자 ID
            • 인증 방법에 의해 되돌려지는 User ID
              • — 인증된 사용자 ID를 사용할 수 없음
            • 파일 전송 성공 여부 — C/I
        • HTTPD Log(Access_log, Error_log) — 웹서비스에 의한 로그는 /usr/local/apache/logs 디렉터리에 Access_log, Error_log 등과 같은 로그 파일로 남음
        • 로그 정리
          • dmesg — 리눅스가 부팅될 때 출력되는 모든 메시지 기록. 부팅 시 에러 및 조치사항
          • messages
            • 시스템의 가장 기본적인 시스템 로그 파일
            • 시스템 운영에 대한 전반적인 메시지를 주로 저장
            • 주로 시스템 데몬들의 실행 상황 및 내역, 사용자들의 접속 정보, TCPWrapper 접근제어 정보 등
          • secure
            • 원격 로그인 정보를 기록하고 있는 로그 파일
            • tcp_wrapper(xinetd)의 접속 제어에 관한 로그 파일은 언제, 누가, 어디에서, 어떻게 접속했는가에 대한 로그 기록
      4. 유닉스/리눅스 시스템 로그 설정(/etc/syslog.conf)
        • 개요
          • 유닉스는 표준 인터페이스(API) syslog에 의해 로그를 생성하고 관리
          • 각종 메시지 체계적 관리 가능
          • 운영체제에 의해 자동으로 시작
          • /etc/syslog.conf를 읽어 어떤 로그를 어디에 나길지 결정
          • facility(A).priority(B) action(logfile-location)(C) → A 서비스에 대해 B의 경우 C 로그 파일에 기록
        • facility: 서비스 이름(메시지 종류)
          • *
          • auth — login. su처럼 사용자 권한 사용/변경
          • authpriv — auth + 선택된 사용자만 읽을 수 있는 파일에 로그 기록
          • console — 콘솔에 일반적으로 나타나는 메시지
          • cron — 시스템 스케줄러에 보내는 메시지
          • daemon — 별도의 핸들러가 없는 모든 시스템 데몬 로그
          • ftp
          • kern — 커널 메시지
          • lpr — 프린터 시스템에서 오는 메시지
          • mail
          • mark — 로그에 20분마다 단순히 통보하는 메시지. 실제 로그 아님
          • news — 인터넷 뉴스 데몬에서 보내는 메시지
          • ntp — Network Time Protocol이 보내는 메시지
            • NTP — 시스템의 시간을 서로 일정하게 맞춤
          • security — 각종 보안 시스템이 보내는 메시지
          • syslog — 로그 서비스 자체적으로 로그를 남길 수 있음. 로그 시스템에서 보내는 로그는 혼란을 피하기 위해 남기지 않도록 함
          • user — 사용자 프로그램에 대한 로깅
          • uucp — Unix-to-Unix Copy 프로토콜이 보내는 로그
            • UUCP
              • 하나의 시스템이 전화선을 통해 다른 시스템과 접속하는 경우가 필요한 초기에 만들어진 유닉스 컴퓨터를 연결하는 국제적인 공동 광역 통신망
              • 전자 메일 전송을 위해 사용
              • 대규모 국제 네트워크를 칭하는 용어로 사용
          • local0~7 — local0 ~ local7 관리자가 사용할 수 있도록 예약된 것
        • priority: 메시지 우선순위(또는 로그 레벨)
          • Emergency(emerg)
            • 시스템이 비정상적인 상태
            • 모든 터미널에서 메시지가 깜빡임
            • 시스템이 멈췄거나 아주 불안정한 패닉 상태
            • 전체 공지가 필요한 상황
          • alert(alert)
            • 시스템을 가동시킬 수 있지만, 즉각 조치해야 함
            • 시스템 데이터베이스 오류 등
          • Critical(crit)
            • 하드웨어나 심각한 소프트웨어 문제같은 치명적인 오류
            • 하드 드라이브에 bad 블록이 생겼을 때 발생. 조치 필요
          • Error(err) — 고쳐야 하지만 시스템을 망가뜨릴 정도는 아님
          • Warning(warning)
          • Notice(notice) — 에러는 아니지만 관리자의 조치 필요
          • Information(info)
            • 일반적인 시스템 정보
            • 의미 있는 정보 관련 메시지
          • debug(debug)
            • 프로그램 동작 원리를 알고자 하는 시스템 관리자가 사용
            • 사용자 프라이버시를 침해할 만한 정보 존재 가능
        • action
          • 로그를 어디에 남길 것인지 결정
          • 로그 파일 — 파일명 지정(/var/log/secure 등)
          • 콘솔 — /dev/console로 지정 시 콘솔 출력
          • 원격 로그 서버: [@호스트 주소]를 통해 지정한 호스트로 로그 전송
          • user: 지정된 사용자의 스크린으로 메시지 전송
          • *: 현재 로그인되어 있는 모든 사용자의 스크린으로 메시지 전송
      5. 로그 관리
        • 로그 모니터링
          • 텍스트 형식 로그 실시간 모니터링 — tail -f /var/log/messages
            • -f — 실시간 출력
            • tail — 대상 파일의 마지막 n 라인 출력
          • 로그 순환
            • logrotate — 시스템 로그 파일에 대해 로테이트, 압축, 또는 메일을 발송하는 리눅스 시스템 로그 파일 관리기
            • 데몬 — /usr/sbin/logrotate — 데몬 위치 및 데몬 프로그램
            • 데몬 설정 파일 — /etc/logrotate.conf — 설정 파일
            • 설정 디렉터리 — /etc/logrotate.d — logrotate에 적용한 각종 로그 파일을 보관하는 디렉터리
            • 상황 파일 — /var/lib/logrotate.status — logrotate 작업 내역을 보관하는 파일
            • cron — /etc/cron.daily/logrotate — cron에 의해 일 단위로 실행
    2. 응용 프로그램 로그 관리

      1. IIS 웹 서버 로그

        • 개요
          • IIS — MS가 개발한 인터넷/인트라넷용 서버 소프트웨어
          • W3C 형식으로 남도록 기본 설정
          • NCSA 공통 고르 파일 형식, Microsoft IIS 로그 파일 형식 등 사용 가능
        • W3C 주요 로그 필드
          • date
          • time — GMT 표준시 + 9시간 → 한국 시간
          • c-ip — 웹 페이지에 접속한 사용자 정보(공격자 IP)
          • cs-username — 접속 사용자 계정
          • s-computername — 웹 서버 이름
          • s-port — 웹 서버 포트
          • cs-method — HTTP 메소드
          • cs-uri-stem
          • cs-uri-query
            • id=123
          • sc-status — 응답 코드
          • Cs(Referer) — 사이트 접속 전 어느 사이트를 거쳤는지에 대한 정보
          • Cs(Cookie)
        • 로그 예제
          • 날짜와 시간
          • 서버 IP
          • HTTP 접근 방법과 접근 URL
          • 서버 포트
          • 클라이언트 IP
          • 클라이언트 웹 브라우저
          • 실행 결과 코드
          • 클라이언트로 전송한 데이터 크기
          • 서버로 전송한 데이터 크기
          • 처리 소요 시간
      2. Apahce 웹 서버 로그

        • 로그 형식

          • 클라이언트 요청에 의해 웹 서버가 응답한 내용 — access log에 기록
          • 클라이언트 요청에 의해 웹 서버에 오류 발생 — error log에 기록
        • httpd.conf 파일에서 LogFormat 확인 가능

          • LogFormat “%h %l %u %t “%r” %>s %b” common

            → common: 가장 일반적인 로그 기록

          • LogFormat “{Referer}i-> %U” referer

            → referer: 서버에 접속하기 전 머물렀던 URL

          • LogFormat “%{User-agent}i” agent

            → agent: 접속자의 웹 브라우저 종류

          • LogFormat “%h %l %u %t “%r” %>s %b “{Referer}i” “%{User-Agent}i” combiend

            → combined: 위의 3가지 로그 포맷을 모두 조합한 것

          • Combined 형식의 각 항목에 대한 내용

            • %a — 클라이언트 IP 주소
            • %b — 헤더 정보를 제외하고 전송된 데이터의 크기. 0이면 -
            • %c — 응답이 완료되었을 때 연결 상태
              • x: 응답이 완료되기 전 연결 끊김
              • +: 응답을 보낸 뒤에도 연결이 지속됨
              • -: 응답을 보낸 뒤 연결이 끊김
            • %{Header}e — 환경 변수 헤더의 내용
            • %f — 요청된 파일명
            • %h — 클라이언트의 도메인 또는 IP 주소
            • %H — 요청 프로토콜의 종류
            • %l — inetd를 사용할 수 있을 때 클라이언트 로그인명(100% 신뢰 불가능)
            • %m — 요청 방식
            • %p — 서버가 요청을 받는 포트 번호
            • %P — 요청을 처리하는 자식 프로세스의 ID
            • %q — 질의에 사용된 문자
            • %r — HTTP 접근 방법과 접근 URL
            • %s — HTTP 실행 결과 코드
            • %{format}t — 웹 서버에 작업을 요구한 시간
            • %{Referer}i — 요청된 URL이 참조되거나 링크된 URL
            • %{User-Agent}i — 접속한 클라이언트의 OS 및 브라우저 버전 등을 나타냄
            • %T — 웹 서버가 요청을 처리하는 데 소요된 시간(초)
            • %u — 클라이언트의 사용자(100% 신뢰 불가능)
            • %v — 요청을 처리하는 서버의 이름
            • %V — 클라이언트의 웹 브라우저
        • 로그 예시

          • /etc/httpd/logs/access_log
            • 클라이언트 IP
            • 클라이언트 로그인명
            • 클라이언트 사용자명
            • 날짜와 시간
            • HTTP 접근 방법과 접근 URL
            • 실행 결과 코드
            • 서버에서 클라이언트로 전송한 데이터 크기
            • 클라이언트의 웹 브라우저
          • /etc/httpd/logs/error_log
            • 오류 발생 날짜 및 시간
            • 오류의 심각성 — debug, info, notice, warn, error, ciritical, alert, emerg 등
            • 클라이언트의 접근 IP 주소
            • 접근한 웹 경로
            • 성공 또는 실패 여부
            • 발생한 오류에 대한 설명
            • 3~6번 항목은 오류 종류에 따라 다양하게 기술될 수 있음
  3. 공개 해킹 도구에 대한 이해와 대응

    1. 크래킹 S/W
      1. 크래킹 개요
        • 악의적인 목적을 가지고 시스템에 침입하는 행위
        • 쉐어웨어 프로그램을 정식 버전으로 변환하는 행위
        • ID, 패스워드를 대입하여 맞는지를 지속적으로 수행
      2. 크래킹 S/W 사례
        • John the Ripper
          • 패스워드 점검 도구
          • 윈도우, 리눅스, Mac 지원
        • pwdump — 윈도우에서 패스워드를 덤프할 수 있는 도구
        • L0phtCrack
          • 패스워드 취약점 점검 도구
          • 원격 및 로컬 서버나 PC에 대해 패스워드를 점검하는 데 유용
        • ipccrack — 사용자 계정 패스워드를 원격지에서 추측하여 취약점을 점검하는 도구
        • chntpw — 물리적 접근이 가능한 시스템에서 패스워드를 리셋시키는 프로그램
        • ERD Commander — 윈도우 시스템에서 패스워드를 복구해야 하는 경우 사용
    2. 키로그 S/W
      1. 개요
        • 업데이트된 프로그램 — 키보드 입력 + 윈도우를 이용한 프로그램 사용, 인터넷 익스플로러를 이용한 인터넷 접속 정보
        • 실시간 전송 or 지정된 시간 전송
      2. 키보드 해킹 방지 프로그램
        • 키보드 입력 자체를 보호하여 사용자 입력 정보를 제3자가 알아볼 수 없도록 하는 프로그램
        • 동작 중임을 화면 하단에 나타냄
  4. 서버 보안용 S/W 설치 및 운영

    1. 취약점 분석 도구
      1. 취약점 분석 — 정기적, 소프트웨어나 서비스가 추가되는 경우, 새로운 장비를 구입하여 네트워크를 확장했을 경우
      2. 취약점 분석 도구
        • SATAN(Security Analysis Tool for Auditing Networks) — 해커와 똑같은 방식으로 시스템에 침입하여 보안상의 약점을 찾아 보완할 수 있는 네트워크 분석용 보안 관리 도구
        • SARA
          • SATAN이 업데이트가 되지 않는 상황에서 SATAN을 기반으로 개발된 취약점 분석 도구
          • 네트워크 기반 컴퓨터, 서버, 라우터 IDS에 대한 취약점 분석, 유닉스 플랫폼에서의 동작, HTML 형식의 보고서 기능
        • SAINT
          • 유닉스 플랫폼에서 동작하는 네트워크 취약점 분석 도구
          • HTML 형식의 보고서 기능
          • 원격에서 취약점을 점검하는 기능
        • COPS
          • 유닉스 플랫폼에서 동작하며 시스템 내부에 존재하는 취약점을 점검하는 도구
          • 취약한 패스워드
        • Nessus
          • 클라이언트-서버 구조로 클라이언트 취약점 점검
            • 취약점을 점검하고 결과를 조회할 수 있는 인터페이스 제공
            • nessus 데몬에 접속하여 대상 시스템에 대한 취약점 점검
          • 사용이 자유롭고 플러그인 업데이트 등 용이
            • 취약점 공개 시 빠르게 취약점 DB 업데이트
          • HTML 등 여러 형태로 결과 리포트
            • 리눅스 뿐만 아니라 유닉스, 윈도우 등 모든 OS 및 장비에 대한 취약점 정보 제공
            • TXT, HTML, PDF 등 다양한 포맷으로 저장
        • nmap — 포트 스캐닝 도구. TCP connect 방식뿐만 아니라 stealth 모드 포트 스캐닝 기능
    2. 무결성 점검
      1. 파일 무결성 점검(tripwire)
        • 개요
          • 파일 무결성 점검 도구 — 정상적인 상태의 디렉터리 및 파일 정보를 백업하고, 수행 시점에서의 정보와 백업한 정보를 비교하여 변경된 사항을 점검하는 도구
          • tripwire — 유닉스/리눅스 환경에서 파일시스템 무결성을 점검하는 대표적인 도구로 오픈소스 버전과 상용 버전 존재
          • MD5, SHA, CRC-32 등 다양한 해시 함수 지원
          • 파일에 대한 데이터베이스를 만들어, 이를 통해 공격자들에 의한 파일 변조 여부 판별
        • 특징
          • 컴퓨터 상의 시그니처 베이스를 찾아 파괴하려고 함 → 다른 장치에 시그니처 베이스를 저장하거나 복사본 저장
          • 데이터 파일은 자주 변경되어 데이터 파일의 시그니처는 자주 재계산되어야 함 → 어떤 파일 변환이 정상인지 모호해짐
    3. 스캔 탐지
      1. 스캔 탐지 도구
        • mscan — 메인 전체를 스캔하여 그 도메인 내에 있는 wingate, test-cgi, NFS exports, statd, named, ipopd 등 많이 이용되는 주요 취약점을 한 번에 스캔할 수 있는 해킹 도구
        • sscan — mscan을 업데이트하여 개발한 유닉스/윈도우 시스템에 대해 네트워크를 통해 취약점 점검을 수행할 수 있는 도구. 공격용으로 활용
        • portsentry
          • 실시간으로 포트 스캔을 탐지하기 대응하기 위한 프로그램
          • 정상적인 스캔과 stealth 스캔 탐지, 스캔 로그 남기기, 공격 호스트를 /etc/hosts.deny 파일에 기록하여 자동 방어, 공격 호스트를 경유하여 오는 모든 트래픽을 자동 재구성
      • 무결성 점검 도구
        • Fcheck — perl 스크립트로 제작
        • Samhain — HIDS 기반 동작
    4. 침입 탐지 및 방화벽
      1. 네트워크 모니터링 및 침입 탐지 도구
        • Snort
          • 실시간 트래픽 분석과 IP 네트워크에서의 패킷 처리를 담당하는 공개 소스 네트워크 IDS
          • 프로토콜 분석, 콘텐츠 검색 및 조합 작업
          • 버퍼 오버플로우, 은폐형 포트 스캔, CGI 공격, SMB 프로브, OS 핑거프린팅 시도 등 감지
            • SMB — 윈도우 환경에서 사용되는 파일/프린터 공유 ㅍ로토콜
          • 트래픽을 분석하여 모듈화된 탐지 엔진, 실시간 경고 기능 지원
      2. 방화벽
        • TCP-Wrapper
          • 네트워크 서비스에 관련한 트래픽을 제어하고 모니터링할 수 있는 UNIX 기반 방화벽 툴
          • 데몬을 구동하기 전에 접속을 허용한 시스템인지 여부를 확인하여 호스트명 및 서비스명을 로그에 남기고, 서비스 제공 여부 결정
        • IPchain/IPtable — 패킷 필터링 방화벽
      • ipfwadm — 리눅스 커널에서 IP 방화벽, 통계 분석 규칙을 설정, 유지, 감독하기 위한 도구
      • ipchains
        • 리눅스 커널 2.2 버전 이상에서 사용하는 방화벽
        • 커널에서 들어오고 나가는 패킷을 선택적으로 구별하는 필터링
        • 규칙을 정하고 자신만의 규칙에 맞게 조절 가능
  • prstat — 사용자가 어떤 프로세스들이 CPU 자원을 소모하는지 파악