一、web服务器
1、web服务器root目录权限管控,一般将web服务器的root目录放置于/usr/local/目录下,目录权限限制为非root用户,并禁止匿名用户,
2、tomcat
- 确认tomcat的启动用户为非root用户
- 修改tomcat端口,避免使用默认的8080端口
- 开启日志审计功能
3、nginx
- 屏蔽ip,例如非必要不放行境外ip。
- 屏蔽user-agent
- 封杀特定url,例如phpmyadmin
- 强制使用域名,避免IP扫描
- 目录权限限制只读
- 隐藏版本信息
- 限制http请求方法
- 限流,限制并发,限速
- 配置防盗链
二、linux系统加固
1、密码格式加固
首先需要安装cracklib模块,增强扩展密码检查能力,在RHEL系Linux中以预装,在debian系linux发行版中,需要执行如下命令安装
以下修改默认对root用户无效,若需对root用户进行限制,需添加字段 enforce_for_rootsudo apt-get install libpam-cracklib
针对debian系linux发行版
针对redhat系linux发行版sudo vim /etc/pam.d/common-password # 禁止使用旧密码,remember=5 表示禁止使用最近5个密码 password [success=1 default=ignore] pam_unix.so obscure sha512 remember=5 # 设置最短密码长度 password requisite pam_cracklib.so retry=3 minlen=10 difok=3 # 设置密码复杂度 password requisite pam_cracklib.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1
vim /etc/pam.d/system-auth # 禁止使用旧密码,remember=5 表示禁止使用最近5个密码 password sufficient pamunix.so sha512 shadow nullok tryfirstpass useauthtok remember=5 # 设置最短密码长度 password requisite pam_cracklib.so retry=3 minlen=10 difok=3 # 设置密码复杂度 password requisite pam_cracklib.so retry=3 difok=3 minlen=10 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1
2、密码过期时间
vim /etc/login.defs
# 每150天修改密码,到期前7天提醒
PASSMAXDAYS 150 PASSMINDAYS 0 PASSWARNAGE 7
# 当前已存在账户密码有效期
change -l $USER
change -M 90 $USER
3、syslog加固
# 放松syslog权限限制,便于非root账户查阅syslog
chmod 640 /var/log/messages
chmod 640 /var/log/secure
chmod 640 /var/log/maillog
chmod 640 /var/log/cron
chmod 640 /var/log/spooler
chmod 640 /var/log/boot.log
4、登录超时
vim /etc/profile
# 300秒登录超时
TMOUT=300
5、授权管理
chmod 644 /etc/passwd
chmod 644 /etc/group
chmod 400 /etc/shadow