간단하게 설명을 하자면 hosts.deny로 기본적으로 모든 접속을 허용하지 않도록 하되, hosts.allow를 통해 원하는 ip만 접속을 허용시켜줬다. 이 때 접속을 허용 ip는 sshfilter.sh를 통해 구분해줬다.
4. 정상 작동 테스트
/usr/local/bin/sshfilter.sh 8.8.8.8
sudo vi /var/log/syslog
ctrl+End를 통해 맨 아래 DENY sshd connection from 8.8.8.8 (US)가 있으면 정상 작동 중인 것이다.
5. GEOIP의 주기적 UPDATE
주기적으로 ip를 업데이트 해주는 파일 생성한다.
sudo vi /etc/cron.monthly/updatingGeoIP
아래대로 내용을 작성한다.
#!/bin/bash
cd /tmp
wget -q http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
if [ -f GeoIP.dat.gz ]
then
gzip -d GeoIP.dat.gz
rm -f /usr/share/GeoIP/GeoIP.dat
mv -f GeoIP.dat /usr/share/GeoIP/GeoIP.dat
else
echo "The GeoIP library could not be downloaded and updated"
fi