라즈베리파이를 포트포워딩 하여 외부 인터넷으로 노출해두신 분들이라면 내 서버로 어마어마한 접근 시도들이 있는걸 로그로 보실 수 있습니다. (특히 포트가 잘 알려진 22, 80, 443과 같은 포트인 경우)
포트를 10000번대 이후로 변경하더라도 때때로 누군가 이마저 찾아내어 들어오려고 하는 로그를 본 적이 있습니다.
사실 해커들은 로봇으로 무작위 대입을 해보기 때문에 포트 변경을 하더라도 봇으로 다 찾아냅니다..
그래서 이번엔 라즈베리파이에 fail2ban 을 설치하여 접근을 시도하는 해커들로부터 보안을 강화해 보려 합니다.
fail2ban 이란?
외부 침입자들로부터 계정 또는 비밀번호 시도 횟수 초과시 특정 시간동안 아예 접근을 못하도록 막아버리는 프로그램
fail2ban 은 ssh, apache 등 여러가지 프로토콜의 보안을 강화 시켜줄 수 있는데 이번 시간엔 ssh 로 로그인을 시도하는 해커들이 더이상 찝쩍(?) 일 수 없도록 만들어 보겠습니다.
sudo apt install fail2ban
fail2ban 을 설치해 줍니다.
vi /etc/fail2ban/jail.conf
위의 경로의 jail.conf 를 열어 줍니다.
그 후 파일에서 살짝 내리다보면
[DEFAULT] 부분에 위와 같은 bantime 과 findtime 이 있는걸 보실 수 있습니다.
findtime 은 maxretry(최대 재시도 횟수) 횟수를 시도하는 총 시간 으로, 예를들어 maxretry=5, findtime=600 이면 10분동안 5번 시도까지 허용을 하고 6번째 또 시도를 하면 block 시켜버립니다.
bantime 은 block 이 된 IP에 대해 얼마(시간)동안 접근을 못하게 막을 것인지에 대한 시간으로, bantime=600 이면 10분동안 block 된 IP로는 접근을 할 수 없게 됩니다.
따라서 우린 라즈베리파이의 비번을 잘 알고 있기 때문에 위의 bantime과 findtime 수치를 확 올려 줍니다.
저의 경우는
bantime=604800 (일주일)
findtime=6000 (100분)
으로 설정했습니다.
maxretry 는 사실 내가 비밀번호를 잘못쳐서 몇번 틀릴 수 있기 때문에 5회까지 가능하도록 해 두었습니다.
(5회씩 연속적으로 틀일 일은 없기 때문에..)
이제 100분동안 5회 비번 try 를 하는 공격자가 있다면 6번째 시도를 하려고 하는 순간 block 이 되고 일주일간 다시는 나의 라즈베리서버에 접근조차 하지 못하게 됩니다.
이제,
systemctl retstart fail2ban
서비스를 재기동 해 줍니다.
이제 config 가 반영되었습니다.
현재 fail2ban 의 block이나 상태 확인을 하고 싶다면,
sudo fail2ban-client status sshd
위 명령어를 수행해보시면 sshd 에 대해
위와 같이 현재 비밀번호 시도 실패 횟수, total 실패 횟수 그리고 그로 인한 banned(block) 횟수, banned 된 IP 까지 상세하게 보실 수 있습니다.
보통 해커가 직접 비밀번호를 하나하나 쳐보는 것이 아닌 로봇으로 랜덤값을 돌리며 시도하고, 또 접근IP도 1개만 사용하는것이 아닌 vpn 으로 바꿔가면서 지속적으로 시도합니다.
따라서 한번 공격 당할때 어마어마하게 많은 IP로 부터 공격 당하게 될 것이며 그 수많은 IP들이 시도를 하다가 전부 block 되어 일주일간 막히게 될 것입니다. (로그로 직접 본적이 있습니다)
일주일씩 해 둔 이유는 장시간 막혀있으면 타겟이 바뀌어 그 후 시도가 안들어오는 경향이 있는 것 같아서 입니다.
더 길게 또는 maxretry 를 짧게 하시도 싶으신 분들은 입맛에 맞게 config 수정을 해 주시면 됩니다!
끝.
'리눅스' 카테고리의 다른 글
라즈베리파이 ssh 접속 포트 변경하기 (보안 강화) (2) | 2021.01.20 |
---|---|
라즈베리파이 와이파이 네트워크 이유 없이 끊길 때 자동 부활 스크립트 (0) | 2021.01.20 |
라즈베리파이 webdav 구축 후 휴대폰으로 감상하기 (0) | 2021.01.20 |
라즈베리파이 webdav 연결하여 나만의 영화 서버 구축(HTTP 편) (4) | 2021.01.20 |
라즈베리파이 webdav 연결하여 나만의 영화 서버 구축(HTTPS 편) (0) | 2021.01.20 |