2008/10/22 09:05

Nessus 네트워크 취약성 점검툴 소개 및 사용법

http://nessus.org/download 에서 자신의 OS에 맞는 패키지 다운로드

rpm -ivh Nessus-3.2.1-es5.x86_64.rpm

설치중 플러그인 처리를 할 때 약간의 인내심이 필요하다.

 

/opt/nessus/sbin/nessus-adduser

데몬의 admin을 위한 계정을 password 인증방식으로 생성한다.

해당 유져의 룰을 입력하는 과정이 있으나 네서스를 공부하지 않았다면 공백으로 진행한다(ctrl+D)

 

/opt/nessus/sbin/nessusd -D

데몬을 실행한다.

 

 

이제 서버에 nessus 데몬(nessusd)이 돌아가고 있다.

nessus 사이트에서 다운받은 윈도우용 nessus를 설치한 후 nessus client를 실행하여

지금 설치한 리눅스상의 nessus 데몬에 admin으로 접속하여 스캔을 시도해본다.

 

스캔을 수행할 데몬 호스트의 지정

하단 왼쪽의 connect를 누르면 접속할 데몬 정보를 입력하는 창이 뜬다.

 

스캔을 수행할 데몬 호스트로의 접속

입력을 마쳤으면 접속을 하고

 

스캔 대상 호스트 등록(데몬 자체를 스캔해봄)

connect 바로 상단의 + 버튼을 눌러 스캔할 대상의 정보를 입력한다.

 

스캔 수행

Scan Now 버튼을 누르면 옆 텝의 Report에 해당 호스트의 포트 정보가 출력된다.

 

 

 

대략적으로 사용 방법을 나열해봤다.

 

- 테스팅 데몬은 CentOS 5.1 이고.. 데몬 설치 후 로컬 방화병 설정에서 1241 포트를 열어놓아야 외부에서 접속이 가능하다.

- 클라이언트의 스캔 옵션을 이용하면 스캔 범위를 좀 더 다양하게 지정할 수 있다.

- 스캔 결과를 다양한 포멧(html, xml 등)으로 지정해서 저장할 수 있다.

- 데몬 설치 후 nessus-adduser를 이용해 좀 더 세부적인 사용자 권한을 설정할 수 있다.

- 스캔룰에 대한 plugin을 자동 업데이트 받기 위해서는 아마도 nessus 홈패이지에서 register 절차를 거쳐야 하지 싶다.




## 구버젼 설치 ##

Nessus 프로그램 소개 및 설치

글 : 현창호 climbk2@hitel.net

 

    <목 차>

    0. Nessus란 무엇?
    1. 설치 순서
    2. Nessus 설치 순서를 반드시 지키자.
    3. Nessus 실행
    4. Nessus 사용 예
    5. tip 및 주의사항

 

0.Nessus란 무엇?

    Nessus는 satan 과 마찬가지로 자신의 네트워크의 취약점을 파악해줄 뿐만 아니라 그 해결책도 제시해 주는 현재 활발히 개발이 진행되고 있는 linux계의 또다른 보안 프로젝트이다.

    한마디로 nessus 을 표현한다면

    Nessus > Satan

    이라 말할 수 있다.

    Satan과 비교해보았을 때,nessus는 바로 지금 진행 중인 최신 해킹기법을 사용해서 자신의 시스템을 검사한다는 점이 다르다. Nessus는 하루에도 새로운 해킹기법을 사용할 수 있게 해주는 스크립트가 새로 보강되는 살아 숨쉬는 프로젝트라 할 수 있다.

    테스트 환경

    · 알짜 리눅스 6.0(커널 2.2.17),메모리 32M,스왑 64M
    · 와우 리눅스 6.2(커널 2.2.17),메모리 64M,스왑 128M
    · 펜티엄 III 500,펜티엄 II 230

 

1. 설치순서

    1.gtk 프로그램 설치되어있는지 확인
    2.Nmap프로그램 설치되어있는지 확인
    3.Nessus 프로그램 설치

 

1) gtk프로그램 설치되어있는지 확인

    Nessus을 이용하기 위해서는 gtk프로그램들이 설치되어있어야 한다.

    설치확인
     

    rpm -qa |grep gtk

     

    반드시 gtk+-devel* 과 XFree86-devel은 설치되어있어야 한다. 여러분의 리눅스 씨디에 모두 있으므로 설치하면 된다. gtk 버전은 1.2이상이어야 한다.

 

2) Nmap 설치

    프로그램 다운로드
     

    http://www.insecure.org/nmap/

     

    Nmap 설치
     

    cp nmap-2.53.tgz /usr/local/src
    cd /usr/local/src
    tar xvzf nmap-2.53.tgz
    cd nmap-2.53/
    ./configure
    make
    make install

     

    제대로 설치되면 설치 디렉토리와 /usr/local/bin에 실행파일 nmap등이 생겨난다. 자신의 시스템에 대해 빠른 포트스캔으로 nmap이 제대로 작동하는지 검사한다.
     

    /usr/local/bin/nmap -v localhost

 

3) Nessus 프로그램 설치

    프로그램 다운로드
     

    http://www.nessus.org
    ftp://ftp.au.nessus.org/pub/nessus/nessus-1.0.6/src/

     

    Nessus프로그램을 다운 받을 때 아래 4개의 파일들을 모두 다운 받아야 한다.
     

    wget
    ftp://ftp.au.nessus.org/pub/nessus/nessus-1.0.6/src/libnasl-1.0.6.tar.gz

    wget
    ftp://ftp.au.nessus.org/pub/nessus/nessus-1.0.6/src/nessus-core-1.0.6.tar.gz

    wget
    ftp://ftp.au.nessus.org/pub/nessus/nessus-1.0.6/src/nessus-libraries-1.0.6.tar.gz

    wget
    ftp://ftp.au.nessus.org/pub/nessus/nessus-1.0.6/src/nessus-plugins-1.0.6.tar.gz

     

    wget프로그램을 사용하지 않는 사람은 일반 ftp프로그램을 이용해서 받기 바란다.

 

2. Nessus 설치순서를 반드시 지키자.

    1.nessus-libraries
    2.libnasl
    3.nessus-core
    4.nessus-plugins

 

1) nessus-libraries 설치
 

    cp nessus-libraries-1.0.6.tar.gz /usr/local/src
    cd /usr/local/src/
    tar xvzf nessus-libraries-1.0.6.tar.gz
    cd nessus-libraries/
    ./configure
    make
    make install

 

    /usr/local/bin이 자신의 실행경로에 포함되어 있는지 확인한다.
     

    echo $path <--csh계열
    echo $PATH <--BASH계열

     

    /etc/ld.so.conf에 /usr/local/lib이 포함되어있는지 확인한다.
     

    cat /etc/ld.so.conf

     

    포함 안되어있으면
     

    echo "/usr/local/lib" >>/etc/ld.so.conf

     

    로 포함시킨 후
     

    ldconfig -v

     

    해준다.이렇게 함으로써 shared library에 /usr/local/lib을 포함시켜 주게 된다.

    위 방법말고 자시의 에디터로 /etc/ld.so.conf파일에 /usr/local/lib을 넣어준 후 ldconfig -v 해주어도 무방하다.

 

2) libnasl설치
 

    cp libnasl-1.0.6.tar.gz /usr/local/src/
    cd /usr/local/src/
    tar xvzf libnasl-1.0.6.tar.gz
    cd libnasl/
    ./configure
    make
    make install

  

3) Nessus-core 설치
 

    cp nessus-core-1.0.6.tar.gz /usr/local/src/
    cd /usr/local/src
    tar xvzf nessus-core-1.0.6.tar.gz
    cd nessus-core/
    ./configure
    make
    make install


    nessusd가 /usr/local/sbin에 생성된다.

 

4) Nessus-plugin 설치
 

    cp nessus-plugins-1.0.6.tar.gz /usr/local/src
    cd /usr/local/src/
    tar xvzf nessus-plugins-1.0.6.tar.gz
    cd nessus-plugins/
    ./configure
    make
    make install

 

    모든 Nessus프로그램 설치가 다음 디렉토리에 완료되었다.

    /usr/local/bin/ <-nessus 실행파일 디렉토리
    /usr/local/sbin/ <-nessus 데몬파일 디렉토리
    /usr/local/var/nessus/ <-logging 디렉토리
    /usr/local/lib/nessus/ <-nessus plugins 디렉토리
    /usr/local/lib/ <-nessus shared library 디렉토리
    /usr/local/include/nessus/ <-nessus header 디렉토리
    /usr/local/etc/nessus/ <-nessus 설정 디렉토리
    /usr/local/man/man1/ <-nessus man 페이지 디렉토리
    /usr/local/man/man8/ <-nessus man 페이지 디렉토리
    /usr/local/etc/nessus/nessused.conf <--config 파일

 

2. Nessus실행(아래 순서대로 실행해준다.)

1) Nessus 실행
 

    /usr/local/sbin/nessusd

 

    이 부분에서 에러 발생시 /etc/ld.so.conf에 /usr/local/lib이 포함되어 있는지 다시 한번 확인하고 ldconfig 명령을 다시한번 해준다.그리고 다시
     

    /usr/local/sbin/nessusd


    해준다.

 

2) 사용자 등록
 

    /usr/local/sbin/nessusd -P <user>,<password>
         /usr/local/sbin/nessusd -P test,testpasswd

 

3) Nessus 데몬 실행
 

    /usr/local/sbin/nessusd -D

 

4) Nessus실행
 

    /usr/local/bin/nessus

 

5) Nessus가 실행된다.실행되면 새로운 암호를 넣으라고 할텐데 윗 부분의 사용자 등록시 넣어준
   암호를 넣어준다.

 

6) login칸에 좀 전에 넣어준 사용자 이름을 넣어준 후 Log in해주면 된다.
 

    Login: test

 

    login되면 반드시 Plugins부분의 Denial of Service을 Off시켜준다.

    Prefs 란 에서 알맞은 값을 선택해준다.기본적으로 선택된 옵션만을 사용해도 무방하다.

    Scan Optons 란에서 port range의 기본 값인 1-15000은 포트 15000까지 검색하게 해준다.이 값을 port최대 값인 65535값으로 바꾸어주면 호스트의 모든 포트에 대해 검사할 수 있다.하지만 검색시간이 그만큼 늘어나게 된다. Port Scanner에서 자신이 원하는 방법을 선택해서 체크해주면 된다.역시 기본 값을 사용해도 무방하다.

    Target Selection 란에 localhost 나 아니면 여러분이 스캔을 시도하는 호스트 이름을 넣어주면 된다.여러 개의 호스트을 동시에 스캔을 시도할 시는 ','로 구분해서 같이 넣어주면 된다.물론 ip주소로도 가능하다.
     

    Target(s): www.test.com,www.test1.com,www.test2.com

     

    Start the Scan 을 클릭하면 스캔을 시작한다. 스캔이 완료되면 자동적으로 호스트의 취약점을 보여주는 새로운 창(Nessus Report)이 생성된다. 스캔을 멈추고 싶을 때는 언제든지 Stop the whole test을 클릭하면 된다.

    검색완료후 저장시(save as..) 옆에 보면 저장방법에서 save as HTML with pie and graph로 하면 아주 컬러풀하고 멋진 검색결과화면을 볼 수 있다.<save as...>을 클릭해서 원하는 디렉토리에 원하는 이름으로 저장시킨 다음 웹브라우저로 출력해보면 자세한 설명을 볼 수 있다.

 

4. Nessus 사용 예
 

    Warning found on port smtp (25/tcp)

    The remote SMTP server
    answers to the EXPN and/or VRFY commands.
    ...생략..
    Solution : if you are using sendmail, add the
    option
    O PrivacyOptions=goaway
    in /etc/sendmail.cf.

    Risk factor : Low
    CVE : CAN-1999-0531

 

5. tip 및 주의 사항

    * 자신의 localhost나 자신이 가지고 있는 다른 컴퓨터에 nessus을 이용해서 스캔을 시도시    tail -f /var/log/messages을 해서 보면 syslogd가 실시간으로 출력해내는 로그메시지을
       볼 수 있다. 단 ipchains이나 다른 방화벽으로 구성해서 스캔 시도을 출력하도록 설정한
       경우에 한해서다.
    * scan이 느리다고 생각되는 사람은 /usr/local/etc/nessus/nessusd.conf 파일에서
       checks_read_timeout = 15 인 기본 값을 5로 바꾸어준다.
    * Nessus가 호스트의 취약점을 테스트하기 위해 어떠한 plugins프로그램을 사용하는지를
      알기 위해서는 홈디렉토리에 자동으로 생성되는 .nessusrc 파일을 살펴보면 알 수 있다.
    * 자신이 관리하는 사이트가 아닌 사이트을 스캔 한다는 것은 해당 사이트 관리하는
      관리자에게는 매우 무례한 일이며 불법이다.자신이 관리하는 사이트에 한해서 Nessus
      프로그램을 사용하기 바란다.

저작자 표시

Trackback 0 Comment 0