最近本身建了个网站,网站安全搞了一阵,闲来没事就写写总结,方便之后查看。java
建议
- 服务器上能少开的端口就少开
- 服务器最好禁ping
- 服务器最好使用秘钥登陆,禁止root帐号登陆
- 应用程序千万不要使用root启动!!mysql、nginx、java程序这些最好用其余用户启动。还有,运行的用户不容许对源代码有修改的权限!
- 程序若是有上传文件的功能,相应的目录不能有执行的权限。
- 关于暴露服务器真实ip的问题,若是做为web网站,除了购买高仿IP,好像别无选择。。 个人网站目前没管,用cdn好像也没多大做用
- 对于公开访问的网站,必定要作好防xss、CSRF、sql注入攻击,具体如何防护,请百度。对于ddos攻击,就别想防了,不过阿里云有5G的免费防护能够用,超了无法,早点洗洗睡吧!有钱人另说
- 千万不要觉得用户的输入是合法的,必定要控制输入的内容。要采起防护式的方式去处理应用。确保应用的安全。通常咱们提倡的是:防护式架构和防护式编程
- 服务器最好装个fail2ban,开启sshd、sshd-ddos、mysql防御,另外配合nginx监控日志来防御,目前记得的就这些
- nginx作好网站限流配置
- 修改linux系统内核参数配置,sysctl.conf
如今的技术已经很发达了,网络安全防不胜防,没有百分百的安全,上面的建议对于通常的公司网站来讲,差很少够用了。暂时想到这么多,后面想到再补充吧!
最后,贴个地址,欢迎各位围观个人网站,https://www.ityudao.commysql