
방금 SSH 액세스를 화이트리스트에 등록할 방법이 없는 클라우드 제공업체에 서버를 임대했습니다. SSH를 통해 내 서버에 액세스하고 다른 모든 사람을 블랙리스트에 추가하기 위해 내 IP 주소를 원격으로 화이트리스트에 추가하는 방법을 찾으려고 노력 중입니다. IP 테이블을 사용하려고 생각했지만 IP 주소가 동적이기 때문에 결코 작동하지 않습니다. AWS 보안 그룹과 유사합니다. IP 변경/잠금 시 원격으로 iptables를 관리할 수 있는 서비스나 효율적인 방법을 누군가가 알고 있다면 비싸지 않거나 더 좋지 않은 한 유료 서비스를 사용할 의향이 있습니다.
답변1
스크립트를 사용하여 iptables 및 DDNS 서비스를 업데이트하는 것은 다소 간단합니다.
IP 작업을 별도의 체인에 넣습니다.
-A MYIP -s 1.2.3.4/32 -j ACCEPT
-A MYIP -j DROP
그런 다음 SSH 포트에서 이 체인을 실행합니다. 예:
-A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --dport 22 -j MYIP
그런 다음 주기적으로(예 :) 동적 IP에서 작업을 수행하고 변경 사항이 감지되면 체인을 플러시/다시 쓰는 cron
스크립트를 실행합니다 .nslookup
MYIP
#!/bin/bash
IPSAVE=/etc/sysconfig/iptables
update_iptables() {
MN=$1
CHAIN=$2
IP=`nslookup ${MN} | tail --lines=-3 | grep Address | awk '{print $2}'`
if [ `echo ${IP} | wc -m` -gt 0 ]
then
C=`grep -c "\-A ${CHAIN} \-j " ${IPSAVE}`
D=`grep "\-A ${CHAIN} \-s " ${IPSAVE} | grep -c "${IP}"`
if [ ${C} -gt 0 ] && [ ${D} -eq 0 ]
then
/sbin/iptables -F ${CHAIN}
/sbin/iptables -A ${CHAIN} -s ${IP}/32 -j ACCEPT
/sbin/iptables -A ${CHAIN} -j DROP
fi
fi
}
update_iptables my.dynamic.hostname.com MYIP