我希望在Debian计算机上设置一个安全的家庭文件服务器。我将使用仅使用单个TCP端口的我自己的服务器软件。为了确保机器完全安全,我想关闭所有端口,但我的协议正在运行的端口除外(这样一来,就不能在该机器上使用或访问其他协议)。
有谁知道关闭一个端口以外的所有端口的最佳方法是什么?
我希望在Debian计算机上设置一个安全的家庭文件服务器。我将使用仅使用单个TCP端口的我自己的服务器软件。为了确保机器完全安全,我想关闭所有端口,但我的协议正在运行的端口除外(这样一来,就不能在该机器上使用或访问其他协议)。
有谁知道关闭一个端口以外的所有端口的最佳方法是什么?
Answers:
您可以设置默认的iptables策略,使其仅接受来自某些端口(或端口范围)的通信:
## Drop all incoming traffic on all ports
iptables -P INPUT DROP
## Allow connections from one port
## Do not include brackets when entering the following variables,
## [portnum] is just 80 not [80]
## [interface] == default network interface (such as eth0)
## [protocol] == the protocol you want, such as tcp, udp, and etc
## [portnum] == port number, such as 80, 443, and etc
iptables -A INPUT -i [interface] -p [protocol] --dport [portnumb] -J ACCEPT
## Allow a range of ports, such as ports 1001-1005
iptables -A INPUT -i [interface] -p [protocol] --dport [portnum]:[portnum] -J ACCEPT
希望这可以帮助。
iptables-save > /path/to/file/you/want
。然后,您可以将行附加/sbin/iptables-restore < /path/to/file/you/saved
到,/etc/rc.local
以便在引导时加载这些规则。