https://www.shusite.com/server/3313.html
网络是开放的,这样是为了访问方便,但也带来一些安全隐患,总有一些不明身份的人,不断尝试着想非法进入你的系统,比如你架一个FTP服务器,是为了网站客户方便上传文件,却发现,每天都会收到大量的FTP失败登陆的警告信息,原来网络上有很多人会不停地尝试登陆FTP服务器,其目的咱就不说了,想必很多架服务器的人都有一个想法,怎么防备这些非法请求呢?
因为开放的网络,客户分布得也是比较随机,同时也就没办法通过具体IP限制来阻拦这些非法请求,但如果客户是在一个固定的范围,比较全部来自大陆,那就好办了,我们可以通过阻拦非该区域的访问即可达到目的。
接下来就讲讲怎么在DEBIAN下利用IPTABLES+geoip来阻拦一些非法请求。
为了方便,直接通过apt-get方式安装。
apt-get install xtables-addons-common libtext-csv-xs-perl iptables-dev unzip mkdir /usr/share/xt_geoip #创建geoip数据库目录 /usr/lib/xtables-addons/xt_geoip_dl #下载geoip数据库 /usr/lib/xtables-addons/xt_geoip_build GeoIPCountryWhois.csv cp -rp {BE,LE} /usr/share/xt_geoip/ |
完成相应安装之后,就可以用IPTABLES来限制相应的访问区域了,比如下面这条,只允许大陆用户访问FTP服务器.
iptables -A INPUT -p tcp -m tcp --dport 21 -m geoip --src-cc CN -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT |
执行xt_geoip_build可能会有错。提示perl缺少Net::CIDR::Lite这里需要执行对这个模块的安装
perl -MCPAN -e shell
install Net::CIDR::Lite
然后需要等一段时间。