devops
fail2ban 패키지 설치, 설정하여 SSH 서버 강화하기 본문
fail2ban
원격 서버로 접속하기 위해서 SSH를 사용하는 사람들이 많다. 그러나 본인이 아닌 해커가 무작위 로그인을 시도하여 문제가 발생할 수 있는데, 무작위 로그인 공격에 대응하기 위해 사용하는 것이 fail2ban 패키지다. (파이썬으로 개발됨)
IP주소를 기준으로 커널 방화벽에 등록하여 무작위 로그인 공격을 차단시켜준다. SSH를 공용으로 사용한다면 설치하는 것을 추천한다.
설치방법(우분투 Ubuntu 기준)
$ sudo apt install fail2ban
서비스 시작, 재시작, 정지, 상태 확인
$ sudo systemctl enable fail2ban
$ sudo systemctl disable fail2ban
$ sudo systemctl restart fail2ban
$ sudo systemctl stauts fail2ban
설정
기본 설정은 /etc/fail2ban/jail.conf에서 수정할 수 있다. 개인화 설정은 /etc/fail2ban/jail.local 에서 가능하다.
주요 설정 값만 정리해보았다.
ignoreip : 무작위 로그인 차단을 적용하지 않을 IP 설정이다. 이 값은 디폴트기 때문에 직접 입력해준다.
bantime : 인증에 실패한 클라이언트를 차단하는 시간이다. 초 단위로 지정한다. 지정된 시간을 초과하면 다시 접속 시도를 할 수 있다.
findtime : 지정된 시간(초 단위)동안 지정된 횟수(maxretry)만큼 실패 시 차단하는 설정이다.
maxretry : 최대 인증가능 횟수 설정값이다.
fail2ban은 차단 정보를 메일로 전송해주는 기능도 있다. 위 값들을 이용하여 설정한다.
destmail : 차단 메일을 수신할 수신자 메일 주소
sender : 차단 메일을 보내는 발신자 메일 주소
$ sudo ipset --list
설정된 ipset 정보 확인
추가 Tip,
$ tail -F /var/log/auth.log
접속과 관련된 로그 내역을 확인
$ tail -f /var/log/fail2ban.log
fail2ban의 동작 로그는 /var/log/fail2ban.log에 기록된다. 위 명령어를 실행하면 로그를 확인할 수 있다.
'DevOps > OS' 카테고리의 다른 글
우분투(Ubuntu) 노트북 닫으면 꺼지는 절전모드 해제하는 방법 (0) | 2021.09.30 |
---|---|
Ubuntu(우분투) ip 주소, 게이트웨이, DNS 변경 및 고정 ip 설정 방법 (0) | 2021.09.29 |
리눅스(linux) ifconfig, route 명령어 테스트 (0) | 2021.08.28 |
리눅스(Linux) 환경변수 PATH? 환경변수 설정 방법 (0) | 2021.08.26 |
shell과 bash의 간단한 개념 정리 (0) | 2021.08.26 |