반응형
어제는 해외에서 나의 라즈베리파이에 ssh를 해킹하려는 시도가 있었다.
그래서, 카페를 찾아보니, ssh보안으로 fail2Ban이라는 프로그램을 사용한다더라.
설치해보자.
$ sudo apt-get install fail2ban

설치를 마치고 나면 기본 파일을 수정하자.
$ cd /etc/fail2ban/
$ sudo cp jail.conf jail.local
$ sudo vim jail.local
[DEFAULT]
ignorself: local을 차단하지 않을지 여부 (기본 값이 True)
ignoreip: 차단하지 않을 IP
findtime: 기록을 확인 할 시간
ex) 10m = 10분, 1h = 1시간, 3600 = 3600초(1시간)
bantime: 규칙에 해당하는 경우 차단할 시간
ex) 10m = 10분, 1h = 1시간, 3600 = 3600초(1시간), -1 = 영구
maxretry: 시도할 수 있는 횟수
[ 기존 파일 ]

[ 수정 파일 ]

결국, banktime 은 -1을 입력하여 영구적으로 입력할 수 없게 만드는 것이다.
findtime은 기록을 확인하는 시간을 의미하고, maxretry 횟수는 5회로 한다.
다음은 fail2ban을 실행하자.
password를 입력해야 한다.
$ systemctl start fail2ban // fail2ban 실행하기
$ systemctl restart fail2ban // restart fail2ban
$ sudo systemctl enable fail2ban // 시스템 시작시 자동으로 시작하게 함.


이제 test 해보자.
내 스마트폰에 있는 ssh로 접속을 시도해봤다.
물론 id/pw는 이상한 이름을 입력하였다. 5번을 입력하고 나니 더이상 입력이 되지 않았다.

그리고 pi4에서 fail2ban.log 파일을 확인하니 실제 아래와 같이 maxRetry 5번이 있어서 차단이 되었음이 확인되었다.

나도 가끔 실수 할 수도 있으니 묶여 있는 ip를 해제 해보자.
$ sudo fail2bank-client set sshd unbanip 10.0.2.2
$ tail -100 /var/log/fail2ban.log

이와 같이 다시 거부되었던 ip 192.168.0.1이 다시 해제(unban) 처리 되었음을 알 수 있다.
[ 출처 ]
반응형
'라즈베리파이4' 카테고리의 다른 글
내 서버에 공격을 해오다니... (0) | 2022.05.13 |
---|---|
pi4 - Home Assistant 설치 (0) | 2022.04.23 |
라즈베리파이 - OLED 화면 등장 (0) | 2022.04.23 |
댓글