linux – iptables – 好的,**现在**我做得对吗?

linux – iptables – 好的,**现在**我做得对吗?,第1张

概述这是对 previous question的跟进,我询问我的iptables配置是否正确. CentOS 5.3系统. 预期结果:阻止除ping,ssh,Apache和SSL之外的所有内容. 基于xenoterracide’s advice和其他问题的回答(谢谢你们),我创建了这个脚本: # Establish a clean slateiptables -P INPUT ACCEPTipta 这是对 @L_301_0@的跟进,我询问我的iptables配置是否正确.

CentOS 5.3系统.

预期结果:阻止除Ping,ssh,Apache和SSL之外的所有内容.

基于xenoterracide’s advice和其他问题的回答(谢谢你们),我创建了这个脚本:

# Establish a clean slateiptables -P input ACCEPTiptables -P FORWARD ACCEPTiptables -P OUTPUT ACCEPTiptables -F # Flush all rulesiptables -X # Delete all chains# disable routing. Drop packets if they reach the end of the chain.iptables -P FORWARD DROP# Drop all packets with a bad stateiptables -A input -m state --state INVALID -j DROP# Accept any packets that have something to do with ones we've sent on outboundiptables -A input -m state --state RELATED,ESTABliSHED -j ACCEPT# Accept any packets coming or going on localhost (this can be very important)iptables -A input -i lo -j ACCEPT# Accept ICMPiptables -A input -p icmp -j ACCEPT# Allow sshiptables -A input -p tcp --dport 22 -j ACCEPT# Allow @R_419_6822@diptables -A input -p tcp --dport 80 -j ACCEPT# Allow SSLiptables -A input -p tcp --dport 443 -j ACCEPT# Block all other traffic iptables -A input -j DROP

现在当我列出我得到的规则时……

# iptables -L -vChain input (policy ACCEPT 0 packets,0 bytes) pkts bytes target     prot opt in     out     source               destination             0     0 DROP       all  --  any    any     anywhere             anywhere            state INVALID     9   612 ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABliSHED     0     0 ACCEPT     all  --  lo     any     anywhere             anywhere                0     0 ACCEPT     icmp --  any    any     anywhere             anywhere                0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh     0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:@R_419_6822@     0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:@R_419_6822@s     0     0 DROP       all  --  any    any     anywhere             anywhere            Chain FORWARD (policy DROP 0 packets,0 bytes) pkts bytes target     prot opt in     out     source               destination         Chain OUTPUT (policy ACCEPT 5 packets,644 bytes) pkts bytes target     prot opt in     out     source               destination

我跑了它,我仍然可以登录,所以这很好.有没有人注意到任何重大事件?

解决方法 在大多数情况下看起来不错.主要的是你应该使用iptables-save和iptables-restore而不是重复运行iptables. iptables-save / restore方法为您提供原子批量更新(如数据库事务),因此您知道没有任何东西可以进入(或者没有进入),因为当网络数据包到达时,您的iptables更改已完成一半.进行此更改还可以转储初始ACCEPT策略,因此它只设置首选策略(最好是DENY),然后设置单个规则(ACCEPTed的例外).

除此之外,您可能希望更多地关注ICMP(而不仅仅是允许所有内容).我听说ICMP的某些方面现在非常狡猾.就个人而言,我认为这不值得,因为如此多的诊断和流量管理都依赖于ICMP.

关于womble的“不要使用iptables”评论:我不会说你不应该直接使用iptables(或iptables-save / restore),但我建议你改用FERM.它本质上只是iptables,具有更具表现力和更少重复的语言,以及可变支持.例如,你的iptables命令:

iptables -P input ACCEPT...# Allow sshiptables -A input -p tcp --dport 22 -j ACCEPT# Allow @R_419_6822@diptables -A input -p tcp --dport 80 -j ACCEPT# Allow SSLiptables -A input -p tcp --dport 443 -j ACCEPT

在ferm看起来更像这样:

# allow some incoming TCPchain input {    policy ACCEPT;    proto tcp dport (ssh @R_419_6822@d @R_419_6822@s) ACCEPT;}

好多了,对吧? 总结

以上是内存溢出为你收集整理的linux – iptables – 好的,**现在**我做得对吗?全部内容,希望文章能够帮你解决linux – iptables – 好的,**现在**我做得对吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1037199.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存