linux(二) 应等保三级要求整改方案

一、 身份鉴别

1.1 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;

建议操作系统对登录的用户进行身份标识和鉴别,身份鉴别信息配置复杂度要求开启定期更换策略,避免使用弱口令,至少包含字母和数字,密码长度至少8位。密码最长适用90天,5次内不重复

整改方案:

1.修改 /etc/login.defs 文件内容即可,加入如下
# 密码最大有效期
PASS_MAX_DAYS   90
# 两次修改密码的最小间隔时间
PASS_MIN_DAYS   1
# 密码最小长度,对于root无效
PASS_MIN_LEN    8
# 密码过期前 7 天开始提示
PASS_WARN_AGE   7

对于密码的强度要求可以修改system-auth文件,vim /etc/pam.d/system-auth,修改如下:

# 添加以下内容
password    requisite     pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=-1 lcredit=-3 dcredit=-3 dictpath=/usr/share/cracklib/pw_dict

# remember=5 5次内密码不重复
# retry=3 输入错误重试3次
# difok=3 
# minlen=10表示最小密码长度为 10 类型数量
# ucredit=-1表示密码必须至少包含1个大写字母
# lcredit=-3表示密码必须至少包含3个小写字母
# dcredit=-3表示密码必须至少包含3个数字

1.2 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;

1. 登录失败

建议操作系统开启登录失败处理功能配置登录失败5次及锁定时间30分钟;

vim /etc/pam.d/system-auth

# 添加以下内容
auth        required      pam_tally2.so onerr=fail deny=5 unlock_time=1800 even_deny_root root_unlock_time=1800

参数含义: 密码错误 5 次锁定 1800 秒

2. 会话过期,修改 /etc/profile 文件

vim /etc/profile
# 单位秒 1800秒
export TMOUT=1800
source /etc/profile

二、 访问控制

2.1 应对登录的用户分配账户和权限;

建议操作系统对登录的用户分配账户和权限;
整改方案:

系统表示 作用
数据库 db 只负责管理数据库的用户
服务 server 负责业务服务或其他组件的用户
安全 security 负责系统安全,日志审计登的用户

命令如下:

#列出所有组
cat /etc/group

# 删除组
groupdel xulei

# 添加组
groupadd  db
groupadd  server
groupadd  security

# 查看所有用户
cat /etc/passwd

# 查看用户所属组
groups db

# 删除用户
userdel -rf xulei

# 添加用户到某个组,并指定用户的所属目录
useradd xulei -d /home/users/xulei –N

# 改变用户组
usermod -g db xulei

# 修改文件属性只能某个组的成员操作
chown :server /home/server

# 修改密码
passwd xulei
用户名 所属组 密码
dbuser db xxxxx
secuser security xxxxxx
serveruser server xxxxxxx

2.2 修改root的默认账户信息

# 修改用户名,这种修改不能修改root
usermod -l 新用户  旧用户

# 如下可以修改root账号
1、vim /etc/passwd 将第一行的第一个root替换为重命名的用户
2、vim /etc/shadow 将这一行中的root 替换为重命名

三、安全审计

3.1 应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;

建议操作系统启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;

整改方案:

service auditd start
# 查看是否开启,只要enable=1即可,这个 – 有问题 需要在命令行自己重新打
auditctl –s
# 同时根据需求可以添加新规则
vim /etc/audit/audit.rules
# 监控 /etc/my.cnf 文件,只要在文件加如以下内容
-w /etc/my.cnf  -p wa

# -w 路径 
# -p 权限  如果没有 -p 选项,则默认监视所有动作 rwxa(读、写、执行、修改文件属性)
# -k 关键字

# 监控系统调用行为,监视文件权限变化,因为改变权限必须调用umask
-a entry,always -S umask -S chown
# -a always 总是记录审计;none 不记录;exit 行为完成后记录审计;entry 行为刚刚开始                                                                                         时记录审计
# -S 系统调用名称 
# -F 字段=值 
# -k 关键字

3.2 审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;

建议操作系统启用安全审计功能审计记录包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;

整改方案:

# 包含了以上所有条件
cat /var/log/audit/audit.log

3.3 应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;

建议操作系统启用安全审计功能并部署日志审计系统并对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;

整改方案:

# 输入以下脚本,并添加到定时器中
#!/bin/bash
# 日志位置
FILE=/var/log/audit/audit.log
current_time=`date +%y%m%d`
cat $FILE |while  read LINE
do
    Udate=`echo $LINE|awk -F'[(.]+'  '{print $2}'`
    #Udate=`echo $LINE|awk -F. '{print $1}' | awk -F'(' '{print $2}'`
    Cdate=`date -d @$Udate`
    echo $LINE|sed "s/[0-9]\{10\}/$Cdate/"  >> /home/sh/log/audit${current_time}.log
done

3.4 应对审计进程进行保护,防止未经授权的中断。

建议操作系统启用安全审计功能对审计进程进行保护,防止未经授权的中断,限制除审计员外的审计控制权限。

整改方案:

给输出的日志只允许 security 组可读即可。


其他日志方式
vi /etc/syslog.conf 
加入 # The authpriv file has restricted access. 
authpriv.* /var/log/secure 
开启安全日志,日志文件位置/var/log/secure 
没有 syslog.conf 文件,只有 rsyslog.conf。 rsyslog.conf 本身就具有该语句


# 修改所属组
chown :security /var/log

四、入侵防范

4.1 应遵循最小安装的原则,仅安装需要的组件和应用程序;

建议操作系统遵循最小安装的原则,仅安装需要的组件和应用程序;

整改方案:
按照部署方案,删除每台机器上多余的应用即可。

4.2 应关闭不需要的系统服务、默认共享和高危端口;

建议操作系统关闭不需要的系统服务、默认共享和高危端口,如FTP、DHCP等不必要服务

整改方案:

FTP 目前不能关闭还需要上传文件,还有根据部署方案多余的都可以关闭。

systemctl list-units 查看所有服务
快照 建议 备份半年,可以登录到物理机上配分。

4.3 设置登录地址限制(重启生效)

通过设定终端接入方式、网络地址范围等条件限制终端登录

# 修改文件
vi /etc/hosts.allow
# 加入如下,示例允许 10.10.20.99  ssh登录系统
sshd:10.10.20.99:allow
# 允许这个段 使用 telnet访问
in.telnetd:192.168.221.

#修改文件
vi /etc/hosts.deny
# 修改如下,sshd:all:deny表示拒绝了所有sshd远程连接。:deny可以省略。
sshd:all:deny

优先级为先检查 hosts.deny , hosts.allow 后者设定可越过前者限制。

4.4 高危端口管理

永久禁用,需要重启生效

# 用 iptables 来控制端口和防火墙管理
yum install iptables-services

# 设置开机自启动
systemctl enable iptables

# 启动停止命令
systemctl [stop|start|restart] iptables

# 状态查看
service iptables status

# 禁用端口
# 先打开文件编辑
vim /etc/sysconfig/iptables

# 添加禁止端口访问
-A INPUT -p tcp --dport 445 -j DROP
-A INPUT -p tcp --dport 139 -j DROP
-A INPUT -p tcp --dport 3389 -j DROP

# -A 参数就看成是添加一条 INPUT 或 OUTPUT 的规则。
# -p 指定是什么协议 我们常用的tcp 协议,当然也有udp 例如53端口的DNS,到时我们要配置DNS用到53端口 大家就会发现使用udp协议的。
# --dport 就是目标端口,当数据从外部进入服务器为目标端口(INPUT),反之数据从服务器出去(OUTPUT),则为数据源端口使用 --sport
# -j 就是指定是 ACCEPT 接收 或者 DROP 不接收

# 禁止IP访问
-A INPUT -p tcp -s 192.168.1.2 -j DROP

我们就用 -p tcp , 如果是 udp 就写udp,这里就用tcp了, -s就是 来源的意思,
ip来源于 192.168.1.2 ,-j 怎么做 我们拒绝它 这里应该是 DROP

快速生效方式,也会添加到文件中(不建议)

# 禁用端口访问
/sbin/iptables -A INPUT -p tcp --dport  8080 -j DROP
/sbin/iptables -A OUTPUT -p tcp --sport  8080 -j DROP

# 允许端口
/sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT

# 禁用IP访问,可以ping通 但无法通过shh访问
/sbin/iptables -A INPUT -p tcp -s 192.168.200.16 -j DROP

# 保存到文件,会改变默认规则,所有端口可以访问
service iptables save

# 基础设置
# 禁止所有端口访问,但允许22 端口访问,因为是立即生效,最好使用主机修改
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
-A INPUT –m state --state RELATED,ESTABLISHED –j ACCEPT
-A INPUT –p icmp –j ACCEPT
-A INPUT –i lo –j ACCEPT
-A INPUT –p tcp –m state --state NEW –m tcp --dport 22 –j ACCEPT

-A INPUT –j REJECT --reject-with icmp-host-prohibited
-A FORWARD –j REJECT --reject-with icmp-host-prohibited


# 清除规则
# 先查看行号
iptables -nL --line-number

# 删除
iptables -D INPUT 1

-D 是删除的意思
INPUT 指定删除INPUT的规则
1 是行号

注意事项,需要关闭firewalld

systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld

# 但如果你需要开启 firewalld,那么请查看如下配置
# 允许22端口访问
firewall-cmd --zone=public --add-port=22/tcp --permanen
# 重新载入一下防火墙设置,使设置生效
firewall-cmd --reload
# 可通过如下命令查看是否生效
firewall-cmd --zone=public --query-port=22/tcp
# 查看当前系统打开的所有端口
firewall-cmd --zone=public --list-ports
# 关掉刚刚打开的22端口
firewall-cmd --zone=public --remove-port=22/tcp --permanent
# 批量开放端口,如从100到500这之间的端口我们全部要打开
firewall-cmd --zone=public --add-port=100-500/tcp --permanent
# 限制IP为192.168.0.200的地址禁止访问80端口即禁止访问机器
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"
# 解除刚才被限制的192.168.0.200
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" accept"
# 限制10.0.0.0-10.0.0.255这一整个段的IP,禁止他们访问
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" reject"

四、重启服务注意

需要登录虚拟机执行如下两句话才能ssh连接:

route add -net 192.168.200.0/24 gw 10.240.30.251
route add -net 192.168.81.0/24 gw 10.240.30.251

开机执行脚本

chmod +x /etc/rc.d/rc.local
vim /etc/rc.d/rc.local
/home/sh/iptable.sh
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,123评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,031评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,723评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,357评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,412评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,760评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,904评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,672评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,118评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,456评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,599评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,264评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,857评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,731评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,956评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,286评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,465评论 2 348

推荐阅读更多精彩内容

  • 一、身份鉴别 1.1 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换 ...
    _大叔_阅读 3,795评论 0 1
  • 等保2.0概述 2019年5月13日,国家市场监督管理总局、国家标准化管理委员会召开新闻发布会,等保2.0相关的《...
    三杯水Plus阅读 18,732评论 0 0
  • 63期 一、判断 1、测试过程中出现的异常情况,让对方恢复即可不需要及时记录(X ) 2、习近平总书记说“没有信息...
    W_4ae4阅读 4,550评论 2 0
  • 1.中风险未实现操作系统和数据库系统特权用户的权限分离。建议操作系统与数据库管理员分权管理,如安排不同的人员担任操...
    尚酷两瓶阅读 1,928评论 0 0
  • 1.0时代网络安全设备、服务器操作系统、应用系统分别有不同的要求,2.0将这三种统一要求为安全计算环境。条目还是基...
    sydneywhatever阅读 2,426评论 0 0