Web 建站安全防护建议

最近自己建了个网站,网站安全搞了一阵,闲来没事就写写总结,方便以后查看。

建议

  1. 服务器上能少开的端口就少开
  2. 服务器最好禁 ping
  3. 服务器最好使用秘钥登录,禁止 root 账号登录
  4. 应用程序千万不要使用 root 启动!!mysql、nginx、java 程序这些最好用其他用户启动。还有,运行的用户不允许对源代码有修改的权限!
  5. 程序如果有上传文件的功能,相应的目录不能有执行的权限。
  6. 关于暴露服务器真实 ip 的问题,如果作为 web 网站,除了购买高仿 IP,好像别无选择。。 我的网站目前没管,用 cdn 好像也没多大作用
  7. 对于公开访问的网站,一定要做好防 xss、CSRF、sql 注入攻击,具体如何防御,请百度。对于 ddos 攻击,就别想防了,不过阿里云有 5G 的免费防御可以用,超了没法,早点洗洗睡吧!有钱人另说
  8. 千万不要以为用户的输入是合法的,一定要控制输入的内容。要采取防御式的方式去处理应用。确保应用的安全。一般我们提倡的是:防御式架构和防御式编程
  9. 服务器最好装个 fail2ban,开启 sshd、sshd-ddos、mysql 防护,另外配合 nginx 监控日志来防护,目前记得的就这些
  10. nginx 做好网站限流配置
  11. 修改 linux 系统内核参数配置,sysctl.conf

现在的技术已经很发达了,网络安全防不胜防,没有百分百的安全,上面的建议对于一般的公司网站来说,差不多够用了。暂时想到这么多,后面想到再补充吧!