每个系统pipe理员在pipe理公共服务器之前应该知道什么?

与Stack Overflow的问题类似,在作为公共站点的pipe理员之前,对于私有,Intranettypes的情况,系统pipe理员应该知道什么?

这些可能是安全相关的事情,如“不要离开telnet ”,或者如何做一个高stream量站点负载平衡的实际事情。

  • 每个应用程序,每个二进制文件,服务器上存在的每个包都是一个负担。 订阅“最低限度”的原则; 如果没有安装,它不能被破坏。

  • 实施入侵检测,如Tripwire或类似的,并经常扫描。

  • 投资硬件防火墙,只打开你的应用程序所需的端口。 不要让你的pipe理端口(ssh,rdp等)公开可见; 限制他们到批准的pipe理IP地址。

  • 在投入生产时备份您的防火墙/交换机/路由器configuration。 如果这些设备中有一个受到了危害,那么通过擦除设备的大脑并重新加载configuration,恢复速度明显快于在时钟滴答时执行逐行审计configuration的情况。

  • 频繁地从外部定位您的环境,以确保没有新的端口打开。

  • 永远不要相信互联网; 确保无论是服务于networking还是安全的(例如执行服务器端inputvalidation和卫生处理以阻止SQL注入攻击)。

  • 保持在你的补丁之上。

  • 如果您遭到入侵,请使用新下载的介质从头开始重build。 您不能再相信您的备份是安全的,并且也没有受到影响(尽pipetripwire可以帮助解决这个问题)除了惰性的,不可执行的数据以外的任何事情。

我发现一个方便networking硬化的工具是nessus

基本上,您将其设置在外部服务器上,并尝试用已知的漏洞攻击来攻击您的networking。 您可以将其设置为安全模式(没有任何攻击会导致服务器崩溃),或者您确信自己已经修好了所有内容,或者在不安全的模式下可以重新引导服务器(如果有必要)。

然后它将为每台机器提供一个非常完整的分级报告 ,了解它发现的漏洞/弱点,并评估其严重性 – 甚至build议采取措施解决这些问题。

他们应该知道他们的备份和灾难恢复系统是如何工作的,以及他们如何在系统受到威胁时恢复系统。

这有点逆转,但安全方面,我不区分内部服务器和外部服务器。 迟早有人会在防火墙上犯错误,pipe理层会坚持让一个服务器因为一个重要的客户端而被暴露,会计中的贝蒂会以某种方式在她感染的家庭机器上得到一个VPN客户端等等。

也就是说,图层是你的朋友,你应该默认黑名单。

层 – 你应该有多层安全。 比如硬件防火墙和软件防火墙。 理论上这些都是为了同样的目的,但是有多个层次可以防止错误发生,并且可以减轻单层被攻击的后果。

分层的另一个方面是“homeycombing”,它基本上是多个DMZ。 在某些情况下,你必须在你的机器和访问你账户的人之间有一定程度的信任。 如果您可以缩小这些交互点,则可以在任何时候严格控制您信任的交通types。 例如,如果将接口/应用程序服务器与数据库服务器分开,则会缩小信任级别。 如果你的应用程序服务器受到攻击,那么这些攻击者就会为你的基础设施获得最小的立足点(也就是说,为了继续他们的攻击并试图利用你的其他服务器,他们只有那些build立的信任点才能使用)。

关于默认的黑名单,你应该基本上closures所有的东西,并要求(即使只有你自己)为你打开的每个端口的理由,你允许访问的用户名,你安装的应用程序等。

在具有任何公共接口的系统上,通过实施安全的密码策略 ,确保用户拥有安全的密码 ,并通过密码破解工具(如john the ripper

通过多次尝试失败, 阻止IP地址 ,可以进一步防范暴力猜测密码的攻击。 这个(在Linux上)的一个好工具是fail2ban

您的交换机可能被黑客入侵,有人可能会篡改数据。 如果您不拥有交换机,请设置vpn,因为per-ip防火墙访问限制可能不够。

不要让任何端口打开,而是让用户和黑客访问。 每月从其他网站扫描您自己的服务器。

不要将ssh的默认端口留给黑客。