/etc/hosts.deny 를 이용하여 특정 아이피 ssh 연결 막기
앞단에 방화벽이 있기에 Debian 10 에서 iptables 나 firewalld 를 사용 하고 있지 않고 있다.
그러다가 어느날 로그를 보니 다양한 나라의 아아피 주소로 부터 ssh 연결 시도가 들어 오고 있었다.
찾아보던 중 tcp_wrappers 를 이용한 필더링이 있다고 하여 시도해 보았다.
* tcp_wrappers 의 자세한 내용은 이곳을 참고 한다.
대부분 /etc/hosts.deny, /etc/hosts.allow 파일을 아래와 같은 형식으로 사용하고 있었다.
/etc/hosts.deny | /etc/hosts.allow |
ALL : ALL sshd : ALL |
ALL : 허용할 IP주소 sshd : 허용할 IP주소 |
위의 설정과 같이 쉽게는 전체를 막고, 필요한 것만 풀어 주는것이 편리 하기는 하다.
혹시, 원하는 아이피만 막을 수 있나 하는 마음에 아래와 같이 작성 하여 보았다.
참고 : 본인의 경우 본인의 아이피 주소를 막는 상황이 발생 하였다. 다행히 열려 있는 ssh session 을 통해 내 아이피 주소를 제거 하였다. 조심...
root@FREECATZ-PE-KR:~# vi /etc/hosts.deny
... 중략 ...
# 참고 : * 는 아이피 주소의 뒷자리를 마스킹 처리 한 것이다. * 로 하면 해당 아이피 대역대가 다 막힐거 같아 무서워서 못해봤다.
sshd : 186.189.193.***
sshd : 103.122.246.**
sshd : 20.71.193.***
sshd : 122.246.***
sshd : 182.148.12.*
sshd : 218.224.235.***
sshd : 193.112.62.*
sshd : 121.5.137.**
sshd : 115.68.233.*
저장 하고 나온뒤, 바로 적용 된다고 하여 로그를 보았다.
root@FREECATZ-PE-KR:~# tail -f /var/log/auth.log
... 중략 ...
Jan 27 13:05:12 freecatz-web sshd[17278]: refused connect from 186.189.193.*** (186.189.193.***)
Jan 27 13:05:31 freecatz-web sshd[17282]: refused connect from 182.148.12.* (182.148.12.*)
Jan 27 13:05:32 freecatz-web sshd[17283]: refused connect from 103.122.246.** (103.122.246.**)
Jan 27 13:05:46 freecatz-web sshd[17284]: refused connect from 218.224.235.*** (218.224.235.***)
Jan 27 13:05:49 freecatz-web sshd[17285]: refused connect from 20.71.193.*** (20.71.193.***)
Jan 27 13:06:04 freecatz-web sshd[17290]: refused connect from 186.189.193.*** (186.189.193.***)
Jan 27 13:06:04 freecatz-web sshd[17292]: refused connect from 121.5.137.** (121.5.137.**)
Jan 27 13:06:08 freecatz-web sshd[17296]: refused connect from 193.112.62.* (193.112.62.*)
Jan 27 13:06:26 freecatz-web sshd[17298]: refused connect from 182.148.12.* (182.148.12.*)
Jan 27 13:06:29 freecatz-web sshd[17300]: refused connect from 103.122.246.** (103.122.246.**)
Jan 27 13:06:42 freecatz-web sshd[17311]: refused connect from 218.224.235.*** (218.224.235.***)
Jan 27 13:06:52 freecatz-web sshd[17312]: refused connect from 20.71.193.*** (20.71.193.***)
Jan 27 13:06:57 freecatz-web sshd[17313]: refused connect from 186.189.193.*** (186.189.193.***)
lastb 명령으로 접속 실패 로그를 보고, 접속에 실채한 아이피 주소를 추가 해주도록 하자.
* 참고 : lastb 명령은 /var/log/btmp 파일로 부터 연결 실패 목록을 보여 준다.
root@FREECATZ-PE-KR:~# lastb | more
... 중략 ...
root ssh:notty 20.71.193.* Thu Jan 27 12:58 - 12:58 (00:00)
root ssh:notty 186.189.193.*** Thu Jan 27 12:58 - 12:58 (00:00)
root ssh:notty 121.5.137.** Thu Jan 27 12:58 - 12:58 (00:00)
root ssh:notty 182.148.12.*. Thu Jan 27 12:58 - 12:58 (00:00)