파일 :
ipv6 사용 prevent 입니다

program md5sum : d3905d721c6595426fd8920961902a9d

secure log 의 분석 주기를 좀더 짧게 함!

짧게 한뒤의 system resource를 확인. resource 사용량 거의 없음을 확인
-----------------------------------------------
   procs                      memory    swap          io     system         cpu
r  b  w   swpd   free   buff  cache  si  so    bi    bo   in    cs  us  sy  id
0  0  0      0  80864 110620 146184   0   0     1     4  112    10   0   0 100
0  0  0      0  80864 110620 146184   0   0     0     0  119    28   1   1  98
0  0  0      0  80864 110620 146184   0   0     0     0  128    27   0   1  99
0  0  0      0  80864 110620 146184   0   0     0    44  124    37   1   1  98
0  0  0      0  80864 110620 146184   0   0     0     0  120    30   0   1  99
0  0  0      0  80864 110620 146184   0   0     0     0  111    28   2   0  98
0  0  0      0  80864 110620 146184   0   0     0     0  117    28   1   0  99
0  0  0      0  80864 110620 146184   0   0     0     0  117    27   0   1  99
0  0  0      0  80864 110620 146184   0   0     0    12  118    35   0   1  99
0  0  0      0  80864 110620 146184   0   0     0     0  111    32   0   1  99
0  0  0      0  80864 110620 146184   0   0     0     0  115    29   1   0  99
0  0  0      0  80864 110620 146184   0   0     0     0  123    28   1   0  99
0  0  0      0  80864 110620 146184   0   0     0     0  120    28   0   2  98
-------------------------------------------------

사용법은 기존의 prevent와 동일함!!




#2005-03-21
prevent 프로그램 수정사항..

prevent 프로그램 운영시 /var/log/secure의 로그가 log rotation 되면,

secure로그를 분석하지 못하는 현상 발견.

이 현상을 극복하기 위해서

[root@manpage root]# vi /etc/logrotate.d/syslog

{

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
        /bin/sleep 1 --> 1초간 대기한다.
        /root/prevent stop  --> prevent가 설치된 절대 경로를 입력
        /root/prevent stop   --> 절대 경로 입력
        /root/prevent start &  --> 절대 경로 입력
    endscript
}

log rotate.conf 파일을 다음과 같이 수정하면 된다.



#hostway.kh
#2005-03-11

호스트웨이 에서는 ssh bruteforce attack에 대한 방어를 할수 있는

프로그램을 개발 배포 합니다.

필요하신 분은 받아서 사용하시기 바랍니다.


< prevent-0.6 간단 설명 >

prevent-0.6은 /var/log/secure 로그를 실시간으로 분석하여,

ssh의 접근 실패를 감지하여, 불법적인 접근시도인

bruteforce attack을 탐지하고 차단하기 위한 프로그램 입니다.

(접근 아이피에 대한 clipping level을 지정해 주는 프로그램 입니다.)


< 실행 >

chmod 700 prevent 라고 퍼미션을 준뒤에,

실행은 ./prevent start & 라고 하며, background에서 돌수 있도록 동작을 시켜주시면 좋습니다.

정지는 ./prevent stop 이며, ./prevent라고 치면 프로그램의 실행 방법을 알수 있습니다.


< 프로그램 동작 개요 >

static으로 컴파일 되어있기 때문에, 어떤 Version의 Redhat 배포판 에서도

돌아갑니다. (Redhat 과 비슷한 구조를 가진 배포판도 가능할것으로

판단됩니다.)

다만 권고할것이 있다면,

/var/log/secure 파일이 있어야 하며,

차단을 위해서 /etc/hosts.deny를 사용하며, /etc/hosts.deny 안에

다음과 같이 설정되어야 합니다.

vi /etc/hosts.deny
-------------
sshd: . /etc/denyip
-------------

/etc/denyip 파일은 프로그램이 동작할때 자동 생성되며, 퍼미션은 0600

으로 root만 읽고 쓰기가 되도록 설정해 줍니다.


ssh 접속 실패에 대해서는 clipping level 5를 적용하였기 때문에,

다섯번의 연결 실패가 있다면, 자동으로 denyip 에 등록이 되고,

차단이 되게 됩니다.

(이때 ip의 접속 실패를 count하는곳은 /var/log/prevent/(접속 실패 경험이 있는 ip) 에서 각 ip별로 counting 됩니다.)

(prevent 디렉토리는 자동생성 됩니다.)


* 단 5번중 한번이라도 정상적인 접속이 이루어졌다면, 실패 기록은 clear 됩니다.
(정상 사용자의 차단 방지)

/var/log/prevent/IPS에 등록 되고 삭제되는 조건

- 등록 : ssh 연결이 한번이라도 실패하게되면, 자동적으로 등록되고 counting됨.

- 삭제 : 1) ssh 연결이 5번 실패하여, denyip에 등록되는 경우 삭제됨.
         2) ssh 연결이 5번안에 한번이라도 성공하게 되면, 삭제됨.

[출처] http://manpage.co.kr/zboard/view.php?id=down&no=25
신고

'리눅스 서버 > Security' 카테고리의 다른 글

rkhunter 체크 보고서 cron 작업화 하기  (0) 2010.01.31
Chrootkit  (0) 2010.01.31
리눅스보안 - 필수 보안 조치법  (0) 2010.01.31
리눅스 해킹여부 간단히 알아보기  (0) 2010.01.31
logwatch 설치 및 설정  (0) 2010.01.30
ssh bruteforce 공격 차단  (0) 2010.01.27

+ Recent posts

티스토리 툴바