一、系统部分
- 这里主要是以Linux系统的修复方案为主,针对政府这种扫描检查有这种严苛要求的使用.
1.1 提示内核版本过低,不符合要求,需要升级整改
配置说明 | 基本包安装 |
---|
实施操作 | yum -y install vixie-cron ntp openssh-clients traceroute bind-utils tcptraceroute gcc gcc-c++ autoconf automake make iftop mtr |
选项级别 | 必选 |
# 查看内核版本,并更新内核版本
[root@iZwz92yowub2sxllm40ycfZ ~]# uname -a
Linux iZwz92yowub2sxllm40ycfZ 3.10.0-957.10.1.el7.x86_64 #1 SMP Mon Mar 18 15:06:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[root@iZwz92yowub2sxllm40ycfZ ~]# yum -y update kernel
1.2 内核参数优化 — 对配置Limit参数设置有整改要求的配置
配置说明 | .limit优化 |
---|
实施操作 | 1. vim /etc/security/limits.conf , 2. /etc/security/limits.d子文件 |
选项级别 | 必选 |
# 更改系统默认的limit参数调优性能
[root@iZwz9h46wfpiw9t7vdbhzgZ ~]# vim /etc/security/limits.conf
* soft nofile 1024000
* hard nofile 1024000
* soft nproc 1024000
* hard nproc 1024000
* soft stack 10240
* hard stack 10240
* soft memlock 30198988
* hard memlock 30198988
# 如果没有生效可以在/etc/security/limits.d目录子文件增加,
# 如阿里云部分ecs是文件20-nproc.conf,直接追加修改即可
# 查看是否有生效
[root@iZwz9h46wfpiw9t7vdbhzgZ limits.d]# ulimit -a
1.3 内核参数优化 — 对文件打开数要求整改
配置说明 | 进程打开文件数 |
---|
实施操作 | 调整/etc/profile文件 |
选项级别 | 必选 |
# 追加/etc/profile 配置,最大打开文件数(1000000) 设置变量
[root@iZwz9h46wfpiw9t7vdbhzgZ ~]# vim /etc/profile
...
ulimit -SHn 1000000
1.4 内核参数优化 — 提示FIN_WAIT状态的TCP连接的超时时间整改
配置说明 | TCP内核优化参数- FIN_WAIT状态的TCP连接的超时时间修改为20s |
---|
实施操作 | 调整/etc/sysctl.conf 文件 |
选项级别 | 必选 |
# 解决方案:
vim /etc/sysctl.conf
net.ipv4.tcp_fin_timeout = 20
# 是否生效:
/sbin/sysctl -p
1.5 对系统登录超时限制的基线加固要求
配置说明 | 安全登陆优化 |
---|
实施操作 | 配置/etc/profile文件 |
选项级别 | 必选 |
# 解决:
# 增加TMOUT参数
vi /etc/profile
export TMOUT=1000000
1.6 对用户登陆限制的基线要求
配置说明 | 用户多次登陆失败后锁定 |
---|
实施操作 | 1. tty登录限制设置,2. ssh登录限制设置 |
选项级别 | 必选 |
【禁止root直接登录,限制失败次数和锁定时间】
# 1. tty登录限制设置
vim /etc/pam.d/login
auth required pam_tally2.so deny=3 lock_time=300 even_deny_root root_unlock_time=10
# 2:ssh登录限制设置
vim /etc/pam.d/sshd
auth required pam_tally2.so deny=10 unlock_time=300 even_deny_root root_unlock_time=10()
1.7 对用户ip登陆白名单的基线要求
配置说明 | 访问登录白名单 |
---|
实施操作 | 指定IP 增加白名单ssh远程登录 |
选项级别 | 必选 |
# 解决:
# 例如【根据实际情况】:
vi /etc/hosts.allow
sshd:10.104.106.50:allow
sshd:10.225.42.129:allow
sshd:10.250.128.254:allow
sshd:203.195.156.224:allow
sshd:182.254.151.54:allow
sshd:119.29.15.39:allow
sshd:10.104.109.155:allow
sshd:10.:allow
1.8 对历史命令限制保留的基线要求
配置说明 | 修改历史命令记录(保存10000条记录并加时间参数) |
---|
实施操作 | 配置/etc/bashrc文件 |
选项级别 | 必选 |
# 解决:
echo 'export HISTSIZE=10000' >> /etc/bashrc
echo 'export PROMPT_COMMAND="history -a"' >> /etc/bashrc
echo 'export HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S "' >> /etc/bashrc
1.9 系统弱账号去除、修改默认帐号的基线要求
配置说明 | 去除不需要的帐号、修改默认帐号的shell变量 |
---|
实施操作 | 检查用户、组等文件,清理默认不必要的弱用户 |
选项级别 | 必选 |
# 解决:
# 概述:系统存在多余并可以关闭用户如下:
lp、news、uucp、games、mail等
1、cat /etc/passwd (查看系统存在的用户)
2、cd /etc/、cp password passwd.bak(备份password文件)
3、删除用户:
# groupdel (lp、news、uucp、games、mail)
# userdel (IP、news、uucp、games、mail)
4、如必要,可以锁定密码相关关键文件
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
1.10 系统设置密码过期策略的基线要求
配置说明 | 设置密码过期策略 |
---|
实施操作 | 整改 /etc/login.defs配置文件 |
选项级别 | 必选 |
# 解决:
1、cat /etc/login.defs |grep PASS_MAX_DAYS(查看当前最大使用天数)
2、cd /etc、cp login.defs login.defs.bak(备份login.defs文件)
3、vi /etc/login.defs文件,修改如下行
PASS_MAX_DAYS值设置为90(天)
PASS_MIN_LEN 设置为8位以上
PASS_WARN_AGE 设置密码过期警告7天以上
1.11 系统设置账户密码复杂程度策略的基线要求
配置说明 | 设置账户密码复杂度策略 |
---|
实施操作 | 整改 /etc/pam.d/system-auth 配置文件 |
选项级别 | 必选 |
# 解决:
# (备份system-auth文件)
1、cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
2、增加如下策略
# 密码符合8位,包含至少1个大写字母、至少3个小写字母和3个数字和特殊字符
password requisite pam_cracklib.so retry=3 difok=4 minlen=8 ucredit=-1 lcredit=-3 dcredit=-3 dictpath=/usr/share/cracklib/pw_dict
二、软件部分
2.1 Nginx常见的漏洞扫描修复
配置说明 | web漏洞修复 |
---|
实施操作 | Nginx配置文件 |
选项级别 | 必选 |
2.1.1 nginx版本号隐藏
# 在server{}块,加入:
server_tokens off;
2.1.2 缓慢的HTTP拒绝服务攻击在nginx上修复的主要参数配置
# 在http{}块,