我读到某些types的ICMP数据包可能是有害的。 问题: 哪些和为什么? 我应该如何布局一个iptables规则集来处理每种types的ICMP数据包? 我应该对任何这些types的ICMP数据包进行速率限制吗? 如何? [1]我读到的types:redirect(5),时间戳(13)和地址掩码请求(17)。 请不要只考虑你的答案。 更多信息 这是一个与Ubuntu服务器VPS的Web服务器。 目标 我试图让系统更安全,减less一些D / DoS攻击和一般滥用的风险。 有关 我的Linux防火墙是否安全? 为什么不阻止ICMP?
我有一个小型networking与路由器,它保持连接到Internet,服务器和本地networking中的一些工作站。 服务器意味着从Internet访问,并且在路由器iptables中设置了几个DNAT条目,如下所示: -A PREROUTING -i ppp0 -p tcp -m multiport –dports 22,25,80,443 -j DNAT –to-destination 192.168.2.10 外部数据包通过ppp0接口到达路由器,内部路由器从br-lan去,实际上包括交换机和WLAN适配器。 问题是,虽然外部访问工作正常,但试图通过DNSparsing的外部IP(分配给ppp0 )从LAN内部访问服务器失败。 我能够发明的唯一解决scheme是向路由器的/etc/hosts指向内部IP的静态条目,但由于没有通配符(我至less有三个分配给该系统的顶级域名,的子域),这是相当脆弱和容易失败。 你能提出更好的build议吗? 我只find这个问题 ,这不是很有帮助。 如果这是相关的,路由器用dnsmasq运行OpenWRT 10.03 Kamikaze。
昨天我买了一台新的电脑作为我的家用服务器,一台HP Proliant Microserver。 安装Arch Linux,内核版本3.2.12。 安装iptables(1.4.12.2 – 当前版本AFAIK)并将net.ipv4.ip_forward项更改为1,并在iptablesconfiguration文件中启用转发(并重新启动)后,系统将无法使用其任何networking接口。 Ping失败 Ping: sendmsg: operation not permitted 如果我完全删除iptables,联网是好的,但我需要共享Internet连接到本地networking。 集成在主板上的eth0 – wan网卡(Broadcom NetXtreme BCM5723)。 eth1 -lan网卡在一个pci-express插槽(Intel 82574L千兆networking) 由于它没有iptables(服务器可以访问互联网,我可以从内部networkingsshlogin),我认为它与iptables有关。 我没有太多的经验与iptables,所以我用这些作为参考(当然彼此分开…): wiki.archlinux.org/index.php/Simple_stateful_firewall#Setting_up_a_NAT_gateway revsys.com/writings/quicktips/nat.html howtoforge.com/nat_iptables 在我之前的服务器上,我使用revsys指南来设置nat,像一个魅力一样工作。 任何人都经历过这样的事情? 我究竟做错了什么?
我有一个服务器,不允许连接到外部来源的MySQL – 我的所有数据库和连接发生在本地主机上。 iptables的默认策略是删除我没有指定的任何端口的连接(目前我没有在我的iptable规则中指定端口3306,所以到这个端口的所有连接都被删除)。 这很好,但现在我想连接到位于Amazon RDS外部的mysql数据库。 端口3306可以向外部开放,如下所示: iptables -t filter -A INPUT -p tcp –sport 3306 -j ACCEPT iptables -t filter -A OUTPUT -p tcp –dport 3306 -j ACCEPT 这使我可以连接到Amazon RDS上的数据库,但是它也允许远程连接到我的服务器上的数据库。 我需要做些什么来允许我的服务器连接到Amazon上的数据库,但是限制到服务器上的数据库的外部连接? 另外请记住,我相信Amazon RDS实例的IP地址可以定期更改。
标准的Linux防火墙iptables不会在重启之间保存规则。 你必须自己照顾这个。 有很多方法可以做到这一点。 什么是规范的方式来做到这一点? 什么是最佳实践? 我会用我自己的解决scheme回答,但我对其他/更好的解决scheme感兴趣。
我有一个这样的小脚本来configurationiptables: #!/bin/bash PRE_STR="iptables -t nat -A PREROUTING -p tcp -j DNAT" FOR_STR="iptables -A FORWARD -p tcp -j ACCEPT" ##################################### # instances CM="10.0.1.137" MASTER="10.0.1.149" MYSQL="10.0.1.83" REPORTING="10.0.1.85" ##################################### # Clear Iptables iptables -F iptables -t nat -F ##################################### # Forward to enable Internet on private nodes iptables -t nat -A POSTROUTING -j MASQUERADE ##################################### # Port forwarding […]
iptables似乎不能识别–dport -p all 。 iptables -A INPUT -p all –dport www -j ACCEPT 收益率: iptables v1.4.4: unknown option `–dport' Try `iptables -h' or 'iptables –help' for more information. –destination-port doesn't work either: iptables v1.4.4: unknown option `–destination-port' 为-p tcp和-p udp添加两个单独的规则可以正常工作,那为什么不为-p all ? 万一它很重要,这是在Ubuntu 10.04 LTS服务器与iptables包版本1.4.4-2ubuntu2
我试图设置iptables规则,只允许3分钟的IP每分钟通过SSH连接到servir,并放弃所有的连接,以防止SSH攻击; 但似乎我做错了什么! -A INPUT -p tcp -m tcp –dport 22 -m state –state NEW -m recent –set –name DEFAULT –rsource -A INPUT -p tcp -m tcp –dport 22 -m state –state NEW -m recent –update –seconds 60 –hitcount 3 –name DEFAULT –rsource -j DROP -A INPUT -p tcp -m state –state NEW –dport 22 -j […]
我想阻止其他人看到我的端口在nmap标准扫描(非特权)过滤。 假设我打开了以下端口:22,3306,995和一个像这样configuration的防火墙: -A INPUT -p tcp -m tcp –dport 22 -j DROP -A INPUT -p tcp -m tcp –dport 3306 -j DROP -A INPUT -p tcp -m tcp –dport 995 -j DROP 这是nmap扫描的结果: [+] Nmap scan report for XXXX Host is up (0.040s latency). Not shown: 90 closed ports PORT STATE SERVICE 22/tcp filtered ssh […]
所以我有一个客户端在我的networking连接到路由器通过我的电脑arpspoof。 当我知道要停止数据包转发时,我执行: iptables -A FORWARD -j REJECT 这正是我所期望的。 但是当我尝试做类似的事情时: iptables -A FORWARD -j ACCEPT 我不能设法使数据包像一开始那样通过。 我做错了什么,或者有什么其他的理由,我应该使用不同的“接受”?