[정보보안기사 PART 04] 시스템 보안 - 서버 보안 관리


Section 18 서버 보안 관리

 

1. 서버관리자의 업무

 

(1) 보안 유지 관리

1) 개요

 시스템을 적절하게 구축하여 보호하고 배치하였다면 지속적으로 보안 유지 관리를 해야한다. 왜냐하면 환경의 변화, 새로운 취약점의 발견, 새 위협에 대한 노출 때문이다.

- 로깅 정보를 감시하고 분석

- 정기적으로 백업을 수행

- 정기적으로 시스템 보안을 테스트한다.

 

2) 로깅

 이미 발생한 나쁜 일을 알려주기만 하는 반작용적 제어

 

(2) 서버관리자의 업무

1) 시스템관리자 계정으로 작업하기

 1. root 계정으로 로그인

 2. 일반 사용자로 로그인한 후 su(switch user) 명령을 이용해 root로 계정 바꿈

 

2) 사용자 계정 관리

 멀티태스킹의 특징을 가지고 있으므로 다중 사용자를 수용하여 작업을 수행

사용자마다 계정 생성하면 /etc/passwd 파일에 계정 및 패스워드 사용자 및 그룹 ID, 그리고 셸이 정의

- /etc/passwd 일반 사용자도 접근하여 파일 내용을 볼 수 있기 때문에 안전한 관리를 위해서 섀도 패스워드 시스템을 사용하여 /etc/shadow에 암호문으로 저장

- /etc/shadow 파일은 계정명, 암호화된 패스워드 등 9개의 필드로 되어있으며 일반사용자에게는 접근 권한이 없으므로 더욱더 안전

 

 계정 사용 제한

원격 접근권한 제거 : /etc/passwd 파일에서 /bin/bash과 같은 셸을 삭제

계정 사용기간 설정 : /etc/shadow 파일에서 사용기간 또는 만료일 설정

 

3) 자원 관리

- 프로세스 관리

   ps, kill, wait, su 등을 사용한 프로세스 관리

   wait : 프로세스가 끝나기를 기다리는 명령어

   nice : 프로세스의 우선순위를 변경할 수 있는 nice 값을 설정하는 명렁어

 

- 메모리 관리

   free : 시스템의 실제 메모리와 스왑 메모리에 대한 사용 현황을 확인할 수 있는 명령어

 

- 메일, 디스크 등의 자원 관리

   du : 디스크의 파일 사용량을 재귀적으로 보여줌

 

4) 네트워크 관리

 ifconfig, route, netstat, nslookup, ping, traceroute 등

 

 

 

2. 로그 설정과 관리

 

(1) 시스템 로그 분석

1) 로그에 대한 이해

 윈도우 - 이벤트(Event)라는 중앙 집중화된 로그 수집, 저장

 유닉스 - 로그를 여러 곳에 산발적으로 저장

 

2) 윈도우의 로그 분석과 설정

 - 해커에 대한 즉각적인 확인

 net session : 현재 로그인된 사용자 확인

 net session /delete : 세션 끊는 명령

 

 - 윈도우 시스템 이벤트 로그 종류

 응용 프로그램 로그, 보안 로그, 시스템 로그, 디렉터리 서비스 로그, 파일 복제 서비스 로그, DNS 서버 로그

 

 - 감사 정책

 개체 액세스 감사, 계정 관리 감사, 계정 로그인 이벤트 감사, 권한 사용 감사, 로그인 이벤트 감사, 디렉터리 서비스 액세스 감사, 정책 변경 감사, 프로세스 추적 감사, 시스템 이벤트 감사

 

 - 로그정책 설정

 - 이벤트 로그 파일

 

3) 유닉스/리눅스의 로그 분석과 설정

4) 유닉스/리눅스 시스템 로그 설정(/etc/syslog.conf)

5) 로그 관리

 

(2) 응용 프로그램 로그 관리

1) IIS 웹 서버 로그

 IIS(Internet Information Services)

 로그

날짜와 시간, 서버 IP, HTTP 접근 방법과 접근 URL, 서버 포트, 클라이언트 IP, 클라이언트이ㅡ 웹 브라우저, 실행 결과 코드, 서버에서 클라이언트로 전송한 데이터 크기, 클라이언트에서 서버로 전송한 데이터의 크기, 처리 소요 시간

 

2) Apache 웹 서버 로그

로그

클라이언트IP, 클라이언트 로그인명, 클라이언트 사용자명, 날짜와 시간, HTTP 접근 방법과 접근 URL, 실행 결과 코드, 서버에서 클라이언트로 전송한 데이터 크기, 클라이언트의 웹 브라우저

 

 

 

3. 공개 해킹도구에 대한 이해와 대응

 

(1) 크래킹 S/W

1) 크래킹의 개요

 악의적인 목적을 가지고 시스템에 침입하는 행위

 사용자의 ID, 패스워드를 찾는 도구로 활용되고 있는 데, 이 떄의 공격원리는 ID, 패스워드를 대입하여 맞는지, 틀리는지를 지속적으로 수행해보는 방법

 

2) 크래킹 S/W 사례

John the Ripper : 패스워드 점검도구로 가장 잘 알려진 프로그램

pwdump : 윈도우에서 패스워드를 덤프할 수 있는 도구

L0phtCrack : 패스워드 취약점 점검도구로 원격 및 로컬 서버나 PC에 대하여 패스워드 점검

ipccrack : 사용자 계정 패스워드를 원격지에서 추측하여 취약점을 점검

chntpw : 물리적 접근이 가능한 시스템에서 패스워드를 리셋시키는 프로그램

ERD Commander : 윈도우 시스템에서 패스워드를 복구해야 하는 경우

 

(2) 키로그 S/W

1) 개요

 설치된 컴퓨터에서 키보드로 입력한 정보를 로그로 남기는 프로그램

 

2) 키보드 해킹방지 프로그램

 사용자의 키보드 입력 자체를 보호하여 사용자가 입력하는 정보를 제 3자가 알아볼 수 없도록 해주는 프로그램

 

 

 

4. 서버보안용 S/W 설치 및 운영

 

(1) 취약점 분석 도구

1) 취약점 분석

일정한 보안 수준을 유지하기 위해서 정기적으로 수행해야 하며, 새로운 소프트웨어나 서비스가 추가되는 경우 혹은 새로운 장비를 구입하여 네트워크를 확장했을 경우에도 취약점 분석 실시

 

2) 취약점 분석 도구

- SATAN(Security Analysis Tool for Auditing Networks)

 해커와 똑같은 방식으로 시스템에 침입, 보안상의 약점을 찾아 보완할 수 있는 네트워크 분석용 보안 관리 도구

 해커에게 노출될 수 있는 약점을 사전에 발견, 이에 대한 보완 조치를 하도록 해주는 소프트웨어

 

- SARA

 SATAN이 업데이트가 되지 않는 상황에서 SATAN을 기반으로 개발된 취약점 분석도구로 네트워크 기반의 컴퓨터, 서버, 라우터 IDS에 대한 취약점 분석, 유닉스 플랫폼에서의 동작, HTML 형식의 보고서 기능이 있다.

 

- SAINT

 유닉스 플랫폼에서 동작하는 네트워크 취약점 분석도구로서 HTML 형식의 보고서 기능이 있다.

 원격에서 취약점을 점검하는 기능 있다.

 

- COPS

 유닉스 플랫폼에서 동작하며 시스템 내부에 존재하는 취약점을 점검하는 도구로서 취약한 패스워드를 체크한다.

 

- Nessus

 클라이언트-서버 구조로 클라이언트의 취약점을 점검하는 기능이 있다.

 사용이 자유롭고 플로그인 업데이트 등이 쉽다.

 HTML 등 여러 형태의 결과를 리포트 해준다.

 

- nmap

 포트스캐닝 도구로 TCP connect 방식뿐만 아니라 stealth 모드로 포트 스캐닝하는 기능을 포함한다.

 

3) 파일 무결성 점검(tripwire)

 정상적인 상태의 디렉터리 및 파일 정보를 백업하고 있다가 점검 수행 시점에서의 정보와 백업한 정보를 비교하여 변경된 사항을 점검하는 도구

 tripwire는 유닉스, 리눅스 환경에서 파일 시스템 무결성을 점검하는 대표적인 도구로 오픈소스 버전과 상용 버전이 있다.

 MD5, SHA, CRC-32 등의 다양한 해시 함수를 지원하고, 파일에 대한 데이터베이스를 만들어 이를 통해 공격자들에 의한 파일들의 변조여부를 판별한다.

 

(2) 스캔 탐지

1) 스캔 탐지 도구

 - mscan

 메인 전체를 스캔하여 그 도메인 내에 있는 wingate, test-cgi, NFS exports, statd, named, ipopd, imapd 등 최근 많이 이용되는 주요 취약점을 한 번에 스캔 할 수 있는 해킹 도구

 - sscan

 mscan을 업데이트하여 개발한 유닉스/윈도우 시스템에 대해 네트워크를 통하여 취약점 점검을 수해애할 수 있는 도구로 공격용으로도 많이 활용되고 있다.

 - portsentry

 실시간으로 포트 스캔을 탐지하고 대응하기 위한 프로그램으로 정상적인 스캔과 stealth 스캔을 탐지할 수 있으며, 스캔로그 남기기, 공격호스트를 /etc/hosts.deny 파일에 기록하여 자동 방어, 공격 호스트를 경유하여 오는 모든 트래픽을 자동 재구성하는 기능이 있다.

 

(3) 침입탐지 및 방화벽

1) 네트워크 모니터링 및 침입탐지 도구

 - snort

 실시간 트래픽분석과 IP 네트워크에서의 패킷 처리를 담당하는 공개 소스 네트워크 침입탐지시스템(IDS)이다.

 프로토콜 분석, 콘텐츠 검색 및 조합 작업을 할 수 있으며, 버퍼 오버플로우, 은폐형 포트 스캔, CGI 공격, SMB 프로브, OS 핑거프린팅 시도와 같은 다양한 공격을 감지할 수 있다.

 또한 유연한 언어 사용으로 트래픽을 분석하며 모듈화된 탐지 엔진을 지원하고 실시간 경고 기능도 지원

 

2) 방화벽

- TCP-Wrapper

 TCP-Wrapper는 네트워크 서비스에 관련한 트래픽을 제어하고 모니터링할 수 있는 UNIX 기반의 방화벽 툴이다.

 임의의 호스트가 서비스를 요청해 오면 실제 데몬을 구동하기 전에 접속을 허용한 시스템인지 여부를 확인하여 호스트명 및 서비스명을 로그에 남긴 다음, 허가된 시스템에는 서비스를 제공하고 허가되지 않은 경우에는 접속을 차단해 주는 도구

 

- IPchain/IPtable

 패킷 필터링 방화벽으로, 패킷 필터란 네트워크를 통과하는 모든 것이 패킷의 형태를 가지며, 패킷의 앞부분에는 패킷이 어디서 왔는지 어디로 향하는지, 어떤 프로토콜을 이용하는지 등과 같은 정보를 가지고 있다.

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

+ Recent posts