포트 노킹

서버의 다른 포트에 먼저 “노크”한 후 원하는 포트에 접근하는 방법이다. 노크의 패턴이 틀리면 원하는 포트에 접근이 거부된다. SSH 포트를 22에서 root가 아닌 사용자도 열 수 있는 1024 이상의 포트로 옮기는 대신 다른 포트에 먼저 신호를 보낸 뒤 포트 22에 접근할 때 쓸 수 있는 방법이다. 다음의 iptables 필터 룰을 이용해서 포트 3456에 노크한 후 포트 22에 접속하게 할 수 있다.

iptables -A INPUT -p tcp --dport 3456 -m recent --set --name portknock
iptables -A INPUT -p tcp --syn --dport 22 -m recent --rcheck --seconds 60 --name portknock -j ACCEPT
iptables -A INPUT -p tcp --syn --dport 22 -j DENY

참고문헌

이 칸을 비워 두세요.