fail2ban
무차별 비밀번호 대입을 통해 로그인을 시도하는 프로그램 및 해커들로부터 서버를 보호해준다.
똑같은 IP로 n번 로그인 실패를 했을 경우 정해진 시간동안 접속이 불가능하게 설정도 가능하다.
보통 SSH에 많이 적용하고 클라우드 상에서 fail2ban을 사용해서 접속을 막는 방법도 많이 사용한다.
왜 사용할까?
journalctl -f
해당 명령어를 통해 우리의 서버에 침투중인 상황을 실시간으로 볼 수 있다. 계속 로그가 올라오는게 침입 시도이다.
ctrl + c를 활용하여 빠져나올 수 있다.
설치 방법
sudo apt install fail2ban
설치와 동시에 시작되어 방어를 해준다.
설정 방법
sudo vi /etc/fail2ban/jail.local
이란 파일을 만든 뒤 내용을 작성하여 적용해 줘야한다.
형식
[DEFAULT]
ignoreip=192.168.0.0/24
bantime=100000
maxretry=3
findtime=100000
[sshd]
enabled = true
port=22
filter=sshd
logpath=/var/log/auth.log
# (선택) 메일 알림 기능
destemail = 사용자 이메일 ex) user@naver.com
sender = fail2ban@my-server.com
mta = sendmail
action = %(action_mwl)s
[DEFAULT] : fail2ban에 지정할 모든 서비스에 대한 설정
ignoreip : 설정을 적용하지 않을 IP 리스트. 보통 내부에서의 접속들은 적용하지 않는다.
bantime : 이상 접속을 감지한 경우 접속을 불가능하게 할 초 단위.
maxretry : 허용 접속 가능한 횟수.
findtime : 이상 접속의 횟수를 총괄 낼 초 단위 시간
[sshd] : ssh 접속 서비스에 대한 설정.
enable : 동작 여부를 나타낸다
port : 감지할 포트. 여러 포트를 사용할 경우 ex) port=22,23,24
filter : 이상 동작이라고 판단할 문자열. 정규식 사용 가능.
logpath : 필터링 할 전체 문자열 파일.
형식 전체 해석 : logpath에서 filter 항목을 찾아 findtime 시간 동안 maxretry 횟수 만큼 접속을 시도한 IP를 batime 만큼 차단한다.
작성 끝난 후 service fail2ban restart
현재 차단 현황 보는 방법과 풀어주기
현황보기 : sudo fail2ban-client status sshd
차단 풀어주기 : sudo fail2ban-client set sshd unbanip ip주소
'개념' 카테고리의 다른 글
우분투 ssh 포튼 번호 변경 방법과 이유 (0) | 2022.12.14 |
---|---|
로컬 서버 고정 IP 할당하기 (0) | 2022.12.14 |
iTerm ssh 자동 로그인 설정하기 (0) | 2022.12.14 |
안드로이드 및 아이폰 어플 리젝 사유 모음 (0) | 2022.08.11 |
AWS 보안설정 (2단계 인증 - MFA 인증) (0) | 2022.06.20 |