我怎样才能使只有经过批准的 IP 地址才能访问我的 Ubuntu 服务器 12.04,我刚刚才进行设置。
答案1
UFW
如果您已经安装,则可以使用以下命令实现此目的:
要允许特定 IP 地址使用,
sudo ufw allow from XXX.XXX.XXX.XXX
为了允许特定子网,我们调用网络掩码并使用,
sudo ufw allow from XXX.XXX.XXX.XXX/XX
要允许特定端口和 IP 地址,您可以使用
sudo ufw allow from XXX.XXX.XXX.XXX to AAA port YY
请参考社区文档以获得提前帮助。
使用tcpwrappers,
/etc/hosts.deny 在 /etc/hosts.allow 之前被检查,因此你可以
主机拒绝
全部 :全部
首先,我们会封锁所有人的一切信息,
主机允许
全部 : 本地主机
sshd:192.168.0.2
这意味着只有本地网络上的 192.168.0.2 可以访问该机器上的 ssh 服务器。
答案2
这可以通过iptables
Linux 的内置防火墙实用程序 (netfilter) 来实现。
根据您在服务器上执行的操作(以及您所提供的服务),需要(仔细)配置以允许适当的流量。
有一个很好的教程Ubuntu 官方帮助网站上也有联邦快递(简单的防火墙)内置于 Ubuntu 中,用于处理基本事务。例如,如果您只想允许来自 10.0.0.15 的 SSH(TCP 22)访问,您可以这样做:
sudo ufw allow proto tcp from 10.0.0.15 to any port 22
您还可以使用一几个方便的 iptables 规则生成器来生成整个 iptables 规则集。
另一个建议(特别是如果这个 Ubuntu 主机在互联网上)是使用SSH 密钥对用于身份验证,而不是密码;我也会禁用 root 登录。
答案3
值得注意的是 - 要捕获私有地址范围(RFC1918),您可能需要 192.168.0.0/16,而不是 /8。