[테스트3] IPS(fail2ban) 설정
※ IPS에 관한 것은 사전에 다루지는 않았지만 이 글에서 테스트하려고 한다.
1. IPS(fail2ban) 설정
1) fail2ban 설치
▶ [yum install fail2ban -y] 명령어로 fail2ban이라는 IPS를 설치한다.
2) 메일서버 설치
▶ [yum install mail -y] 명령어로 메일서버를 설치한다.
▶ 메일서버를 설치하는 이유는 fail2ban이라는 IPS로 차단 후 차단한 내용을 메일로 자동으로 보고받기 위해서이다.
3) SSH 설정
▶ [vi /etc/fail2ban/jail.local]
▶ /*
[ssh-iptables] //jail명
enabled = true //jail의 사용여부
filter = sshd //필터명
action = iptables[name=SSH, port=ssh, protocol=tcp]
sendmail-whois[name=SSH, dest="수신 메일주소", sender="송신 메일주소"]
logpath = /var/log/secure //감시할 로그파일
maxretry = 5 //최대 시도횟수
▶ */ 위 내용은 ssh의 jail을 설정하는 것이다. (jail은 감옥을 의미한다.)
▶ 즉 5회이상 인증에 실패하면 해당IP를 차단하고 메일로 보고하는 것을 말한다.
▶ ssh의 jail은 [ssh-iptables] 이지만 이 외에도 다른 jail이 존재한다.
▶ [proftpd-iptables], [vsftpd-iptables], [apache-badbots] 등이 있다.
4) 웹 설정
▶ [vi /etc/fail2ban/jail.local]
▶ /*
[apache-noscript] //jail명
enabled = true //jail의 사용여부
port = http, https
filter = apache-noscript //필터명
logpath = /var/log/httpd/error_log //감시할 로그파일
maxretry = 5 //최대 시도횟수
▶ */ 위 내용은 웹 서버 jail을 설정하는 것이다.
▶ [apache-noscript]는 실제로 없는 사이트에 접속을 시도할 경우에 체크된다.
▶ 예를 들어 사용자가 index.jsp에서 admin.jsp나 board.jsp 등으로 강제URL접근을 시도할 경우를 말한다.
5) fail2ban 서비스 시작
▶ [service fail2ban start] 명령어로 fail2ban 서비스를 시작한다.
6) ssh로 접속
▶ 비밀번호를 틀리게 접속을 시도한다.
7) fail2ban 확인
▶ [fail2ban-client status] 명령어로 jail 리스트를 확인한다.
▶ 여기서는 ssh의 jail 설정만 했고 웹 서버 jail은 저장하지 않았기 때문에 ssh의 jail리스트만 출력된다.
▶ [fail2ban-client status ssh-iptables] 명령어로 ssh의 jail에서 필터링 된 것과 차단된 IP 등을 확인할 수 있다.
8) 메일확인
▶ 실제로 메일에 접속해서 확인해보니 Fail2Ban에서 보낸 메일이 있다.
▶ ossec66으로부터 172.16.10.18의 ssh접속을 차단했다는 내용이 담겨있다.
'Linux > 서버 보안(CentOS)' 카테고리의 다른 글
[테스트4] 암호화된 하드디스크 마운트 (0) | 2018.12.24 |
---|---|
[테스트2] 공개키 생성과 관리 및 배포 후 사용 (0) | 2018.12.23 |
[테스트1] 서버 기본설정 (0) | 2018.12.23 |
스케쥴러 (0) | 2018.12.16 |
네트워크 보안 (0) | 2018.11.25 |
댓글