iptables和过滤来自穷人和懒惰异议者的流量

阻止访问禁止资源的相关性会影响任何管理员,这些管理员可能会被正式出示违反法律或有关当局命令的指示。



当有专门用于我们任务的程序和发行版时,为什么要重新发明轮子,例如:Zeroshell,pfSense,ClearOS。

当局提出了另一个问题:所使用的产品是否具有我们所在州的安全证书?

我们有使用以下发行版的经验:

  • Zeroshell-开发人员甚至颁发了2年的许可证,但事实证明,利益分配对我们执行对我们而言至关重要的功能是不合逻辑的;
  • pfSense-尊重和荣誉,同时无聊,习惯FreeBSD防火墙的命令行对我们来说还不够方便(我认为这是一个习惯问题,但事实证明不是“那样”);
  • ClearOS-事实证明,我们的硬件运行非常缓慢,我们无法进行严格的测试,为什么要使用如此繁重的接口?
  • Ideco SELECTA。 关于Aydeko产品,这是一个有趣的产品,有一个单独的话题,但是出于政治原因,它不适合我们,但我也想就相同的Linux,Roundcube等的许可证“咬”他们。 为什么他们获得了“剪切” Python界面并选择了超级用户权限的原因,他们可以出售由GPL等分发的Internet社区的开发和改进模块组成的成品。

我了解到,现在负面的呼声会向我灌输要求,以详细证实我的主观感受,但是我想说这个网络节点还是Internet的4个外部通道的流量平衡器,并且每个通道都有其自己的特征。 另一个基石是需要在不同地址空间中的多个网络接口之一上工作,我准备承认我还没有准备好在需要的地方使用VLAN。 在使用中,存在诸如TP-Link TL-R480T +之类的设备-它们表现不佳,通常会有其细微差别。 事实证明,由于Ubuntu站点外IP平衡,这是在Linux上配置此部分的责任:我们将多个Internet通道组合为一个 。 而且,每个通道可以随时“下降”或上升。 如果您对目前可以运行的脚本感兴趣(这值得一本单独的出版物),请在注释中写下。

有问题的解决方案并不是唯一的,但我想问一个问题:“当您考虑替代方案时,为什么公司会适应具有严格硬件要求的可疑第三方产品?”

如果在俄罗斯有一份清单列出了乌克兰的Roskomnadzor(国家安全委员会决定的附录)(例如, 此处 ),那么领导人也不会在地面上睡觉。 例如,管理层认为,我们得到了一份被禁地点清单,这会使工作场所的劳动生产率恶化。

与默认情况下禁止所有站点的其他企业的同事进行通信,并且只有在得到老板许可的情况下,您才能访问特定的站点,恭敬地微笑,思考并“抽烟”,很明显,生活依然美好,我们开始搜索。

我们不仅有机会分析一下“家庭主妇书籍”中有关流量过滤的内容,而且还看到了不同提供商的渠道上发生了什么,我们注意到以下食谱(所有屏幕截图都被裁剪了,请理解并原谅):
提供者1-不打扰并强加自己的DNS服务器和透明代理服务器。 好吗?..但是我们可以访问我们需要的位置(如果需要的话:))
提供者2-他认为顶级提供商应该考虑一下,顶级提供商的技术支持甚至承认了为什么我无法为我打开必要的非禁止站点。 我认为图片会逗你:)



事实证明,它们将禁止站点的名称转换为IP地址并阻止IP(在该IP地址上可以托管20个站点并不打扰他们)。
提供者3-将流量传递到那里,但不允许沿着路线返回。
提供者4-禁止在指定方向上对软件包进行所有操作。
与VPN(Opera浏览器方面)和浏览器插件怎么办? 首先,使用Mikrotik集线器,我们甚至获得了L7的资源密集型配方,后来我们不得不放弃它(可能还有更多的禁忌名称,当除了其对路线的直接职责外,在数十个表达式上,PPC460GT处理器达到100时,它变得很可悲) %)。



清楚的是:
127.0.0.1上的CSN绝对不是万能药,现代版本的浏览器仍然可以让您绕过此类麻烦。 用剥夺的权利来限制所有用户是不可能的,并且一定不要忘记大量的替代DNS。 互联网不是静态的,除新的DNS地址外,被禁止的站点还会购买新地址,更改顶级域,并可以在其地址中添加/删除字符。 但是他仍然有权过这样的生活(主观地:在这种保护下,我看到浏览器茫然地等待答案,并且包含禁止内容的元素的页面需要花费很长时间来加载):

ip route add blackhole 1.2.3.4 

从被禁止站点列表中获取IP地址列表将非常有效,但是由于上述原因,我们转向了对Iptables的考虑。 CentOS Linux版本7.5.1804上已经有一个实时平衡器。

用户的互联网应该速度很快,浏览器也不应等待半分钟,因为该页面不可用。 在长期寻找不同的锁定选项之后,我们来到了这个模型:
文件1-> / script /拒绝主机 ,禁止名称列表:

 test.test blablabla.bubu torrent porno 

文件2-> / script / reject_range ,禁止的地址空间和地址的列表:

 192.168.111.0/24 241.242.0.0/16 

脚本文件3-> ipt.sh ,可与ipables一起使用:

 #       HOSTS=`cat /script/denied_host | grep -v '^#'` RANGE=`cat /script/denied_range | grep -v '^#'` echo "Stopping firewall and allowing everyone..." #    iptables,      sudo iptables -F sudo iptables -X sudo iptables -t nat -F sudo iptables -t nat -X sudo iptables -t mangle -F sudo iptables -t mangle -X sudo iptables -P INPUT ACCEPT sudo iptables -P FORWARD ACCEPT sudo iptables -P OUTPUT ACCEPT #     (  ) sudo sh rout.sh #          for i in $HOSTS; do sudo iptables -I FORWARD -m string --string $i --algo bm --from 1 --to 600 -p tcp -j REJECT --reject-with tcp-reset; sudo iptables -I FORWARD -m string --string $i --algo bm --from 1 --to 600 -p udp -j DROP; done #          for i in $RANGE; do sudo iptables -I FORWARD -p UDP -d $i -j DROP; sudo iptables -I FORWARD -p TCP -d $i -j REJECT --reject-with tcp-reset; done 

使用sudo的原因是我们拥有一个可以通过WEB界面进行管理的小技巧,但是正如使用这种模型超过一年的经验所表明的那样,WEB并不是必须的。 实施后,人们希望在数据库中列出站点等。 被阻止的主机数量超过250 +十几个地址空间。 确实,当通过https连接切换到站点时以及系统管理员时存在问题,我对浏览器有抱怨:),但是这些是特殊情况,大多数对缺乏资源访问权限的响应仍在我们这边,我们还成功阻止了Opera VPN,插件例如Microsoft的friGate和遥测。

Source: https://habr.com/ru/post/zh-CN471402/


All Articles