강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

nessus 를 이용한 보안 취약점 체크

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

icon01.giftitle05.gif

###################################################################
---------------------------------------
작성자 : 강민 (linuxis@linux.co.kr)
사이트 :
http://chtla.com
---------------------------------------
Nessus는
http://www.nessus.org에서 무료로 다운받아 사용할 수 있는 보안취약점 점검도구로 local과 remote 시스템 보안 취약점 찾아주는 도구이다.

Nessus는
http://www.nessus.org/에서 다운받아 설치할 수 있는데,

·Posix download page : Unix계열의 시스템 (Solaris, FreeBSD, GNU/Linux등)
·Win32 download page : Microsoft Windows 사용자들
·Java download page : 자바기반 Nessus클라이언트 설치시

최신 버전은 1.2.2 이다..

Nessus서버를 설치하기 위해서는 우선 아래의 사전도구들이 설치되어 있어야 한다

- GTK : GTK는 GIMP를 만들기 위한 툴킷으로 Nessus 클라이언트를 사용하기 위해서는 사전에 설치되어야 한다.
다운받을 수 있는 곳 : ftp://ftp.gimp.org/pub/gtk/v1.2
- Nmap : Nmap는 현재 가장 많이 쓰이고 있는 뛰어난 포트 스캐너(port scanner)로 다양한 스캐닝을 제공한다.
다운받을 수 있는 곳 :
http://www.insecure.org/nmap/
- m4 : gmp library가 설치되어 있으면 선택사항으로 libgmp가 설치되어 있으면 필요없다.
다운받을수 있는 곳 : ftp.gnu.org/pub/gnu/m4

참조 사이트 :
http://www.certcc.or.kr/tools/Nessus.html
-----------------------------------------------------
libnasl-1.2.2.tar
nessus-core-1.2.2.tar
nessus-libraries-1.2.2.tar
nessus-plugins-1.2.2.tar

4개의 파일을 다운 받아서 압축을 푼다..
-----------------------------------------------------

[root@chtla Nessus]# cd nessus-libraries
[root@chtla nessus-libraries]# ./configure
[root@chtla nessus-libraries]# make
[root@chtla nessus-libraries]# make install
[root@chtla nessus-libraries]# vi /etc/ld.so.conf <== /usr/local/lib 추가
[root@chtla nessus-libraries]# ldconfig -v

[root@chtla Nessus]# cd libnasl
[root@chtla Nessus]# ./configure
[root@chtla Nessus]# make
[root@chtla Nessus]# make install
[root@chtla Nessus]# vi /etc/ld.so.conf <=== /usr/local/bin 추가
[root@chtla Nessus]# ldconfig -v

[root@chtla Nessus]# cd nessus-core
[root@chtla nessus-core]# ./cofigure
[root@chtla nessus-core]# make
-------------------------------------------------------------------------------------------------------------
[root@chtla nessus-core]# make install
[root@chtla nessus-core]# vi /etc/ld.so.conf <=== /usr/local/sbin 추가
[root@chtla nessus-core]# ldconfig -v

[root@chtla Nessus]# cd nessus-plugins
[root@chtla nessus-plugins]# ./configure
[root@chtla nessus-plugins]# make
[root@chtla nessus-plugins]# make install

nessusd서버는 사용자들의 database를 가지고 있고, /usr/local/sbin밑의 nessus-adduser utility를 통해 새로운 사용자를 추가 할 수 있다.

[root@chtla nessus-plugins]# ll /usr/local/sbin/nessus*
-rwxr-xr-x 1 root root 6422 6월 19 17:55 /usr/local/sbin/nessus-adduser*
-rwxr-xr-x 1 root root 10924 6월 19 17:55 /usr/local/sbin/nessus-mkcert*
-rwxr-xr-x 1 root root 1106 6월 19 17:55 /usr/local/sbin/nessus-rmuser*
-r-xr-xr-x 1 root root 5162 6월 19 17:59 /usr/local/sbin/nessus-update-plugins*
-rwxr-xr-x 1 root root 477458 6월 19 17:55 /usr/local/sbin/nessusd*

[root@chtla sbin]# cd /usr/local/sbin
[root@chtla sbin]# ./nessus-adduser

실행시 에러가 발생하면..
# vi /etc/ld.so.conf
/usr/local/lib <==== 이것이 삽입하고
# ldconfig -v <=== 삽입 되어 있어도 에러 발생시에는 실행 시킨다..

[root@chtla sbin]# ./nessus-adduser
Using /var/tmp as a temporary file holder

Add a new nessusd user
----------------------
Login : test
Authentication (pass/cert) [pass] : pass <== 패스워드 입력시 pass를 입력한다..
Login password : test

User rules
----------
nessusd has a rules system which allows you to restrict the hosts
that test has the right to test. For instance, you may want
him to be able to scan his own host only.

Please see the nessus-adduser(8) man page for the rules syntax

Enter the rules for this user, and hit ctrl-D once you are done :
(the user can have an empty rules set)


Login : test
Password : test
DN :
Rules :


Is that ok ? (y/n) [y] y
user added.

이로써 사용자가 추가된 것이다...

[root@chtla sbin]# ./nessus-mkcert <====이것부터 실행한다..
/usr/local/var/nessus/CA created
/usr/local/com/nessus/CA created

-------------------------------------------------------------------------------
Creation of the Nessus SSL Certificate
-------------------------------------------------------------------------------

This script will now ask you the relevant information to create the SSL
certificate of Nessus. Note that this information will *NOT* be sent to
anybody (everything stays local), but anyone with the ability to connect to your
Nessus daemon will be able to retrieve this information.


CA certificate life time in days [1460]: 1460 <=== CA 증명서가 하루에 살 시간(디폴트로 준다.)
Server certificate life time in days [365]: 365 <== 서버 증명서 살 날짜
Your country (two letter code) [FR]: kr
Your state or province name [none]: none
Your location (e.g. town) [Paris]: daejeon
Your organization [Nessus Users United]: personal

-------------------------------------------------------------------------------
Creation of the Nessus SSL Certificate
-------------------------------------------------------------------------------

Congratulations. Your server certificate was properly created.

/usr/local/etc/nessus/nessusd.conf updated

The following files were created :

. Certification authority :
Certificate = /usr/local/com/nessus/CA/cacert.pem
Private key = /usr/local/var/nessus/CA/cakey.pem

. Nessus Server :
Certificate = /usr/local/com/nessus/CA/servercert.pem
Private key = /usr/local/var/nessus/CA/serverkey.pem

Press [ENTER] to exit

[root@chtla sbin]# ./nessusd -D <====== nessusd 데몬 실행..


#####################################################################

이로써 서버는 설치가 되었는데.. client 용은 WinNessus 과 NessusWX 두가지가 있는데..
WinNessus 는 구 버전용 같다..(이것을 설치할시 아래의 에러 메세지를 발생시키며 서버에 접속을 할수 없게 된다..)
remote host is not using or is tcpwrapped <== 버전 차이가 인해 에러로 보임

현재 NessusWX 최신 버전은 1.3.3 이다..

설치후 NessusWX 를 실행한후..
Session -> New 에서 session을 create 한다.. <== 이것은 스캔(취약점)할 서버를 정보를 담게 된다..
create 하면 Session Properties 라는 새창이 뜨는데..
target : 스캔할 서버를 add 시킨다..
scan options : 스캔할 시작 포트와 끝 포트, option등 스캔할 포트에 관한 옵션을 설정할수 있다..
connection : 스캔할 서버의 아이피와 접속할 아이디(nessus-adduser로 생성된 아이디)와 패스워드를 입력할수 있다..
plugins : 보안 취약점은 점검할 항목들을 plugin 형태로 제공하고 있다..
use session-specific plugin set 를 선택한후 select plugins 클릭하면 plugin 목록이 보이는데.. 이곳에서 enable all
을 클릭하면.. 933 개의 plugin 이 선택된 것을 볼수 있을 것이다..
comments : 주석이나 설명을 넣어 두는 곳이다..

설정이 끝나 session 이 생성되었으면.. 해당 session을 더블 클릭하면.. 해당 서버에 접속을 하게 된다..
접속을 하게 되면.. execute session이 뜨는데.. enable session saving (해당 결과를 저장할수 있게..) 을 클릭한후 execute 를 클릭하면.. 해당 서버를 스캔하게 된다..
(933 개의 모든 plugin 을 선택한후 스캔을 해 보니.. 약 15분이라는 시간이 소요 되었다..)

모든 스캔이 끝나면.. Manage Session Results 창에 새로이 스캔된 결과이 보이게 되는데..
view : 해당 결과는 각 데몬별(?)로 볼수 있다..
Report : 해당 결과를 txt,html,pdf 파일로 저장해 볼수 있다.. (html을 생성할 경우 에러가 발생하는데.. 결과물은 정상적으로 생성
이 된다.. 저장할 경로를 변경후 이름을 주고 저장하면 에러 없이 저장이 될것이다..)

이제 결과를 보면.. 해당 서버의 취약점등을 한번에 볼수 있을것이다..
(패치나 업그레이드시 다운 받을수 잇는 사이트까지 알려준다..)

모든 체크가 끝난후 nessusd -D 프로세스는 죽여라.( 체크시에만 필요한 것이니.. 채크후에는 필요가 없음으로..)

Created by KAN and MISO Return to Original Intention.. / chtla.com ( Site Version 1.0 )

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,015 명
  • 현재 강좌수 :  35,688 개
  • 현재 접속자 :  198 명