n00bie Linode VPS – 我是否合理安全? 如何审计?

Total Linux n00bie – 第一次VPS设置(Linode.com)。

我花了一个月的时间研究和尝试设置。 经过一些转储和重新安装,我终于有了一个服务器和function(已经上涨了几个星期了)。 我很想从专家那里得到一些关于我的安全措施的反馈。

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

设置:典型的Ubuntu 10.04 LAMP环境

控制台: webmin(端口10000)

邮件:后缀(端口25)

安防措施:

(遵循http://www.andrewault.net/2010/05/17/securing-an-ubuntu-server/ )

ssh通过公共/私人键(在win7机器上的腻子)

PasswordAuthentication no PermintRootLogin no

UFW

  • 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 

安装老虎 – 安全扫描仪

安装psad – 入侵检测

安装nmap – 端口扫描

安装chkrootkit – root工具包

安装logwatch

保养

定期(每周一次或两次)

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

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

好吧,就像我说的,我是一个完整的linux新手,但是我已经参与了多年的web技术(包括许多本地的WAMP / XAMPP安装和设置)。 遵循Linode的基本菜谱条目,让服务器启动并不是太困难,但是当涉及到安全方面的事情时(我说的很多,因为我经常处理复杂的技术),我确实感到很头痛。 。 地狱 – 如果你是这个东西的亲 – 道具给你。 这个很难(硬。

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

我可以清楚地看到,在这个psad的条目中,UFW正在做它的工作 – 反弹成千上万的端口扫描,而我还没有把什么东西与老虎混为一谈。 在阅读老虎安全报告时,对系统configuration有很多警告,我不确定是否应该采取措施纠正。 所以有问题#1。 例如 – 我收到警告说我的密码没有正确的散列。 如果我closures了密码authentication,这是一个问题吗?

这一切说 – 我有信心可以在这个服务器设置? 有没有可用于审核我的设置或执行自动系统扫描的系统或服务? (就像你如何使用谷歌的networking工具扫描一个网站的恶意软件。)我想将所有我的网站从共享主机迁移到这台服务器,但我不想过早做这件事…

任何反馈将不胜感激。 我完全意识到这个问题是相当普遍的,但是我觉得我已经做了尽职调查 – 在我提交之前,我只是希望得到专业人士的指导。

这听起来像你在正确的轨道上。 如果最终受到攻击,最有可能是通过应用软件中的漏洞(您提到的Wordpress和Drupal)发生。 为了缓解这些风险,您需要及时了解这些产品(包括您安装的任何插件/模块)的漏洞通告,并尽快安装补丁程序。

另外,为服务器build立防弹备份系统,定期进行恢复testing 。 如果确实受到威胁,则需要重新安装服务器和数据。 如果你有一个好的备份系统,这个过程就不那么痛苦了。

如果您没有在VPS上运行实际的邮件服务器(例如,您正在接收人员或机器发送给它的邮件),则不需要,也不应该打开端口25入站。 邮件服务将成为最有趣的滥用目标。 你应该更好的“PermitRootLogin without-password”(阅读手册页,该选项与听起来相反!)。

其他一些措施(堆上每个安全工具可用:)可能不是坏的,甚至可能是一开始做的更好的事情,但实际上将使您的项目高维护。 “禅”的方式是“如果你不想要,需要或理解它,那么你就不安装或运行它”。 运行“netstat -apn”并查看第一个列表。 任何不需要在那里的东西(通常包括一些服务器守护进程的ipv6绑定),任何可以绑定到本地主机的东西,只有你绑定到本地主机。

如果您对一般的linux操作有所了解,可以find-perm 4000 -o -perm 2000,并分析为什么这些程序需要setuid / setgid,特别是如果它们需要用于你的目的(例如,如果唯一的人改变用户系统上的密码是root或等同于root的,密码更改器二进制文件不需要setuid。)。 顺便说一句,在debian / ubuntu上更改软件包pipe理文件perms的正确方法是dpkg-statoverride,不要chmod或更新可能会意外地将其更改回来。