我对“服务器讨论”真的是个菜鸟。
我在 Debian 8 上运行游戏服务器,但数据中心不提供物理防火墙,因此我正在寻找一种方法来保护我的服务器免受 ddos 攻击,我确实阻止了除 SSH 端口、游戏服务器端口、FTP 端口、MySQL 端口和 HTTP 端口之外的所有端口。
我还更改了 SSH 端口,这样使用 SSH 端口攻击我的服务器就变得更加困难了。
当我在游戏服务器端口、SSH 端口、HTTP 端口和 FTP 端口上 ping 服务器时,服务器仅返回 ping,其他端口被阻止或只能从本地主机访问。
我的问题是:
- 有什么方法可以隐藏我的服务器 IP 并列出带有域名的服务器吗?
- 有没有办法在游戏服务器上使用 CDN?
- 我还能做什么来使我的服务器更加安全?
答案1
有什么方法可以隐藏我的服务器 IP 并列出带有域名的服务器吗?
不。域名只是 IP 地址的人性化别名。尝试在命令提示符中输入:
nslookup superuser.com
使用域名可以避免向用户提供确切的 IP,但不会隐藏任何内容。即使您从游戏中的服务器选择屏幕中选择服务器,而看不到其 IP 或域名,您也可以通过使用 Wireshark 等工具分析数据包来获取 IP。
有没有办法在游戏服务器上使用 CDN?
再说一次,不。CDN 用于静态内容,如 HTML 页面或 JavaScript 源文件。您可以实现负载平衡,但您需要多个游戏服务器,而且根据您的游戏,无法保证它们可以协同工作。
我还能做什么来使我的服务器更加安全?
选择提供 DDoS 保护的服务器提供商。我在金苏菲,他们为所有服务器提供免费的 DDoS 保护(我不为他们工作,我只是他们的客户之一)。
如果服务器软件具有反 DDoS 保护功能,请确保已启用它们(我怀疑游戏服务器有任何保护功能,但例如 OpenVPN 有一些)。
您可以在您自己的 VPN 中托管您的游戏服务器,但这只会将问题转移到 VPN 服务器(它仍然可以拥有更多的反 DDoS 保护)。
确保服务器的 SSH 已加固。禁用密码验证(至少针对
root
)并安装反暴力破解程序(例如 )fail2ban
。禁用 SSH1,并确保 RSA 密钥(如果有)至少为 2048 位长。确保您的服务器是最新的。定期运行
apt-get update
和apt-get upgrade
(或适合您操作系统的相应程序)。阻止 FTP 端口,除非你有一个特定的应用程序绝对地需要 FTP,您可以使用 SFTP 进行文件传输,它通过 SSH 端口进行操作。
确保你对 所做的一切
iptables
都与 相同ip6tables
。此外,确保在那之后,你实际上节省规则:iptables-保存 > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
(可能需要适应你的发行版)