Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
공개용 보안 로그램을
활용한 취약성 검
2005. 5.
인 라보호단 / 보안 리
목 차
Ⅰ. 서 론 ...................................................................................................1
Ⅱ. nessus를 활용한 취약성 검..........................................................1
Ⅲ. SARA를 활용한 취약성 검........................................................14
1. SARA의 기능 특징................................................................14
Ⅳ nikto를 활용한 웹 취약성 검....................................................24
1. nikto의 기능 특징................................................................24
Ⅴ. nmap을 활용한 포트 검.............................................................31
1. nmap 의 기능 특징...............................................................31
Ⅵ. ethereal 을 이용한 악성 트래픽 분석.........................................37
1. ethereal 의 기능 특징............................................................37
Ⅶ. clamav를 이용한 바이러스 방지..................................................40
1. clamav 의 기능 특징............................................................40
Ⅷ. john the ripper을 이용한 패스워드 보안 검하기.................44
1. john the ripper 의 기능 특징..........................................44
Ⅸ. RC Firewall을 이용한 방화벽 구축하기....................................46
1. Rc.Firewall 의 기능 특징..................................................46
그림 목차
[그림 1] nessus홈페이지( http://www.nessus.org /)....2
[그림 2] installer 다운로드......................................................................2
[그림 3] sharutils 다운로드 설치.....................................................3
[그림 4] installer 실행 설치..............................................................3
[그림 5] nessus 설치 화면.......................................................................4
[그림 6] E-mail 주소 등록하기...............................................................4
[그림 7] 등록 후 키 확인.........................................................................4
[그림 8] 등록키 입력 ...............................................................................5
[그림 9] nessus user 생성.......................................................................5
[그림 10] nessusd 실행............................................................................7
[그림 11] Nessus 서버 설정하기..........................................................7
[그림 12] “Connect to Server"..............................................................8
[그림 13] 클라이언트 인증키 리 메뉴.............................................9
[그림 14] Nessus 서버와 연결 성공.....................................................9
[그림 15] 세션 정보 시작 메뉴...........................................................10
[그림 16] 신규 세션 생성하기...............................................................10
[그림 17] 정보 입력창............................................................................10
[그림 18] Execute 실행 화면................................................................11
[그림 19] 세션 실행 화면.......................................................................11
[그림 20] 취약성 검 화면...................................................................12
[그림 21] 취약성 검 결과...................................................................12
[그림 22] 결과를 html 형식으로 장................................................13
[그림 23] SARA 홈페이지 ....................................................................14
[그림 24] SARA 다운로드 압축 풀기............................................15
[그림 25] 컴 일 인스톨하기...........................................................15
[그림 26] 설치 후 sara 디 토리 .......................................................16
[그림 27] 로그인 유 /암호 생성........................................................17
[그림 28] 데몬 모드로 실행 .................................................................17
[그림 29] SARA 인증 확인 화면..........................................................18
[그림 30] SARA의 리자 화면............................................................18
[그림 31]“Data Management” 화면.....................................................19
[그림 32] 신규 Data 생성......................................................................19
[그림 33] 생성된 Data 화면..................................................................20
[그림 34] "Configuratiob Management" 메뉴 화면.........................20
[그림 35] 취약 검 상 입력.........................................................21
[그림 36] 취약 검 벨 설정.........................................................21
[그림 37] 방화벽 설정.............................................................................22
[그림 38] 취약 정보 수집 화면.........................................................22
[그림 39] 검 완료 화면.......................................................................22
[그림 40] “Data Analysis" 메뉴 화면.................................................23
[그림 41] "SARA ReportWriter"를 이용한 보고서 생성.................23
[그림 42] 취약 결과 보고서 생성 화면..........................................24
[그림 43] 취약 결과 보고서 생성 화면..........................................24
[그림 44] nikto 홈페이지........................................................................26
[그림 45] nikto 다운로드 압축해제...............................................26
[그림 46] nikto 스캔시 웹서버 로그....................................................27
[그림 47] findonly 옵션 사용................................................................27
[그림 48] 스캔 결과 화면 .....................................................................28
[그림 49] -host 옵션을 이용한 다수의 시스템 검........................29
[그림 50] -host 옵션을 이용한 다수의 시스템 검........................30
[그림 51] 다운로드 압축해제...........................................................32
[그림 52] nmap 설정 컴 일..........................................................33
[그림 53] nmap 스캔 결과 ..................................................................33
[그림 54] udp nmap 스캔 결과...........................................................34
[그림 55] ping nmap 스캔 결과..........................................................34
[그림 56] OS fingerprinting 스캔 결과..............................................35
[그림 57] 역스캔 결과 (nmap -sS -O 11.4.8.0/24).......................36
[그림 58] nmapfe실행화면 험한포트는 붉은색으로 표시된다...37
[그림 59] 다운로드 압축해제 (libpcap).........................................38
[그림 60] 다운로드 압축해제 (ethereal)........................................39
[그림 61] clamav 일 다운로드 압축 풀기................................41
[그림 62] configure 실행........................................................................42
[그림 63] /etc/clamd.conf 일 수정.................................................43
[그림 64] clamscan 테스트.....................................................................43
[그림 65] 자동 업데이트 로그 일 생성...........................................43
[그림 66] freshclam 실행 확인.......................................................44
[그림 67] 일 다운로드 .......................................................................45
[그림 68] 압축 푼후 디 로리 확인.....................................................45
[그림 69] 설치 옵션확인.........................................................................46
[그림 70] 설치 확인.................................................................................46
[그림 71] john the ripper 사용법........................................................46
[그림 72] 일 다운로드 압축해제.................................................47
[그림 73] 압축 푼후 디 로리 확인.....................................................47
[그림 74] Rc.Firewall 설치하기.............................................................48
[그림 75] Rc.Firewall 실행하기.............................................................48
- 1 -
Ⅰ. 서론
인터넷에는 오 소스로 개발되어 자유롭게 이용이 가능한 보안 로그램들이 많이
공개되어 있다. 물론 일반 으로 이러한 로그램들이 상용 장비나 솔루션에 비해
인터페이스나 기능 등이 다양하지는 않다는 단 이 있다. 그 다고 해서 오 소스
로 제공되는 솔루션이 모두 조잡하거나 신뢰성이 떨어지는 것은 아니다. 어떤 로
그램의 경우 심지어는 상용 솔루션보다 더욱 빠르고 우수한 성능을 내는 경우도 있
고, 특히 최근에는 개인이 아닌 개발자 커뮤니티를 통한 로젝트 형식으로 진행되
면서 상용 이상의 성능과 기능을 제공하는 경우도 있다. 여기에서는 이러한 많은
로그램 여러 환경에서도 사용이 가능한 표 인 오 소스 로그램의 활용
방안에 해 알아보도록 하겠다. 굳이 상용 솔루션에 의존하지 않고 이러한 보안
로그램을 잘만 이용해도 기 이상의 효과를 기 할 수 있을 것이다.
Ⅱ. nessus를 활용한 취약성 검
첫 번째 소개하고자 하는 로그램은 한번쯤 이름을 들어보았을 nessus 라는 로
그램이다. nessus 는 원격지에서 다양한 방법을 통해 시스템이나 네트워크의 알려
진 취약성에 한 검을 수행하며 이 결과 역시 취약성의 내용과 해결 방법 등에
한 직 인 인터페이스를 제공한다.
nessus 의 홈페이지는 http://www.nessus.org/ 이며 다음과 같은 특징이 있다.
* 서버/클라이언트 구조로 작동한다.
nessus 는 서버/클라이언트 구조로 작동하는데, 서버에는 nessus 데몬과 각종 취
약성 검 러그인등이 설치되며 클라이언트는 단순히 서버에 속하여 취약성을
검하고 결과를 볼 수 있는 인터페이스를 제공한다. 데몬은 MAX OS X 나 IBM
AIX에도 설치될 수 있으나 리 스등 유닉스 계열에 설치하는 것이 좋다. 그리고 클
라이언트는 Windows 유닉스에 설치될 수 있는데, 여기에서는 Windows 에 설
치하여 알아보도록 하겠다.
* 사용이 자유롭고 러그인 업데이트 등이 쉽다.
클라이언트에서 GUI 형태로 모든 취약성 검 설정과 아울러 그 결과를 알 수
있어 보자도 쉽게 사용이 가능하다.
* HTML 등 여러 형태로 결과를 리포트 해 다.
리 스 뿐만 아니라 유닉스,Windows 라우터 등 모든 OS 장비에 한 취
- 2 -
약성 정보를 제공하며 취약성 검 결과는 txt 나 html 는 pdf 등의 형식으로 자
유롭게 장할 수 있다.
[그림 1] nessus 홈페이지(http://www.nessus.org/)
STEP 1. 다운로드 설치하기
nessus 는 서버 클라이언트 구조로 작동하므로 서버 로그램과 클라이언트 로그
램을 각각 설치하여야 한다. 홈페이지에 속 후 DOWNLOAD를 클릭하여 nessus
installer를 선택하면 된다.
[그림 2] installer 다운로드
installer 디 토리에 있는 installer.sh 를 다운로드하여 실행하면 된다. 시스템에 따
라 "sharutil" 패키지가 설치되지 않아 오류나는 경우가 있는데, 이런 경우가 발생하
- 3 -
면, 패키지를 다운받아 설치하도록 하자.
[그림 3] sharutils 다운로드 설치
설치 후 nessus-installer.sh를 실행하면 설치가 될 것이다. GTK+ 패키지도 필요하므
로 설치하도록 하자. 필요한 최신 패키지들을 설치하 다면, 이제 nessus를 설치하
도록 하자.
[그림 4] installer 실행 설치
와 같이 실행하면 자동으로 설치를 시작하게 된다.
- 4 -
[그림 6 ] E-mail 주소 등록하기 [그림 7 ] 등록 후 키 확인
[그림 5] nessus 설치 화면
설치과정에서 plugin을 수시로 업데이트 하기 해서는 nessus 홈페이지
(http://www.nessus.org/plugins/index.php?view=register)에서 e-mail을 등록 후
메일로 받은 등록키를 입력하여야 한다.
- 5 -
[그림 8 ] 등록키 입력
이후 엔터를 입력하면 설치가 완료된다.
STEP 2. nessus 와 nessusd 옵션 설정 실행하기
이 게 해서 설치를 끝낸 후에는 nessus 데몬에 속할 유 /암호를 설정할 차례이
다. 이는 다음에 설치할 Windows 클라이언트에서 nessus 데몬에 속할 때 필요하
다.
[그림 9 ] nessus user 생성
유 를 생성한 후 nessus-mkcert를 이용하여 SSL 키를 생성하도록하자.
/usr/local/sbin/nessus-mkcert
- 6 -
와 같이 실행하면 아래와 같이 SSL 인증을 한 키를 생성하는 화면이 나온다.
당한 값을 입력하자.
SSL 인증 키가 완성되면 아래와 같이 키 치에 한 정보를 확인할 수 있다.
- 7 -
다음으로 취약성 db를 매일 자동으로 업데이트하도록 아래와 같이 실행하고 이를
cron 에 설정하도록 한다.
# /usr/local/sbin/nessus-update-plugins
이제는 nessus 데몬을 띄우도록 한다.
[그림 10 ] nessusd 실행
netstat -lnp 로 확인해 보면 nessusd 는 tcp 1241번에서 listen하고 있는 것을 알 수
있다.
STEP 3. nessus 클라이언트 설치 설정하기
클라이언트 로그램은 http://nessuswx.nessus.org/에서 최신버 을 다운로드 받아
도우즈 PC에 설치하면 된다. 필요한 일을 다운받아 설치해보자.
설치 후 Nessus가 설치되어 있는 서버 정보를 입력해야 한다. 상단 메뉴의
"Communications“를 클릭하여 "Connect"를 르거나, 단축키인 "F4"를 클릭하거나,
아래와 같이 아이콘을 클릭해도 된다.
[그림 11 ] Nessus 서버 설정하기
“서버 설정하기(Connect to Server)”를 선택하면 아래와 같은 화면을 확인할수 있
다.
- 8 -
① 압축 풀기
다운 받은 파일을 압축을 풀면 위와 같은 파일들이 나타난다.
② 클라이언트 실행
: “NessusWX"를
더블클릭한다.
->“Settings"창이
나오면 NessusDB
디렉토리를
설정하고,
확인을 클릭
(기본값 권장)
[그림 12 ] “Connect to Server" 정보 입력하기
Nessus를 설치하여 운 하고 있는 서버에 한 정보를 입력하고, 생성한 유 정보
를 입력 등 자신의 환경에 맞게 정보를 입력하여 "Connect" 버튼을 클릭하여
Nessus 서버에 연결을 하도록 하자.
- 9 -
[그림 13 ] 클라이언트 인증키 리 메뉴
처음 연결한다면 와 같이 인증키 메뉴가 나오며, “Accept & Save"를 클릭하도록
하자. 클릭을 하면 서버로의 연결을 시도하며, 상태창에 아래와 같이 plugin loaded
된 것을 확인할 수 있다.
[그림 14 ] Nessus 서버와 연결 성공
STEP 4. Nessus 클라이언트를 이용한 취약 검하기
서버와 연결이 끝난 후 이제 검을 하기 해 검 상을 등록하여, 취약 을
검하는 법을 알아보도록 하자. 메뉴는 사용하기에 별로 어려움이 없으므로, 다음과
같은 순서로 검을 해보도록 하자.
먼 , Session -> New를 클릭하여 검하고자 하는 서버의 정보를 입력한다.(이하
Session 정보 함)
- 10 -
[그림 15 ] 세션 정보 시작 메뉴
[그림 16] 신규 세션 생성하기
임의의 이름을 입력하면 아래와 같이 입력창이 나오는데, 먼 Targets 에는 취약성
검을 수행할 ip 는 ip 역을 지정하도록 한다. Add를 클릭하여 ip를 입력하면
된다.
[그림 17 ] 정보 입력창
- 11 -
와 같이 설정 후 확인을 선택하고 해당 세션 아이콘을 더블클릭하거나, 오른쪽마
우스를 클릭하고 “Execute”를 실행하자.
[그림 18] Execute 실행 화면
검을 실행하기 해 “Execute"를 선택하면 아래와 같은 화면을 볼 수 있는데, 기
본값으로 선택해도 무방하다. ”Execute"를 클릭해주도록 하자.
[그림 19] 세션 실행 화면
이후 아래 그림과 같이 취약성 검을 시작한다.
- 12 -
[그림 20] 취약성 검 화면
Close를 한 후 view를 클릭하면 취약성 검 결과를 바로 확인할 수 있으며 Report
를 클릭하면 취약성 결과를 다양한 방식으로 장할 수 있다.
[그림 21] 취약성 검 결과
취약성의 수 에 따라 다른색으로 보여지고 해당 경고창을 클릭하면 우측에 상세한
정보가 보여지게 된다. 그림의 경우 161/udp을 사용하는 snmp에서 public 이라
는 문자열을 사용하기 때문에 보안 경고가 뜬 것을 알 수 있다.
- 13 -
한 취약성 검 결과를 특정한 일로 장하도록 할 수 있는데, 아래는 html 로
장하여 라우 로 본 결과이다.
[그림 22] 결과를 html 형식으로 장
- 14 -
Ⅲ. SARA를 활용한 취약성 검
앞에서 살펴보았던 nessus 외에도 취약성 검 로그램은 많은 종류가 있다. 물론
nessus 와 같이 다양한 기능과 화려한 인터페이스를 제공하지는 않지만 각각의 장
단 이 있으므로 극도의 보안을 해서는 어떤 하나의 솔루션에만 의존하지 말고
다양한 로그램을 이용하는 것도 좋은 방법이다. 그 에서 SARA 라는 로그램
에 하여 간단히 알아보도록 하자.
1. SARA의 기능 특징
SARA 라는 로그램은 Security Auditor's Research Assistant 의 약자로서 한때 유
명했던 로그램 하나인 SATAN(Security Administrator's Tool for Analyzing
Networks )이라는 로그램을 응용하여 개발한 것이다. 처음에 SATAN 이 공개되
었을 때는 그 이름만큼 많은 반향을 일으켰지만 이후 업데이트 등이 제 로 이루어
지지 않아 재는 역사속의 로그램으로만 기억되고 있다.
[그림 23] SARA 홈페이지
SARA 의 홈페이지는 http://www-arc.com/sara/ 이며 다음과 같은 기능과 특징을
가지고 있다.
① 리 스 등 부분의 유닉스 계열에서 작동한다.
② 방화벽이 설치된 환경에서도 잘 작동한다.
③ 러그인 형태를 제공하며 다른 로그램보다 빠르다.
④ 취약성 정보에 해서는 CVE 정보를 지원한다.
⑤ 데몬 모드를 지원하여 원격에서 웹 기반으로 속하여 리할 수 있다.
- 15 -
⑥ 취약성 결과에 해서는 서비스별, 취약성별 등 여러 기 으로 구분하여 조회할
수 있으며 HTML 이나 XML 등의 형식으로 리포트가 작성된다.
STEP 1. 다운로드 설치하기
먼 SARA의 홈페이지인 http://www-arc.com/sara/에 속하여 우측 하단의 링
크를 클릭하여 최신 버 의 소스 일을 다운로드 하도록 한다.
http://www-arc.com/sara/downloads/에서 다운로드 해도 된다.
[그림 24] SARA 다운로드 압축 풀기
압축을 풀고, 컴 일 인스톨을 하도록 하자.
[그림 25] 컴 일 인스톨하기
잠시 후 /usr/local/sara 디 토리를 보면 련 일들이 설치된 것을 확인할 수 있
다. 설치 사용을 해 시스템에 있는 다른 패키지의 버 이 맞지 않아 설치가
잘 되지 않는 경우가 매우 높다. 설치 시 자신의 시스템에 설치되어 있는 패키지와
sara의 패키지에 충돌 여부를 확인하여 설치하도록 하자.
STEP 2. SARA 설정 사용하기
여기에서는 리 스 서버에 SARA 를 데몬 모드로 구동하고 원격지에서 라우 로
속하여 리하는 방법에 해 살펴보도록 하자. 서버의 /usr/local/sara 디 토리
- 16 -
로 이동하면 sara 실행 일이 있고 config/ 디 토리 이하에 있는 주 설정 일인
sara.cf를 수정하면 된다.
<참고> 비교 설치가 쉬운 버
재 SARA의 최신 버 은 6.0.1이지만, 비교 설치시 충돌이 은 버 은 5.4 버 이다.
(다운로드 : http://packetstormsecurity.org/UNIX/audit/sara/sara-5.4.0.tgz) 한, 설치
TEXT 라우 인 lynx가 설치를 하길 권한다. 이는 SARA에서 인식하는 라우져
하나인 lynx를 설치함으로서 차후 취약 검시 웹 라우 로 근하지 않고, telnet
는 ssh를 통해 설치된 시스템에 근하여 lynx를 이용한 취약 검이 손쉽게 이루어 질
수 있다. lynx를 설치하지 않아도 SARA 설치 사용에는 별 문제는 없다.
[그림 26] 설치 후 sara 디 토리
설정 일에서는 특별히 수정할 부분은 없고, 아래 부분만 당히 설정해 주면된다.
먼 $allowable_hosts 부분에 원격지에서 리할 IP 주소를 아래와 같이 추가하도
록 한다.
$allowable_hosts = "192.168.0, 127.0.0.1, 221.1.2.3";
다음은 SARA 가 데몬 모드로 작동시 사용할 포트번호를 지정하도록 한다. 기본값
은 666 이다.
$daemon_port = "666";
다음은 원격지에서 속한 유 가 외부 네트워크에 한 스캔을 할 수 있도록 허용
할 것인지 지정하는 부분이다. 1 로 설정하도록 한다.
$allow_scan = 1;
- 17 -
sara.cf 설정이 끝났으면, 이제 SARA를 사용하기 해 user를 생성하도록 하자. 아
래와 같이 ./add_user를 실행하여 666 번으로 http 속시 인증할 사용자 이름과
암호를 설정하도록 한다.
[그림 27] 로그인 유 /암호 생성
이후 아래와 같이 ./sara -D를 실행하여 데몬을 실행하도록 한다.
[그림 28] 데몬 모드로 실행
해당 서버의 666 포트로 웹 속을 하면 아이디/암호를 묻는 창이 나타난다.
- 18 -
[그림 29] SARA 인증 확인 화면
앞에서 등록한 정보를 입력하면 아래와 같은 리자 화면이 뜨게 된다.
[그림 30] SARA의 리자 화면
SARA의 웹 인터페이스가 다소 조잡하기는 하다. 여기에서 좌측의 메뉴를 클릭하면
되는데, 이때 메뉴이름이 아니라 앞에 있는 아이콘을 클릭 하도록 하자.
- 19 -
[그림 31]“Data Management” 화면
SARA의 "Data Management" 메뉴는 SARA를 이용한 검 결과 Data를 리하기
한 메뉴이다. 기본값으로 사용하도록 하자. 만약 결과를 따로 보 하고 싶을 때에
에는 “Open or create"을 클릭하여 생성할 수 있다.
[그림 32] 신규 Data 생성
- 20 -
[그림 33] 생성된 Data 화면
생성된 결과 폴더는 /usr/local/sara/result/ 아래에 존재한다.
[그림 34] "Configuratiob Management" 메뉴 화면
SARA의 기본 인 설정 리 메뉴이다. 기본값을 사용하거나, 자신의 환경에 맞게
설정을 변경해도 무방하다. 여기서는 기본 값으로 설정하여 사용해보도록 하겠다.
이상과 같이 설정이 끝났으며, 이제 취약 스캔을 해보도록 하자.
- 21 -
<예제> myhost.local.com
myhost1.local.com myhost2.local.com
192.168.0.0/23 (C class 2개)
192.168.0.55-192.168.0.98 ( ip 범 스캔)
[그림 35] 취약 검 상 입력
먼 취약 을 검하기 해 상을 입력을 하도록 하자. “Target Selection" 메뉴
를 클릭하면 와 같이 상을 입력하는 창을 확인 할 수 있다. 검을 수행할 ip
나 호스트명을 입력하면 된다. 형식은 아래와 같이 단일한 호스트 는 복수 호스
트 형식도 가능하며 class 는 IP 역 모두 작동된다.
[그림 36] 취약 검 벨 설정
검 상을 입력한 후, 와 같이 검 벨을 설정할 수 있다. 일반 으로 기본값
은 “Heavy"이다. 자신이 원하는 벨을 선택하도록 하자.
- 22 -
[그림 38] 취약 정보 수집 화면 [그림 39] 검 완료 화면
[그림 37] 방화벽 설정
검 상에 방화벽의 존재 여부를 확인하는 화면이다. 환경에 맞게 설정한 후
“Start the scan" 버튼을 클릭하도록 하자.
검을 시작하면 의 그림(좌)과 같이 취약 내용을 수집하는 화면을 확인할 수
있다. 취약 검이 완료되면, 의 그림(우)과 같이 완료 화면을 확인할 수 있다.
“Comtinue with report and analysis"를 클릭하여 결과를 분석해보도록 하자. 메인
메뉴의 ”Data Analysis“ 버튼을 클릭하여 분석하여도 된다.
- 23 -
[그림 40] “Data Analysis" 메뉴 화면
“Data Analysis" 메뉴를 클릭한 후 자신이 원하는 형태의 결과를 확인하도록 하자.
여기서는 보고서 형태인 ”SARA ReportWriter" 메뉴를 사용하도록 하겠다.
[그림 41] "SARA ReportWriter"를 이용한 보고서 생성
보고서를 생성하기 해 의 그림과 같이 리포터 생성을 클릭하도록 하자. 기본값
을 사용해도 무방하며, HTML이외에도 XML과 CSV 일을 생성할 수 있다.
- 24 -
[그림 42] 취약 결과 보고서 생성 화면
보고서를 생성하면 와 같이 취약 에 한 결과를 도표를 이용하여 보기 쉽게 나
타내어 주며, 아래와 같이 상세 내용이 포함되어 있다.
[그림 43] 취약 결과 보고서 생성 화면
이상으로 SARA를 이용한 취약 을 스캔하는 법을 알아보았다. 리하는 시스템에
해 다양한 취약 을 확인하기 해 테스트 후 사용해 보도록 하자.
- 25 -
Ⅳ. nikto를 활용한 웹 취약성 검
최근 소 웹 해킹이 차 으로 늘면서 웹 보안에 한 인식이 확산되고 있다. 웹
해킹은 웹을 통해 속하여 모든 해킹 시도를 진행하는 것으로 방화벽이 설치되어
있는 환경에서도 이용이 가능하고 굳이 별도의 툴이 없이 단지 라우 를 통해서
도 다양한 해킹을 할 수 있다는 에서 수법이나 기법이 다양해지고 있다. 이러한
웹해킹에 응하기 해 웹 서버나 웹 기반의 응용 로그램의 취약성을 검할 수
있는 표 인 로그램으로 nikto를 활용해 보기로 하자.
1. nikto의 기능 특징
nikto는 사용하기 편리하고 단순하면서도 강력한 기능을 제공하기 때문에 사용자층
도 계속 으로 늘고 있는 상황이다. 특히나 웹 해킹이 화되면서 더욱 그 요
성이 커지고 있는데, nikto 는 웹 서버 설치시 기본 으로 설치되는 일과 웹 서버
의 종류와 버 등을 스캔하며 특히 취약한 CGI 일의 스캔 기능이 강력하다. 여
기에서는 이러한 nikto 의 기능 특징에 해 알아보도록 하자.
① nikto 는 취약하다고 알려진 3100여개의 방 한 cgi 등의 일에 한 정보를 가
지고 있으며 625개가 넘는 서버에 한 버 정보를 가지고 있다.
nikto 는 잘못 설정된 부분(misconfigurations) 이나 웹서버 설치시 기본 으로 설치
되는 일이나 스크립트의 존재 유무, 안 하지 못한 일이나 스크립트의 유무, 오
래되어 취약성을 가지고 있는 로그램의 유무등을 검색해 다.
② 취약성 db 는 수시로 업데이트되며 원격지에서도 쉽게 업데이트가 가능하다.
③ 모든 데이터베이스 포맷은 CSV 형식을 따른다.
④ 취약성 검 결과는 html 이나 txt, csv 등으로 장 가능하다.
⑤ nikto 의 홈페이지는 http://www.cirt.net/code/nikto.shtml이며 홈페이지에서
소스를 다운로드 받을 수 있다.
- 26 -
[그림 44] nikto 홈페이지
STEP 1. 다운로드 설치하기
nikto 의 홈페이지에서 소스 일을 다운로드 하도록 한다. 소스 일을 다운로드
후 압축해제하면 된다. 따로 컴 일 없이 바로 사용이 가능하다.
[그림 45] nikto 다운로드 압축해제
STEP 2. nikto 사용하기
nikto 는 perl 로 되어 있기 때문에 별도로 컴 일 과정은 필요하지 않고 바로 사용
할 수 있다. 사용 형식은 아래와 같다.
./nikto.pl [-h 스캐닝할 상] [옵션]
그리고 많은 옵션을 제공하는데 각각에 해 제와 함께 알아보도록 하자.
- 27 -
일반옵션
--Cgidirs
이 옵션을 사용하면 스캔을 진행할 cgi 디 토리를 지정할 수 있다. all 로 지정하면
모든 cgi 디 토리를 스캔한다. 아래는 스캔 제이다.
# ./nikto.pl --Cgidirs all -h test.nikto.com
이때 웹서버의 access_log를 보면 아래와 같이 보이게 된다.
[그림 46] nikto 스캔시 웹서버 로그
-generic
스캔시 웹 서버나 웹 어 리 이션 정보와는 계없이 스캔을 진행하도록 한다.
-findonly
웹 서버가 사용하는 웹 포트를 스캔하기 한 옵션이다. 이를테면, 80번이 아닌 다
른 포트에서 웹 서비스를 하는 포트를 찾을 경우에 사용된다.
[그림 47] findonly 옵션 사용
- 28 -
-Format
스캔 결과를 일로 장하고자 할 때 어떤 형식으로 남길지 지정한다.
기본 옵션은 txt 로 장되나 HTM, TXT, CSV 등을 지정할 수 있으며 이때
-output 과 함께 사용하여 장될 일명도 지정하여야 한다. 아래는 스캔 제로서
htm 형식으로 장하며 장 결과는 result.html 로 남도록 하 다.
# ./nikto.pl -Format htm -output result.html -h test.nikto.com
아래는 이때의 스캔 결과 html 일을 라우 로 읽은 화면이다.
[그림 48] 스캔 결과 화면
-id
만약 해당 웹서버가 HTTP Authentication 으로 보호되고 있을때 id/pw 로 인증할
필요가 있는데, 이때 사용될 수 있다.
형식은 userid:password 이다.
-update
룰 등을 업데이트할 때 필요하다. 웹을 통해 자동으로 다운로드 받아 업데이트하게
된다. 아래는 실행 이다.
# ./nikto.pl -update
- 29 -
-host
검할 호스트를 선택한다. 만약 검하고자 하는 서버 는 도메인이 여러 개인
경우 검하고자 하는 리스트를 일로 만들어서 일 스캔할 수도 있다. 이를테면
아래와 같이 스캔하고자 하는 목록을 한 에 하나씩 list.txt 에 장한 후 아래와
같이 실행하면 순서 로 실행하게 된다.
[그림 49] -host 옵션을 이용한 다수의 시스템 검
[그림 50] -host 옵션을 이용한 다수의 시스템 검
- 30 -
list.txt 일의 상 시스템들을 순차 으로 검하는 것을 의 그림과 같이 확인
할 수 있다.
- 31 -
옵션 설명
1 IDS-회피 모드 1 (URL 방식)
2 IDS-회피 모드 2 (/./ 디 토리 삽입)
3 IDS-회피 모드 3 (때이른 url 끝내기)
4 IDS-회피모드 4 (긴 URL)
5 IDS-회피모드 5 ( 라미터 조작)
6 IDS-회피모드 6 (TAB 키 쓰기)
7 IDS-회피모드 7 ( 소문자 구별)
8 IDS-회피모드 8 (디 토리 구분 문자로 \ 이용)
9 IDS-회피모드 9 (session splicing 기법 이용(속도가 느림))
옵션 설명
1 루트 디 토리에 모든 일들을 검사한다.
2 패스워드 일의 이름을 추측한다.
3 사용자 이름을 유추한다(http://URL/~user)아 치서버에서 가능하다.
4 사용자 이름을 유추한다(/cgi-bin/cgiwrap/~user)cgiwrap에서 가능
<참고> nikto 상세 옵션
-cookies
발견한 쿠키값을 출력한다.
-port
검할 포트를 지정한다(기본값은 80)
-nplookup
DNS 쿼리를 생략한다.
-output
스캔한 결과를 지정한 이름으로 장한다
-root
스캔할 디 토리를 지정한다.
IDS 검 옵션
-evasion
IDS 회피모드를 사용한다. 총 9가지 형태를 지원하며 whisker에서 사용되는 모드와 유사
하다.
변형 옵션
-mutate
일반 스캐 에서 제공하지 않는 변형된 검모드
- 32 -
Ⅴ. nmap을 활용한 포트 검
앞에서 살펴보았던 취약성 검 로그램인 nessus는 트스캔을 하기 해 자체
인 로그램을 이용하기도 하지만 nmap을 러그인으로 하여 사용하기도 한다.
nmap은 가장 표 인 포트 는 ip 스캔 로그램으로 이를 활용하여 여러 가지
용도로 활용할 수 있다. 일반 으로 ‘스캔’ 은 악의 인 행 이기는 하지만 자신의
시스템이나 네트워크를 리하고 모니터링하기 한 용도로 사용된다면 훌륭한 보
안 솔루션이 될 수 있을 것이다.
특히 자신의 시스템이나 네트워크에 한 스캔을 통해 자신이 리하는 서버가 자
신이 알지 못하는 다른 포트가 열려 있지는 않은지 등을 확인할 수 있을 것이다.
.
1. nmap 의 기능 특징
nmap 의 홈페이지는 http://www.insecure.org/nmap/ 이며 홈페이지에서 소스를
다운로드 받을 수 있다. 지 부터 알아보려는 nmap 은 다음과 같은 기능 특징
을 가지고 있다.
① nmap 은 포트에 한 기본지식만 있으면 보자도 쉽게 이용가능하다.
② nmap 은 한 호스트뿐만 아니라 네트워크 주소값을 입력하면 ip 역에 한
스캔도 가능하다. 이를테면 자신의 네트워크에서 25/tcp를 Listen하고 있는
시스템을 쉽게 찾을 수 있을 것이다.
③ 다른 종류의 로그램에 비해 스캔 속도가 빠르다.
④ tcp 뿐만 아니라 udp 에 한 스캔도 제공하며 최근 버 에서는 OS를
분별하는 기능과 데몬의 버 정보도 스캔한다.
STEP 1. 다운로드 설치방법
nmap 홈페이지에서 최신버 을 다운로드하여 설치하면 된다.
[그림 51] 다운로드 압축해제
- 33 -
이후 아래와 같이 압축 해제한 디 토리로 이동하여 설정하고 컴 일하면 된다.
[그림 52] nmap 설정 컴 일
컴 일 완료후 nmap 실행 일은 /usr/local/bin 디 토리에 nmap 일로 장된
다.
STEP 2. nmap 사용하기
nmap 이 제공하는 기능과 옵션은 매우 다양하다. 간단히 아무런 옵션 없이 nmap
만을 실행하면 제공하는 옵션을 보여주는데, nmap 의 기본 형식은 아래와 같다.
nmap [스캔타입] [옵션] < 상 목 지 호스트나 네트워크>
# 스캔타입
많은 스캔타입이 있는데 가장 많이 사용되는 몇 가지만 살펴보자.
-sS : TCP SYN 스탤스 포트 스캔 방식으로서 3-way-handshake를 형성하지 않기
때문에 half-open 스캔이라고 하기도 한다. 스캔하고자 하는 목 지 포트로 SYN 패
킷을 발송한 후 목 지로부터 SYN|ACK 패킷을 받으면 포트가 리슨한다고 단하
고, RST 패킷을 받으면 리슨하지 않는다고 단한다. 만약 SYN|ACK 패킷을 받으
면 RST 패킷을 보내어 스캔이 로그에 남지 않도록 한다.
-sT : TCP connect() 포트스캔으로 connect() 함수를 이용하여 connect()가 성공하
면 해당 포트는 리슨 상태이고 실패하면 포트는 리슨하지 않는 것으로 단한다.
이 방법은 가장 기본 인 tcp 스캔 형태로서 root 뿐만이 아니라 일반유 들도 사용
할 수 있으며, 3-way-handshake를 형성하므로 스캔시 로그가 남게 된다.
[그림 53] nmap 스캔 결과
- 34 -
-sU : UDP 포트 스캔방식으로서 이는 어떠한 UDP 포트가 열려있는지 스캔하고
자 할 때 사용된다. 이 방법은 각각의 포트에 UDP 패킷을 보낸후 만약 ICMP
port unreachable 메시지를 수신하면 해당 포트는 닫 있는 것이고 그 지 않으면
포트는 열려 있는 것이라고 단하는 것이다.
[그림 54] udp nmap 스캔 결과
-sP :ping 스캔방식으로 해당 네트워크에서 어떠한 호스트가 살아 있는지를 알고
싶을 때 주로 사용한다. 이 옵션을 사용할 경우 nmap은 지정한 네트워크의 모든
IP 주소로 ICMP echo request 패킷을 발송한 후 응답이 오면 해당 호스트가 네트
워크에 연결되어 있다고 단한다.
[그림 55] ping nmap 스캔 결과
-sF,-sX,-sN : 스탤스 FIN, Xmas, Null 스캔 방식으로서 SYN 패킷을 차단한 구형
방화벽을 통과하거나 스캐닝을 탐지하는 로그램들이 인식하지 못하도록 할 수 있
다. FIN 패킷을 발송하여 RST 패킷이 응답하면 해당 포트는 닫 있는 것이고, 그
지 않고 아무런 응답이 없으면 이 포트는 열린 것으로 단한다.
# 스캔 옵션
다음으로 스캔 옵션에 해 알아보자.
- 35 -
-O : TCP/IP fingerprinting기법1)을 이용하여 원격지의 운 체제를 별한다.
아래의 경우 해당 시스템의 OS 버 정보뿐만 아니라 uptime 시각도 보여 다.
[그림 56] OS fingerprinting 스캔 결과
-p <포트범 >: 스캔할 포트를 지정한다.
포트범 ) '1-1024,1080,6666,31337'
와 같은 경우 1번부터 1024까지의 포트와 1080,6666,31337 포트를 스캔한다.
-F : /usr/local/share/nmap/nmap-services 일에 정의되어 있는 포트 스캔한다.
-v : 상세한 정보를 보여 다.
-P0 : ICMP echo requests를 차단한 방화벽등을 스캔할 때 사용한다.
기본 으로 nmap을 실행하면 상 호스트로 ping을 보내어 응답이 오지 않으면 다
운되었다고 단하여 스캔을 지하는데, 만약 ping을 차단한 곳이라면 이처럼 -P0
옵션을 주어 스캔하면 된다.
* 스캐닝 결과의 의미
nmap 으로 스캔을 하면 호스트의 포트에 한 서비스 이름과 포트번호, 상태
(state) 그리고 로토콜 등을 보여 다. 스캔의 상태인 state는 'open' 이나 'filtered'
는 'unfiltered'로 정의되는데, Open은 해당 포트가 열려있음을 의미한다. 한
Filtered는 호스트 앞단의 방화벽이나 라우터 등에서 포트가 필터링되는 상태이거나,
포트가 열려있는지에 해 알 수 없다는 것을 뜻한다.
1) fingerprinting :원격에서 OS 를 판병하는 기법으로 nmap에서 사용되는 fingerprinting
기법이 널리쓰있다
- 36 -
* 실제 포트스캔
이제 앞에서 살펴본 여러 옵션을 가지고 직 포트 스캔을 응용해 보자.
# nmap -sS -O 192.168.1.0/24
192.168.1.10/24 네트워크, 즉 192.168.1.1부터 192.168.1.254까지 255 개의 IP 에 해
SYN 스캔을 한다. 한 -O 옵션을 설정하여 각각의 호스트가 어떠한 운 체제로
작동하는지에 해서도 질의하 다.
[그림 57] 역스캔 결과 (nmap -sS -O 11.4.8.0/24)
의 스캔 결과는 11.4.8.1 번부터 255 번까지 포트스캔 기능과 OS 기능을 사용한
화면이다.
#nmapfe
nmap GUI 버 을 실행 한다.
- 37 -
<참고> nmapfe
nmapfe는 nmap의 front end 로젝트로 X Windows 환경에서 보다 손쉽게 nmap을 실
행하기 해 Zach Smith에 의해 만들어 졌다. 일반 버 FE include 버 이 분리되어 있
으며, 일반 으로 FE가 포함되지 않은 버 을 주로 사용하고 있다. 이 을 쓰는 시 에서
FE가 포함되는 버 에 한 구분은 다음과 같다.
Latest Stable X86 Nmap RPM : http://download.insecure.org/nmap/dist/nmap-3.81-1.i386.rpmLatest Stable X86 NmapFE RPM: : http://download.insecure.org/nmap/dist/nmap-frontend-3.81-1.i386.rpmLatest Stable Source RPM (includes NmapFE) : http://download.insecure.org/nmap/dist/nmap-3.81-1.src.rpm
[그림 58] nmapfe 실행 화면 험한 포트는 붉은색으로 표시된다
- 38 -
Ⅵ. ethereal 을 이용한 악성 트래픽 분석
앞에서 살펴보았던 보안도구 들은 네트워크나 시스템의 취약 이나 정보 등을 수집
하는 도구이다. 이번엔 네트워크를 모니터링 하는 툴인 etheareal 에 해서 설명을
하겠다.
1. ethereal 의 기능 특징
ethereal 의 홈페이지는 http://www.ethereal.com/ 이며 이곳에서 소
스 실행화일 다운로드가 가능하다. 지 부터 알아보려는 ethereal 은 다음과 같은
기능 특징을 가지고 있다.
① ethereal 은 사용법이 쉽고 GUI 지원이 훌륭하다.
② 세계 으로 가장 리쓰이는 네트워크 모니터링 툴 에 하나이다.
STEP 1. 다운로드 설치하기
ethereal 을 설치하기 해서는 먼 libpcap 를 설치 하여야 한다.
http://www.tcpdump.org/release/libpcap-0.8.3.tar.gz
이곳에서 다운받을수 있다.
[그림 59] 다운로드 압축해제 (libpcap)
- 39 -
libpcap 의 설치를 마친후 ethereal 홈페이지에서 최신버 을 다운로드하여 설치하
면 된다.
[그림 60] 다운로드 압축해제 (ethereal)
이후 같은 방법으로 설정하고 컴 일하면 된다.
STEP 2. ethereal 사용하기
ethereal 이라고 입력하면 다음과 같은 창이 뜬다.
<ethereal 실행 기화면>
- 40 -
옵션 설명
-a 모니터링을 단할 조건을 정의한다.
-B 가장 아래 있는 덤 뷰의 높이를 지정한다
-b bold font 의 이름을 지정한다
-c 기본 으로 캡쳐할 패킷의 숫자를 지정해 다
-f 캡쳐할 조건을 지정한다 (bpf 사용)
-h 버젼과 옵션을 출력하고 종료한다
-i 패킷을 캡쳐할때 사용할 네트워크 인테페이스를 지정한다
-k 바로 캡쳐를 시작한다
-m 폰트이름을 지정한다
-n네트워크 객체이름( : hostname, TCP and UDP port names)을 검색하지 않게
설정한다
-P 패킷리스트 뷰바의 높이를 지정한다
-Q 패킷캡쳐를 끝내고 바로 종료하도록 한다 (-I ,-w 옵션을 먼 선언해야 한다.
-r 지정한 일로부터 packet data 를 읽어 들인다.
-R r 옵션에서 패킷을 읽어 들일 때 필터를 용해서 디스 이 한다.
-S 패킷캡쳐와 디스 에이의 로세스를 분리한다 패킷loss 율이 어든다.
-s 최 캡쳐 길이를 지정한다
-T 트리뷰의 기 높이를 지정한다
-t 시간형식을 결정한다 기본값 r 이다.
r (relative) 첫 패킷부터 지 재 패킷까지의 시간
a (absolute) 패킷을 캡쳐한 실제 날짜, 시간
d (delta)이 패킷으로부터의 경과시간
-v 버 을 출력하고 종료한다
-w 캡쳐한 결과를 장할 일 이름을 지정한다.
<참고> ethereal 상세 실행 옵션
ethereal 은 거의 모든 컨트롤이 GUI 에서 가능하기에 별로 사용할 일이 없을 수도 있다.
하지만 몇 가지 옵션이 존재하기에 간단하게 살펴보도록 하자.
# ethereal <options>
과 같이 패킷의 내용을 캡쳐하여, 분석하는데 사용이 가능하다.
- 41 -
Ⅶ. clamav를 이용한 바이러스 방지
바이러스 개발이 활발하게 이루어지고 있으며, 최근의 인터넷 메신져를 이용한 바
이러스와 의 리 스 시스템을 공격하던 lion 바이러스 등 다양한 바이러스가
존재하고 있다. 이를 방지하기 해 안티바이러스 솔루션을 각 유 (특히, 도우
시스템 사용 유 )들은 시스템에 기본 으로 설치하여 사용하는 경우가 많이 있다.
재 다양한 안티바이러스 솔루션이 있으며, 오 소스로 이를 개발하는 로젝트도
몇몇 존재한다. 오 소스 안티바이러스 솔루션 의 하나인 clamav를 이용한 시스
템 보안에 해 간략한 사용법을 알아보도록 하겠다.
1. clamav 의 기능 특징
clamav의 홈페이지는 http://www.clamav.net이며 이곳에서 소스 실행화일 다운
로드가 가능하다. 지 부터 알아보려는 clamav은 다음과 같은 기능 특징을 가지
고 있다.
① clamav 은 사용법이 쉽고, 다양한 OS를 지원한다.
② 바이러스 업데이트가 수시로 이루어지고 있으며, 소스 변경이 자유롭다.
③ 솔루션 자체가 가벼워 시스템에 부하를 주는 일이 드물다.
STEP 1. 다운로드 설치하기
clamav 홈페이지(http://www.clamav.net/stable.php#pagestart)에서 다운로드가 가
능하며, 최신 패키지를 다운받아 컴 일을 한다.
[그림 61] clamav 일 다운로드 압축 풀기
- 42 -
<참고> clamav의 필수 요소
ClamAV를 컴 일하기 한 필요 패키지 :
①zlib, zlib-devel packages
②gcc compiler suite (2.9x, 3.x 지원)
사용하기 한 권장 패키지 :
① bzip2, bzip2-devel library
② GNU MP 3 (바이러스 패턴 업데이트에 필요)
압축을 푼 후 인스톨을 하는 법을 알아보자. 인스톨을 하는 법이 두 가지가 있다.
크게 차이는 없으나, 유 생성 여부에 따라 틀리므로, 아래를 참고하자.
기존의 유 를 이용한 인스톨 법은 아래와 같다.
① configure 실행시 prefix와 disable 옵션을 사용한다. (기존유 를 test 라고 가정)
# ./configure --prefix=/home/test/clamav --disable-clamav
② 컴 일하여 인스톨한다.
# make; make install
다음은 유 를 생성하고 설치하는 법을 알아보자.
① clamav라는 유 와 그룹을 아래와 같이 생성한다.
# groupadd clamav# useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav
② configure를 아래와 같이 실행한다.
# ./configure --sysconfdir=/etc
③ 컴 일하여 인스톨한다.
# make# su -c "make install"
의 두가지 방법으로 설치가 가능하며, 여기서는 유 를 생성하여 설치하는 법을 알아보도록 하자.
- 43 -
[그림 62] configure 실행
유 를 생성 후 설정 일의 디 토리 치를 /etc로 설정하여 설치를 한다. 설치가 끝나면 /etc/clamd.conf 일과 /etc/freshclam.conf 일을 자신의 환경에 맞게 수정을 해줘야 한다. 특히 example이라는 부분을 주석처리하는 것을 잊지 말자.
[그림 63] /etc/clamd.conf 일 수정
에 보는 바와 같이 설치시 Example 부분이 보이며, 이를 주석처리(#)를 해 다.주석 처리 후 장하여, 테스트 스캔을 수행하여 확인해보자.
- 44 -
[그림 64] clamscan 테스트
설치가 제 로 되었다면, 그림과 같이 스캔 결과 요약이 확인 가능하며, scan.txt라는 결과 일을 확인할 수 있다.
일단 clamscan이 성공했다면, 다음은 자동 업데이트를 한 작업을 아래와 같이 하자.
[그림 65] 자동 업데이트 로그 일 생성
와 같이 로그 일을 생성한 후 freshclam이라는 명령어를 이용하여 업데이트를
하도록 하자. freshclam을 아래와 같이 daemon 모드로 실행을 하도록 한다.
[그림 66] freshclam 실행 확인
의 그림과 같이 업데이트를 한 freshclam와 바이러스 탐지를 해 clamd 가 실
행 임을 확인할 수 있다.
- 45 -
Ⅷ. john the ripper을 이용한 패스워드 보안 검하기
John the repper (이하 John)는 유닉스, 도우, 도스 등 많은 랫폼에서 사용이 가
능한 매우 빠른 패스워드 검에 사용되는 툴이며, 세계 으로 가장 리 쓰이고
있다. 이 툴은 사 일 공격 무작 입 공격을 지원한다.
툴에 한 자세한 설명은 http://www.openwall.com/john/ 에서 참조하기 바란다.
1. john the ripper 의 기능 특징
john의 홈페이지는 http://www.openwall.com/john/ 이며 이곳에서 소스 실행
화일 다운로드 가 가능하다. 지 부터 알아보려는 john the ripper 는 다음과 같은
기능 특징을 가지고 있다.
① john은 사용법이 쉽고, 다양한 OS를 지원한다.
② 사 입법 뿐만 아니라 완 무차별 입법까지 지원한다.
③ 세계 으로 가장 리 쓰이는 크래킹 툴이다.
STEP 1. 다운로드 설치하기
john의 홈페이지는 http://www.openwall.com/john/ 에서 다운로드가 가능하며, 최
신 패키지를 다운받아 컴 일을 한다.
[그림 67] 일 다운로드
[그림 68] 압축 푼후 디 로리 확인
의 그림과 같이 일을 다운로드해서 압축을 풀면 와 같은 디 토리가 생성된
다.
- 46 -
[그림 69] 설치 옵션확인
John을 설치 하기 해선 src 디 토리로 이동한후에 make 명령을 실행시키면
와 같은 make 옵션들이 나타난다. 설치한 시스템이 리 스인 계로 의 그림과
같이 "make linux-x86-any-elf" 이런 방식으로 설치를 하 다.
[그림 70] 설치 확인
의 과정을 마친후에 설치된 일을 확인하려면 run 디 토리로 이동해서 john
일을 실행하면 된다.
STEP 2. John 사용하기
john의 사용법은 설치를 마친후에 run 디 토리로 이동해서 john 일을 실행 하면
아래의 그림과 같이 여러 옵션들이 나타난다.
[그림 71] john the ripper 사용법
- 47 -
Ⅸ. RC Firewall을 이용한 방화벽 구축하기
앞에서 살펴보았던 보안도구 들은 네크워크나 시스템의 취약 이나 정보 등을 수집
하는 도구이다. 방화벽을 구축하기 해 다양한 로그램이 존재하며, 그 에 하나
인 가장 손쉽게 구성할 수 있는 방화벽인 RC Firewall(이하 RCF)에 해서 간략하
게 알아보도록 하자.
1. Rc.Firewall 의 기능 특징
지 부터 알아보려는 ethereal 은 다음과 같은 기능 특징을 가지고 있다.
① 설치하기가 용이하고 사용법이 쉽다.
② Ipchains 기반으로 구성되어있다.
STEP 1. 다운로드 설치하기
RCF 의 홈페이지는 http://rcf.mvlan.net/dist/이며 이곳에서 소스 실행화일 다운
로드가 가능하다.
[그림 72] 일 다운로드 압축해제
[그림 73] 압축 푼후 디 로리 확인
의 과정에서 압축을 푼후 디 토리로 이동하면 설치 스크립트를 발견할수있다
- 48 -
Rc.Firewall 의 설치는 아래그림과 같이 무척 쉽고 간단하다. 한가지 유의할 사항은
최근 리 스 배포 을 설치하면 기본 으로 Ipchain이 구동되는 경우가 있는데 이
런 경우에는 RCF와 충돌이 생기는 경우가 존재한다.
# umask 077 # make backup # make install
[그림 74] Rc.Firewall 설치하기
와 같은 방법으로 RCF를 설치할수 있다.
STEP 2. RCF 사용하기
Rc.Firewall 의 설치를 마친후에 rcf 를 실행하면 방화벽이 실행되고 기본값으로 외
부에서 들어오는 모든 패킷을 차단한다.
[그림 75] Rc.Firewall 실행하기
RCF에 한 기본 인 사용법은 아래와 같다. 자세한 사용법은 -help 를 참조하기
바란다.
#rcf --{action}-{interface}-{service}-{type} {option-value} {...}
- 49 -
옵션 설명
-h 는 --help 도움말을 출력한다.
-c {config-file} 는
--conf {config-file}
기본 설정값인 /etc/firewall.conf 신에 다른 설정값을 참조
한다.
)rcf -c /etc/firewall/daytime.conf
)rcf -c /etc/firewall/offhours.conf
-ri 는 --refresh-interfaces 방화벽 룰을 적용할 인터페이스를 지정한다.
--[public|private|dmz|mz]-i
nterfaces {interface} {...}방화벽룰이 적용될 대상을 지정한다.
--private-interfaces-security
[open|relaxed|strict|paranoi
d]
방화벽 룰의 오픈정도를 결정한다.
"open" 은 외부로 들어오는 모든 패킷을 허용한다.
"relaxed" 은 밖으로 나가는 모든 tcp 패킷을 허용하고 들어
오고 나가는 UDP 이 모든 패킷을 허용한다.
"strict" 은 해킹시 사용될수있는 서비스(sunrpc, rlogin,
telnet, etc.)의 아웃바운드 패키을 차단하고 모든 UDP 패
킷을 차단한다.
"paranoid" 은 모든 TCP/UDP 패킷을 차단한다.
--[public|dmz|mz]-interfaces-
security
[relaxed|strict|paranoid]
--[dmz|mz]-clusters-security
[relaxed|strict|paranoid]
-aa 는 --accept-all 모든 패킷을 허용한다.
RCF를 실행하게 되면 외부로의 모든 근이 차단된다. 모든 근을 차단한 후에 필
요한 서비스를 하나씩 열어주는 방식을 취하고 있으므로, 아래와 같이 필요한 서비
스를 하나한 열어주어 사용하도록 하자.
제 1) telnet 근을 허용 시
rcf --public-interfaces eth3 --accept-eth3-telnet-clients any/0
제 2) 외부로의 ping 근을 차단 시
rcf --public-interfaces eth3 --ignore-eth1-ping-clients any/0