我目前正在尝试将iptable配置为只允许某些mac地址连接到端口: 3690 (svn)。步骤1-在EC2管理控制台>安全组(组名:默认)上,我为所有子网打开了端口: 3690。步骤2-在我的linux服务器(Amazon 64位)上,我配置了iptables: 2.1允许我的mac地址(端口3690) 2.2从所有(端口3690)
[ec2-user@ip-172-31-7-2 ~]$ sudo iptables -n -L -v --line-numbers
Chain INPUT (policy ACCEPT 1974 packets, 206K bytes)
num pkts bytes target prot opt in out source destination
1 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3690 MAC 50:46:5D:C7:63:C1
2 5 272 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3690
但是防火墙不能正常工作。我不能从mac地址拨打3690端口。如果删除iptable,所有客户端都可以访问此端口。有人能帮我吗?
发布于 2014-03-15 14:35:53
如果客户端和服务器不在同一个IP子网上,那么根据定义,它们之间必须至少有一个路由器,因此根据定义,这两个系统将无法检测到彼此的MAC地址。
MAC地址只识别本地物理网络第二层的设备.当路由器在第三层运行时,在发送数据包到下一个路由器或主机到目的地的途中,去掉进入的第二层地址,并使用自己的第二层地址。来自不同子网上的设备的传入数据包总是与发送数据包的路由器的MAC地址一起到达。
对于不同子网上的机器来说,你所要做的是不可能的,这也是一样的,因为MAC地址对于“欺骗”来说绝对是微不足道的,这使得基于MAC地址的安全无非是通过默默无闻的安全性,而这并不是一个有意义的安全级别。
您甚至不应该考虑在这样的互联网连接机器上运行svnserve侦听程序。subversion支持的svn+ssh://
机制不要求服务器始终打开端口侦听连接.它适用于现有的ssh密钥,假定您没有谨慎地配置sshd来允许只使用密码(而不是密钥)登录,这是一种非常安全的访问控制机制,更不用说在您的通信量穿越Internet时自动加密。
http://svnbook.red-bean.com/en/1.7/svn.serverconfig.svnserve.html#svn.serverconfig.svnserve.sshauth
发布于 2014-03-22 02:24:55
虽然迈克尔的回答很好,但我想补充一个“实用”的解决方案。
Dome9可以使您的防火墙自动化,并允许按需访问您的服务器,同时将其与互联网的其他部分“屏蔽”。它可以通过动态管理AWS安全组或管理iptable来做到这一点。
免责声明--我是一个骄傲的Dome9er ;)
https://stackoverflow.com/questions/22420517
复制相似问题