firewalld
我是和的新手centos 7
。我阅读了其他问题,并了解了“区域”和规则。目前,它处于默认状态:
# firewall-cmd --get-default-zone
public
# firewall-cmd --list-all
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: dhcpv6-client ftp ssh
ports: 21/tcp 80/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
每隔几天我通过 SSH 登录时,系统会告诉我登录尝试失败次数超过 20,000 次。是时候设置防火墙了!
我的需求:
- 仅允许从特定 IP 地址进行 SSH 访问
- 但如果我的 IP 将来发生变化,该怎么办?前我可以解除这个设置吗?
- 允许来自任何地址的 HTTP 和 HTTPS Web 服务(端口 80 和 443)
- 阻止其他一切
我恳请帮助我了解如何处理这种情况 - 当然,如果它有意义的话!
答案1
您有多种选择:
- 如果可行的话,将一些 IP 地址列入白名单
- 针对互联网上暴露的机器的暴力攻击是现实,像 Fail2ban、CSF+LFD 这样的工具会有很大帮助
- 你可以建立一个VPN在您的服务器上(如果它是大型基础设施的一部分,则在其他地方),然后将 VPN 私有 IP 范围列入白名单(例如 10.* 172.*)
- 你可以设置端口敲击使 SSH 端口隐身
鉴于您似乎有一个 Web 服务器,也许还有 FTP,我认为选项 #2 是合适的,并且可以保护除 SSH 之外的其他服务。您可以根据需要组合更多选项。
对于网络服务器,WAF(网络应用程序防火墙)可能也是可取的。