新手 Linode VPS - 我够安全吗?如何审计?

新手 Linode VPS - 我够安全吗?如何审计?

Total Linux n00bie - 首次设置 VPS(Linode.com)。

我花了一个月的时间研究和尝试设置。经过几次转储​​和重新安装后,我终于有了一个可以运行的服务器(已经运行了几个星期)。我希望专家能对我的安全措施提出一些反馈。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

设置: 典型的 Ubuntu 10.04 LAMP 环境

安慰: webmin(端口 10000)

邮件: postfix(端口 25)

安防措施:

(下列的http://www.andrewault.net/2010/05/17/securing-an-ubuntu-server/

通过公钥/私钥进行 ssh(win7 机器上的 putty)

PasswordAuthentication 否 PermintRootLogin 否

联邦水务局

  • ufw 默认拒绝传入
  • ufw 默认允许传出
  • ufw 允许 80/tcp (http)
  • ufw 允许 443/tcp (ssl)
  • ufw 允许 XXX/tcp (ssh 自定义端口)
  • ufw 允许 25(邮件服务器)
  • ufw 允许 10000 (webmin)
  • ufw 拒绝 22(ssh 默认)
  • ufw 拒绝 3306/tcp(mysql)
  • ufw 启用

安装 fail2ban - 禁止暴力攻击

禁止传入数据包的源路由

sudo sysctl -w net.ipv4.conf.all.accept_source_route=0 
sudo sysctl ­-w net.ipv4.conf.default.accept_source_route=0

安装 tiger-安全扫描器

安装 psad-入侵检测

安装 nmap - 端口扫描

安装 chkrootkit - root kit 存在

安装 logwatch

保养

定期(每周一次或两次)

apt-get 更新/升级
运行 psad、nmap、chkrootkit、logwatch、tiger

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

好吧……正如我所说,我是 Linux 的新手,但我已经涉足网络技术多年(包括许多本地 WAMP/XAMPP 安装和设置)。按照 Linode 的基本手册条目,启动和运行服务器并不太难,但当涉及到安全方面时,我确实感到力不从心(这说明了很多问题,因为我经常处理复杂的技术)。见鬼 - 如果你是这方面的专家 - 那就为你喝彩吧。这很难。

在我理清了所有的虚拟服务器/dns 条目之后,我能够设置一些默认站点安装(drupal、wordpress),并且它们已经按预期运行了几个星期。

我可以在 psad 条目中清楚地看到 UFW 正在执行其工作 - 弹出数千个端口扫描,但我还没有发现任何与 tiger 有关的严重问题。但是 - 阅读 tiger 安全报告,有很多关于系统配置的警告,我真的不确定是否应该采取措施纠正。所以有问题 1。例如 - 我收到警告,我的密码没有正确散列。如果我关闭了密码验证,这会是个问题吗?

话虽这么说 -我对于这个服务器设置有多大信心?是否有一个系统或服务可用于审核我的设置,或进行自动系统扫描?(类似于使用谷歌的网络工具扫描网站中的恶意软件。)我想将我的所有网站从共享主机迁移到此服务器,但我不想过早地这样做......

任何反馈都将不胜感激。我完全意识到这个问题很常见,但我觉得我已经尽职尽责了——我只是希望在做出决定之前得到专业人士的指导。

答案1

听起来你走在正确的道路上。如果你最终受到攻击,最有可能是通过你的应用软件中的漏洞实现的(你提到了 Wordpress 和 Drupal)。为了减轻这些风险,你需要随时关注这些产品(包括你安装的任何插件/模块)的任何漏洞公告,并尽快安装补丁。

此外,为服务器设置一个坚固的备份系统,并进行测试恢复定期进行备份。如果确实受到攻击,则需要完全重新安装服务器和数据。如果您有良好的备份系统,则此过程是很多不那么痛苦。

答案2

如果您没有在 VPS 上运行实际的邮件服务器(即,您正在接收人们或机器发送给它的邮件),则您不需要也不应该打开 25 端口入站。邮件服务将是最容易被滥用的目标。您最好“允许无密码登录根目录”(阅读手册页,该选项的作用与听起来相反!)。

其他一些措施(堆积在可用的所有安全工具上:)可能不是坏事,甚至在开始时可能是更好的选择,但实际上会使您的项目维护成本高。“禅”的方式是“如果您不想要、不需要或不理解它,那么您就不要安装或运行它。”运行“netstat -apn”并查看第一个列表。您完全禁用不需要的任何内容(通常包括某些服务器守护程序的 ipv6 绑定),您仅将可以绑定到 localhost 的任何内容绑定到 localhost。

如果您熟悉一般的 Linux 操作,请查找 -perm 4000 -o -perm 2000 并分析为什么这些程序需要 setuid/setgid,尤其是当它们需要用于您的目的时(例如,如果系统中唯一更改用户密码的人是 root 或 root 同等权限,则密码更改器二进制文件不需要 setuid。)。顺便说一句,在 debian/ubuntu 中更改软件包管理文件的权限的正确方法是 dpkg-statoverride,不要 chmod 内容,否则更新可能会意外地将其改回。

相关内容