服务器安全加固措施总结

一、Nginx加固

隐藏X-Powered-By头和开启日志:在nginx配置文件的 http 段增加或修改为

proxy_hide_header X-Powered-By;
proxy_hide_header Server;
access_log logs/access_oa.log main;

隐藏Nginx服务的Banner:
Nginx后端服务指定的Header隐藏状态隐藏Nginx服务Banner的状态: nginx配置文件的server栏目下,配置server_tokens项 server_tokens off;

二、MySQL加固

3306改为3506 和禁用local-infile选项: 在/etc/my.cnf 的 mysqld 段添加
port=3506
local-infile=0

确保配置了log-error选项:
编辑Mysql配置文件/etc/my.cnf,在mysqld_safe 段落中配置log-error参数,<log_path>代表存放日志文件路径,如:/var/log/mysqld.log,并重启mysql服务:
log-error=<log_path>

禁用symbolic-links选项:
编辑Mysql配置文件/etc/my.cnf,在mysqld 段落中配置symbolic-links=0,5.6及以上版本应该配置为skip_symbolic_links=yes,并重启mysql服务。

三、CentOS加固

1、强制用户不重用最近使用的密码,降低密码猜测攻击风险

在/etc/pam.d/password-auth和/etc/pam.d/system-auth中password sufficient pam_unix.so 这行的末尾配置remember参数为5-24之间,原来的内容不用更改,只在末尾加了remember=5。

2、检查密码长度和密码是否使用多种字符类型

编辑/etc/pam.d/password-auth 和 /etc/pam.d/system-auth配置文件中包含password requisite pam_cracklib.so 这一行。增加配置minlen(密码最小长度)设置为9-32位,minclass(至少包含小写字母、大写字母、数字、特殊字符等4类字符中等3类或4类)设置为3或4。如
password    requisite     pam_cracklib.so try_first_pass retry=3 minlen=11 minclass=3

3、设置SSH空闲超时退出时间,可降低未授权用户访问其他用户ssh会话的风险

编辑/etc/ssh/sshd_config,将ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3之间。
ClientAliveInterval 600
ClientAliveCountMax 2

4、设置密码失效时间

使用非密码登陆方式如密钥对,请忽略此项。在 /etc/login.defs中将 PASS_MAX_DAYS 参数设置为 60-180之间,如:
PASS_MAX_DAYS 90
需同时执行命令设置root密码失效时间:
chage --maxdays 90 root

5、确保SSH MaxAuthTries设置为3到6之间

在/etc/ssh/sshd_config中取消MaxAuthTries注释符号#,设置最大密码尝试失败次数3-6,建议为4:
MaxAuthTries 4

6、确保密码到期警告天数为7或更多

在 /etc/login.defs 中将 PASS_WARN_AGE 参数设置为7-14之间,建议为7:
PASS_WARN_AGE 7
同时执行命令使root用户设置生效:
chage --warndays 7 root

7、设置密码修改最小间隔时间,限制密码更改过于频繁

在 /etc/login.defs 中将 PASS_MIN_DAYS 参数设置为7-14之间,建议为7:
PASS_MIN_DAYS 7
需同时执行命令为root用户设置:
chage --mindays 7 root

8、禁止SSH空密码用户登录

编辑文件/etc/ssh/sshd_config,将PermitEmptyPasswords配置为no:
PermitEmptyPasswords no

四、Tomcat加固

1、tomcat7需要升级到7.0.100及以上
2、避免使用root用户运行,tomcat目录(catalina.home、 catalina.base目录)所有者应改为非root的运行用户:使用chown -R <Tomcat启动用户所属组>:<Tomcat启动用户> <Tomcat目录>修改tomcat目录文件所有者,如chown -R tomcat:tomcat /usr/local/tomcat
3、在Tomcat根目录下的conf/web.xml文件里面的web-app添加子节点:<error-page><exception-type>java.lang.Throwable</exception-type><location>/error.jsp</location></error-page>
autoDeploy 设置为 false
4、在webapps目录下创建error.jsp,定义自定义错误信息
5、限制服务器平台信息泄漏:进入Tomcat安装主目录的lib目录下,比如 cd /usr/local/tomcat7/lib ,将 catalina.jar 中的 org/apache/catalina/util/ServerInfo.properties,修改文件ServerInfo.properties中的server.info和server.number的值,如分别改为:Apache/11.0.92、11.0.92.0 ,重启Tomcat服务

6、Tomcat安装提供了示例应用程序、文档和其他可能不用于生产程序及目录,存在极大安全风险,建议移除:请删除Tomcat示例程序和目录、管理控制台等,即从Tomcat根目录的webapps目录,移出或删除docs、examples、host-manager、manager目录。

本文内容到此结束,更多内容可关注公众号和个人微信号:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章