web服务器安全,CentOs web服务器安全防范经验总结
1.禁用ROOT权限登录。(重要)
2.安全组收缩不使用的端口,建议除443/80以及ssh登录等必要端口外全部关闭。
3.防火墙收缩不使用的端口,建议除443/80以及ssh登录端口外全部关闭。
4.更改ssh默认端口22
5.除登录USER,禁止其他用户su到root进程,并且ssh开启秘钥及密码双层验证登录。(重要)
6.限制除登录USER外的其他用户登录。
7.安装DenyHosts,防止ddos攻击。
8.禁止系统响应任何从外部/内部来的ping请求。
9.保持每天自动检测更新。
10.禁止除root之外的用户进程安装软件及服务,如有需要则root安装,chown给到用户。
11.定时给服务器做快照。
12.更改下列文件权限web服务器安全:
13.限制普通用户使用特殊命令,比如wget,curl等命令更改使用权限,一般的程序主要使用这几种命令操作。
1.nginx进程运行在最小权限的子用户中,禁止使用root用户启动nginx。(重要)
2.配置nginx.conf,防范常见漏洞:
1.禁止root权限启动apache服务!禁止root权限启动apache服务!禁止root权限启动apache服务!重要的事情说三遍!因为这个问题被搞了两次。
2.改掉默认端口。
3.清空webapps下除自己服务外的其他文件,删除用户管理文件,防止给木马留下后门。
4.限制apache启动进程su到root进程以及ssh登录,限制启动进程访问除/home/xx自身目录外的其他文件。
5.限制apache启动进程操作删除以及编辑文件,一般a+x即可。
1.关闭外网连接,与java/php服务使用内网连接。
2.在满足java/php服务的基础上,新建最小权限USER给到服务使用,禁止USER权限访问其他项目的库。
3.root密码不要与普通USER相同。
4.建议使用云库,云库具备实时备份,动态扩容,数据回退等功能,减少操作风险。
1.关闭外网连接,只允许内网交互,基本这个做了之后就已经稳了。
2.禁止root权限启动,运行在普通用户进程里。
3.更改默认端口。
4.添加登录密码。
以上是自己做的防范手段,不成熟见解,有一些方案待验证,不定时更新,欢迎大佬补充!