我正在安装直接连接到Internet的Debian服务器。显然,我想使其尽可能安全。我希望你们/大家添加一些想法来确保它的安全以及使用什么程序。
我希望这个问题的一部分涵盖您用作防火墙的什么?只是手动配置iptables还是使用某种软件来帮助您?最好的方法是什么?阻止一切,只允许需要什么?是否有针对该主题的初学者的好教程?
您是否更改SSH端口?您是否使用Fail2Ban之类的软件来防止暴力破解?
我正在安装直接连接到Internet的Debian服务器。显然,我想使其尽可能安全。我希望你们/大家添加一些想法来确保它的安全以及使用什么程序。
我希望这个问题的一部分涵盖您用作防火墙的什么?只是手动配置iptables还是使用某种软件来帮助您?最好的方法是什么?阻止一切,只允许需要什么?是否有针对该主题的初学者的好教程?
您是否更改SSH端口?您是否使用Fail2Ban之类的软件来防止暴力破解?
Answers:
必填项:
根据偏执狂的程度:
integrit
用于检查文件系统软件的某些部分是否未修改[校验和保存在机器外部],例如Tripwire /etc/passwd
因此添加新用户要困难一些-m state --satete ESTABLISHED
则只要使用单个SSH会话,就应确保允许数据包流通过]我不做自己但有道理的事情:
只是有关对计算机进行防火墙保护的说明...
amap
,和nmap
的-A
选项。话虽如此,您可以(如果担心的话)可以修改服务,以使自己不被窥探,例如,以下内容可让攻击者知道OpenSSH
您所运行的版本,然后他们可以寻找用于那个确切的版本。如果您隐藏了这些东西,将会使它们变得更难。[root @ ud-olis-1 uhtbin]#telnet本地主机22 正在尝试127.0.0.1 ... 已连接到localhost.localdomain(127.0.0.1)。 转义字符为'^]'。 SSH-2.0-OpenSSH_3.9p1
最重要的是,您将永远无法成功实现100%安全-这是不可能的-因此我们的目标是使安全性尽可能高-如果您花费太多精力破坏系统,那就足够好了,而且大多数情况下,脚本类将移至下一个系统。
iptables
是适用于任何Linux系统的方法-但您可以自行配置。永远不要使用任何不基于开放标准的“安全软件”,因为它们注定编写得不好,会被黑(不是“如果”的问题,而是“何时”的问题)。开源和开放协议接受公众审查,并逐渐成为一种成熟可靠的产品;闭源软件主要依赖于多么大/安全-A-产品的作者的自信,他们认为这是-即一小眼睛VS的地球满了眼睛。
希望有帮助:)
作为一般起点,我遵循Internet安全中心的基准/指南,这些基准/指南是对安全最佳做法的全面汇编。看起来他们的Debian基准测试似乎还没有更新,但是步骤概述如下:
所有这些设置都有很多资源,包括在CISecurity基准测试中要在系统上实现的特定命令和配置文件。
我建议不要将计算机直接连接到Internet。在机器和Internet之间放置某种防火墙。这使您可以进行安全性和网络监视,而不会给服务器增加负担。就个人而言,我发现网络和功能分段通常会简化网络故障排除,尽管有时,附加的复杂性确实会使分析更加困难。
最安全但最烦人的防火墙策略是拒绝所有防火墙,并只允许必须允许的流量。这很烦人,因为随着网络需求的变化,经常需要更新防火墙策略。
我还建议在服务器上使用某种类型的接口防火墙-深度防御是关键。使用非标准端口进行与管理相关的服务不会有任何问题。fail2ban很好。寻求有关Serverfault上的安全应用程序的更具体的问题,以找到更多的想法。
安全就像两个徒步旅行者和熊的玩笑一样-虽然一个人永远无法实现完美的安全性,但成为一个比其他人更困难的目标很有帮助。
有些人指出了《保护Debian手册》。这对军事需求以外的所有事物都应该是完全足够的。
许多人认为,荒谬的偏执狂很酷,或者很专业。它不是,它只是恼人的其他管理员和彻底镇压为您的用户。您会看到推荐的大多数内容只是虚假的工作,以致对偏执的管理员很有用,但实际上并没有帮助,因为真正的安全漏洞可能是由于未充分更新的系统和/或内部来源造成的。
话虽如此,我确实认为不信任本地网络上的任何内容而不是信任来自Internet的内容是我的信条之一。因此,我将所有内容都配置为即使在本地网络上也需要身份验证。我使用IPsec对每台计算机之间的所有通信进行加密和身份验证。
我正在为所有服务器转换为全盘加密。
我只安装我使用的服务。我没有防火墙;我配置了我必须要求身份验证的服务,或者将它们(通过程序自己的配置或通过TCP-包装程序)限制为某些IP。我唯一需要阻止使用iptables的是memcached
,因为它没有配置文件,并且没有使用TCP-wrappers。
我为帐户使用了随机生成的良好密码,并信任我的SSH服务器(以及所有其他服务),以将不知道该密码的人拒之门外。 fail2ban
仅适用于日志文件空间有限的用户,IMO。(您应该具有足够好的密码才能信任它们。)
在www.debian.org/doc/manuals/securing-debian-howto/中浏览此不错的方法。
我个人更改了ssh端口,并使用了fail2ban + denyhosts。我阻止了所有不需要的事情。阻挡得越多,就不必担心。