Tag Archives: 리눅스

prevent를 이용한 보안 설정

prevent-0.6은 /var/log/secure 로그를 실시간으로 분석하여, ssh의 접근 실패를 감지하여, 불법적인 접근시도인 bruteforce attack을 탐지하고 차단하기 위한 프로그램 입니다.
(접근 아이피에 대한 clipping level을 지정해 주는 프로그램 입니다.)

1996653362.tar

[실행]

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/ 에 등록 되고 삭제되는 조건

– 등록 : ssh 연결이 한번이라도 실패하게되면, 자동적으로 등록되고 counting됨.
– 삭제 : 1) ssh 연결이 5번 실패하여, denyip에 등록되는 경우 삭제됨.
………..2) ssh 연결이 5번안에 한번이라도 성공하게 되면, 삭제됨.

특정 디렉토리 binding하기

출처: http://kltp.kldp.org/stories.php?story=01/10/12/5255322
작성: EcusE

ftp를 운영하고 있고 chroot*를 적용는데 특정 디렉토리를 chroot된 디렉토리 안에 넣어야 하는데 기존파티션이나 링크를 건드리지 않고 binding할수있습니다. 아래는 구성도(?)입니다.

기존설정 ftp root(chroot)
/home/ftp/pub
/var/backup디렉토리를 ftp user에게 공개하고 싶을때 이상태에선 타 파티션을 pub아래에 링크를 해도 chroot를 벗어날수가 없기때문에 소용이 없습니다.

mount –bind /var/backup /home/ftp/pub/backup 이명령으로 backup 디렉토리를 chroot 되어진 ftp유저의 홈디렉토리에 마운트를 할수 있습니다. 마운트시 unrecognized option ‘–bind’ 메세지가 나온다면 mount를 업그레이드를 하시거나 새커널을 받아서 설치해보세요.
mount version 2.11g에서 테스트했습니다.

chroot* : ftp서버등에서 특정유저의 /디렉토리를 특정 디렉토리로 제한 상위디렉토리나 시스템 /디렉토리로 접근할수없음.

만약 fstab 에 등록할 경우에는 다음과 같이 합니다.

파일 시스템 마운트 포인트        타입 옵션          덤프 패스
/var/backup /home/ftp/pub/backup none bind,rw(ro).. 0    0