我正在使用 Linux Mint。有人试图通过我的 MAC 地址和开放端口访问我的计算机。我有一些疑问:
我知道有不同类型的端口,例如 TCP 和 UDP。我是否应该关闭所有(TCP 和 UDP,...)开放(列出)端口以防止我的计算机受到黑客攻击?
如果需要,如何关闭端口?
答案1
原则上,开放端口不是问题:所有侦听网络端口的服务都应该需要身份验证。但是,最好阻止不需要的传入连接,以防您运行未正确设置的服务,或者您的帐户密码较弱。
在 Linux 上设置端口阻塞的低级命令是iptables
。有一个Ubuntu wiki 上的教程。下面是一个示例用法,它阻止除 SSH 之外的所有传入连接,并允许所有传出连接以及使用网络堆栈的连接在机器本身内进行通信(通过环回接口)。
#!/bin/sh
# Remove all existing input rules
iptables -F INPUT
# Accept all loopback traffic
iptables -A INPUT -i lo -j ACCEPT
# Accept incoming packets on outgoing connections
iptables -A INPUT -m state --ESTABLISHED,RELATED -j ACCEPT
# Accept incoming SSH connections
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
# Reject everything else
iptables -A INPUT -j REJECT
如果您想使用这些规则,请将它们放在一个文件中,例如/etc/init.d/local_firewall
,使其可执行,并安排它在启动时执行。如何做到这一点取决于 init 系统,而 init 系统又取决于 Mint 的版本。