关闭除Debian机器上的端口以外的所有端口


3

我希望在Debian计算机上设置一个安全的家庭文件服务器。我将使用仅使用单个TCP端口的我自己的服务器软件。为了确保机器完全安全,我想关闭所有端口,但我的协议正在运行的端口除外(这样一来,就不能在该机器上使用或访问其他协议)。

有谁知道关闭一个端口以外的所有端口的最佳方法是什么?

Answers:


2

您可以设置默认的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以便在引导时加载这些规则。
克里斯。

不要忘记您也必须管理IPV6。您可以使用ip6tables丢弃所有数据包或复制与上面相同的数据包。
Spencer5051
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.