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

一、身份鉴别

1.1 密码复杂度及策略

第一种

修改 /etc/login.defs 文件内容即可

# 密码最大有效期

PASS_MAX_DAYS 90

# 两次修改密码的最小间隔时间

PASS_MIN_DAYS 90

# 密码最小长度,对于root无效

PASS_MIN_LEN 8

# 密码过期前 7 天开始提示

PASS_WARN_AGE 7

第二种

vim /etc/pam.d/system-auth

password requisite pam_pwquality.so try_first_pass local_users_only remember=5 retry=3 difok=3 minlen=10 ucredit=-1 lcredit=-3 dcredit=-3 authtok_type=

retry 。就是说,如果用户输入的密码强度不够就退出。可以使用这个选项设置输入的次数,以免一切都从头再来。

remember=5 表示禁止使用最近用过的5个密码(己使用过的密码会被保存在 /etc/security/opasswd 下面)

minlen=10 表示最小密码长度为 10 类型数量,这里的 “类型数量” 表示不同的字符类型数量。PAM 提供4种类型符号作为密码(大写字母、小写字母、数字和标点符号)。如果你的密码同时用上了这4种类型的符号,并且你的 minlen 设为10,那么最短的密码长度允许是6个字符。

ucredit=-1 表示密码必须至少包含一个大写字母

lcredit=-2 表示密码必须至少包含两个小写字母

dcredit=-1 表示密码必须至少包含一个数字

ocredit=-1 表示密码必须至少包含一个标点符号

dictpath 这个是验证用户的密码是否是字典一部分的关键。

remember=5 必须在每一行 password 中后 都要添加,否则不生效

1.2 登录超时,登录次数限制

CentOS中有一个pam_tally2.so的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户。

# 终端

vim /etc/pam.d/login

# ssh连接

vim /etc/pam.d/sshd

在 #%PAM-1.0 下添加如下

auth required pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=120

在 -auth 下加入如下

account required pam_tally2.so

even_deny_root 也限制root用户;

deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户

unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;

root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;

此处使用的是 pam_tally2 模块,如果不支持 pam_tally2 可以使用 pam_tally 模块。另外,不同的pam版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则。

查看登录失败

[root@node102 sh]# pam_tally2 --user

Login Failures Latest failure From

xulei 31 01/20/21 17:43:14 192.168.200.89

删除数据

pam_tally2 -r -u user

会话超时

vim /etc/profile

单位秒

export TMOUT=900

source /etc/profile

二、访问控制

归根到底,访问控制里面的所有要求基本就是对不同的文件和进程进行权限控制,所以就需要我们对用户进行分组管理。

作用

数据库

只负责管理数据库的用户

服务

负责业务服务或其他组件的用户

安全

负责系统安全,日志审计登的用户

先添加组

添加用户,并分配到对应的组

给组分配权限

ACL

[root@node102 ~]# getfacl ./anaconda-ks.cfg

# file: anaconda-ks.cfg

# owner: root

# group: root

user::rw-

group::---

other::---

owner 为文件所属者

group 为文件所属组

user 代表文件所属者有 读写权限

group 组内的其他人不能操作该文件

other 其他人也不能操作该文件

三、安全审计

安全审计简单的来讲就是日志,操作日志,行为日志,失败日志等。按等保要求要满足以下几点:

启用安全审计功能

审计覆盖每个用户

审计内容应包括:具体时间、用户、事件类型、事件是否成功。

定期备份审计

对审计进程或文件给与不同的权限

audit

audit 主要用来记录安全信息,用于对系统安全事件的追溯;audit 来记录内核信息,包括文件的读写,权限的改变等。

查看 auditctl 是否启动

[root@node102 ~]# auditctl -s

enabled 1

failure 1

pid 838

rate_limit 0

backlog_limit 8192

lost 0

backlog 0

loginuid_immutable 0 unlocked

里面的enabled的值即为auditd内核模块的状态,enabled 为 0 则代表auditd内核模块没有启动,系统不会记录任何信息。如果 enabled 为 1,则代表auditd内核模块正常开启,此时可以正常收集信息。如果 enabled 为 2,似乎是代表审计规则被锁定,不能修改升级规则。

而当enabled为1但auditd守护进程没有开启时,内核收集到的信息将会记录到写到/var/log/messages中。

当然,一般情况下不会出现这种状态,使用service auditd start或stop命令启动或停止auditd守护进程时,内核的状态和auditd守护进程的状态是一致的。 也就是start时,会开启auditd守护进程,同时auditd内核的enabled也会被设为1,stop时,也一样。

除非你使用auditctl -e命令特意去这么做:

[root@node102 ~]# service auditd stop

Stopping logging: [ 确定 ]

[root@node102 ~]# auditctl -e 1

enabled 1

failure 1

pid 0

rate_limit 0

backlog_limit 8192

lost 0

backlog 0

是否覆盖到每个用户和是否对重要行为、事件进行审计

我们可以通过auditctl -l查看现在运行着的审计规则(默认是无规则):

[root@node102 ~]# auditctl -l

No rules

还可以通过查看/etc/audit/audit.rules文件,得到写在配置文件中的永久审计规则:

[root@node102 ~]# cat /etc/audit/audit.rules

## This file is automatically generated from /etc/audit/rules.d

-D

-b 8192

-f 1

实际运行的规则和配置文件中写的规则有什么区别吗?对于实际运行的规则,你可以临时的增加、删除、修改(服务重启就恢复原样)。 而对于写在配置文件中的规则,如果你修改了配置文件却没有重启服务,那么你修改的也不会生效。

audit的审计规则大概有两类:一类是对文件的监控,一类是对系统调用的监控。

例1:监控 /etc/my.cnf 文件,只要在文件加如以下内容

-w /etc/my.cnf -p wa

-w 路径

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

-k 关键字

例2:监控系统调用行为,监视文件权限变化,因为改变权限必须调用umask

-a entry,always -S umask -S chown

-a always 总是记录审计;none 不记录;exit 行为完成后记录审计;entry 行为刚刚开始 时记录审计

-S 系统调用名称

-F 字段=值

-k 关键字

请查阅系统调用列表后决定监控那种行为,系统调用是底层的、全局性的,监控不合适的调用,会给系统带来巨大负担。

备份

复制以下脚本,并添加到定时任务中,每天执行一遍即可

#!/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

对于内容不理解的看这里

权限

audit.log 默认只有root有读写权限,其余人全没有

[root@node102 audit]# ll

total 13536

-rw-------. 1 root root 5456443 Jan 22 11:52 audit.log

-r--------. 1 root root 8388686 Oct 18 03:01 audit.log.1

audit.rules 默认如下,我们把组的读权限也去掉,保证绝对安全。(命令:chmod g-r audit.rules)

[root@node102 audit]# ll /etc/audit/audit.rules

-rw-r-----. 1 root root 81 Jun 15 2020 /etc/audit/audit.rules

然后就是我们每天的备份文件,权限也是一样,要么只给安全组用户可读权限,要么就只有管理员最高权限。

四、入侵防范

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

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

应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制;

一般我们安装的centos7及以上都是系统默认的软件以及端口,相对于来说一个刚装好的centos应该是安全的,所以我们只需要关注我们程序业务需要哪些端口或应用包即可。而防火墙应该都是默认开启原则,我们需要端口被允许访问的话,我建议使用 iptables 命令,写到一个脚本中,当启动的时候执行脚本就行。

写到这里就是目前能做到的,其余大家可以自己看看,有些需要购买杀毒软件装入。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
尊敬的领导: 根据等保2.0系统整改建议模板,我经过深入研究和分析,针对我们公司当前面临的等保2.0系统整改问题,提出以下建议: 1. 完善安全策略: 首先,我们重新评估公司的安全风险,制定适合公司的安全策略和目标。根据等保2.0的要求,将安全运营管理、网络安全管理、用系统安全管理等方面纳入策略中,并确保策略的全面性和可操作性。 2. 加强网络安全: 针对等保2.0的网络安全要求,我们需要加强网络设备的管理和维护。建议定期对网络设备进行安全检查和漏洞扫描,及时修补和更新补丁,以确保网络的安全性。此外,建议对网络通信进行加密,确保数据传输的机密性和完整性。 3. 强化访问控制: 鉴于等保2.0的要求,我们对系统访问进行严格的控制和管理。建议采用多层次的访问控制方法,例如角色访问控制、身份认证等,并合理控制内外部人员的权限。另外,建议定期评估和审查员工的访问权限,确保权限仅限于工作职责需要的范围。 4. 加强安全培训: 为提高员工的安全意识和技能,建议加强安全培训。培训内容可以包括等保2.0的政策法规、安全控制措施、网络攻击和防御等方面。培训可以通过内部讲座、在线教育等方式进行,并建立相的培训档案。 5. 加强安全监控与急响: 针对等保2.0的安全监控和急响要求,建议建立完善的安全监控系统,并配置合适的监控工具。监控工具可以实时监测系统的状态、检测异常行为,并及时发出警报。同时,建议建立紧急事件响流程,制定急预案和演练,并确保在安全事件发生时能够迅速对。 以上是我对公司等保2.0系统整改的建议,希望能够为公司的安全建设提供一些参考。我们将持续关注等保2.0的最新要求和标准,并积极推进整改工作,确保公司系统的安全和稳定。谢谢! 高级安全专员 日期:2022年1月1日

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值