728x90
반응형
Fail2ban
- 파이썬으로 만든 침입 방지 프레임워크이다.
- 패킷 컨트롤 시스템(ex: Tcp Wrapper)이나 iptables가 설치된 POSIX 시스템에서 사용 가능하다.
- 주요 기능은 로그 파일을 감시하여 username/password 무차별 침입 시도(Brute-force, dictionary attack)등 비정상적인 행동을 하는 IP를 차단하는 기능이다.
- 적용방법은 log를 기록하는 각 서비스 별로 적용이 가능하다. ex) apache, sendmail, ssh, iptables, squid 등등
<설치> - 소스파일 다운로드 및 컴파일
# wget https://codeload.github.com/fail2ban/fail2ban/tar.gz/0.8.13
# tar zxvf 0.8.13
# cd fail2ban-0.8.13
# ./setup.py install
# tar zxvf 0.8.13
# cd fail2ban-0.8.13
# ./setup.py install
<설치> - rpm 다운로드
#
rpm -Uvh http:
//dl
.fedoraproject.org
/pub/epel/6/x86_64/epel-release-6-8
.noarch.rpm
# yum install fail2ban -y
< 각 OS 종류 별로 맞는 스크립트 복사하여 데몬 설정 >
# cd files
[root@master1 fail2ban-0.8.13]# cd files/
[root@master1 files]# ll
합계 64
-rw-rw-r-- 1 root root 5498 2014-03-15 17:14 bash-completion
drwxrwxr-x 2 root root 4096 2014-03-15 17:14 cacti
-rw-rw-r-- 1 root root 468 2014-03-15 17:14 fail2ban-logrotate
-rw-rw-r-- 1 root root 36 2014-03-15 17:14 fail2ban-tmpfiles.conf
-rw-rw-r-- 1 root root 313 2014-03-15 17:14 fail2ban.service
-rwxrwxr-x 1 root root 2400 2014-03-15 17:14 gen_badbots
-rw-rw-r-- 1 root root 218 2014-03-15 17:14 gentoo-confd
-rwxrwxr-x 1 root root 1556 2014-03-15 17:14 gentoo-initd
-rw-rw-r-- 1 root root 1011 2014-03-15 17:14 ipmasq-ZZZzzz_fail2ban.rul
-rw-rw-r-- 1 root root 587 2014-03-15 17:14 macosx-initd
drwxrwxr-x 2 root root 4096 2014-03-15 17:14 nagios
-rwxrwxr-x 1 root root 2141 2014-03-15 17:14 redhat-initd
-rw-rw-r-- 1 root root 1615 2014-03-15 17:14 solaris-fail2ban.xml
-rwxrwxr-x 1 root root 1682 2014-03-15 17:14 solaris-svc-fail2ban
-rw-rw-r-- 1 root root 2679 2014-03-15 17:14 suse-initd
[root@master1 files]# cp redhat-initd /etc/init.d/fail2ban
[root@master1 files]# chmod 755 /etc/init.d/fail2ban
[root@master1 files]# chkconfig fail2ban on
[root@master1 files]# chkconfig --list | grep fail2ban
fail2ban 0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제
<jail.conf 설정파일 복사>
# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
< 탐지 ignore 할 ip 설정 >
# vi /etc/fail2ban/jail.local
ignoreip = 자신의ip
* 악성 IP를 찾아 감옥(Jail)에 넣기 위해 jail.conf (fail2ban 설정 파일)에 규칙을 생성하여 대상 IP의 요청을 일정 시간 동안 무시하도록 할 수 있다.
<ssh 설정>
# vi /etc/fail2ban/jail.conf
[ssh-iptables]
enabled = true // 사용 여부
filter = sshd // /etc/fail2ban/filter 에 로그를 읽을 때 사용할 필터가 정의
action = iptables[name=SSH, port=ssh, protocol=tcp]
sendmail-whois[name=SSH, dest=you@example.com, sender=fail2ban@example.com, sendername="Fail2Ban"] // iptables로 차단하고 메일을 발송하겟다는 내용
logpath = /var/log/sshd.log //로그 파일 위치
maxretry = 5 // 차단 적용 되는 실패 횟수
bantime = 1800 / 차단 시간
# touch /var/log/sshd.log
# /etc/init.d/fail2ban start
반응형
'OS' 카테고리의 다른 글
Microsoft ACPI-Compliant System (0) | 2014.09.19 |
---|---|
리눅스 보안 관련 설정 (0) | 2014.09.19 |
리눅스 Iptables (0) | 2014.09.19 |
vnc 서버 설치 (0) | 2014.09.19 |
리눅스 cpu 코어에 프로세서 지정 명령어 (0) | 2014.09.19 |