基本知识:

更改文件夹拥有者
chown -R  root 文件夹 文件夹权限给root -R递归文件
chown -R  root:root 文件夹 文件夹权限给root 文件夹权限给root组
文件夹授权

chmod [options] mode files
chmod -R 777 文件夹名 777 为最高权限 所有用户可读可写可执行

等保运维服务器漏洞修复(更新中)_等保运维服务器

等保运维服务器漏洞修复(更新中)_等保运维服务器_02

三 、开启系统审计(审计功能在用户分权之前做,要不然重启的时候涉及到文件权限麻烦)

查询审计功能
service auditd status
#审计日志文件目录
/var/log/audit/audit.log
#编辑审计配置文件
vi /etc/audit/rules.d/audit.rules
加入以下配置规则:

#自定义审计规则

等保运维服务器漏洞修复(更新中)_等保运维服务器_03

设置规则所有对passwd文件的写、属性修改操作都会被记录审计日志
-w  /etc/passwd  -p wa  -k  passwd_change
-w /etc/shadow -p wa -k shadow
-w /etc/hosts -p wa -k hosts
-w /etc/hosts.allow -p wa -k hosts-allow
-w /etc/hosts.deny -p wa -k hosts-deny
-w /etc/fstab -p wa -k fstab
或者在命令前加auditctl 不需要重启审计服务器立即生效,但是是临时性的,重启后就会失效
auditctl  -w  /etc/passwd  -p wa  -k  passwd_change
auditctl  -w /etc/shadow -p wa -k shadow
auditctl  -w /etc/hosts -p wa -k hosts
auditctl  -w /etc/hosts.allow -p wa -k hosts-allow
auditctl  -w /etc/hosts.deny -p wa -k hosts-deny
auditctl  -w /etc/fstab -p wa -k fstab
#重启审计服务
service auditd restart
#查询审计配置规则
auditctl -l

一、应授予管理用户所需的最小权限,实现管理用户的权限分离

1、系统管理员

创建系统管理员(sys用户)并设置密码
[root@localhost ~]# useradd sys
[root@localhost ~]# passwd sys
创建组并将用户添加到组(/var是要给用户权限访问的路径)
[root@localhost ~]# groupadd sysgroup
[root@localhost ~]# usermod -G sysgroup sys
[root@localhost ~]# chown -R sys:sysgroup /var

设置目录权限(不要执行这个语句太坑了会导致SSH连接失败,/var必须是root用户的)
[root@localhost ~]# chmod 741 /var

问题修复SSH无法连接不影响 linux服务器直接登录 修改/var权限
查看用户所在组
cd /var/log 
less secure 
chown -R root:root /var
chmod 744 /var/empty/sshd
service sshd restart

2、安全管理员

创建用户并指定登录的起始目录
[root@localhost ~]# useradd -d /etc anquan
[root@localhost ~]# passwd anquan
只允许anquan用户访问/etc
[root@localhost ~]# chown -R anquan:anquan /etc
设置目录权限
[root@localhost ~]# chmod 700 /etc

3、审计管理员

创建用户
[root@localhost ~]# useradd shenji
[root@localhost ~]# passwd shenji
设置shenji用户只有查看权限
[root@localhost ~]# vim /etc/sudoers    //或者 vi /etc/sudoers
shenji     ALL = (root) NOPASSWD: /usr/bin/cat , /usr/bin/less , /usr/bin/more , /usr/bin/tail , /usr/bin/head
设置shenji用户只能访问/var/log
[root@localhost ~]# chown -R shenji:shenji /var/log
设置目录权限
[root@localhost ~]# chmod 700 /var/log

4、用户查看

cat /etc/passwd 查看所有用户 pid>=1000的为自建用户。

二、Nginx未开启审计日志access.log

1、开启审计日志

2、日志分片

#nginx日志切割脚本
#!/bin/bash
#设置日志文件存放目录
logs_path="/home/app/user/local/nginx-1.23.1/logs/"
#日志切割
cd /home/app/user/local/nginx-1.23.1/logs
if [ ! -d log-bak ] ; then

        mkdir -p log-bak

fi
#重命名日志文件
#mv ${logs_path}access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").log

mv /home/app/user/local/nginx-1.23.1/logs/access.log /home/app/user/local/nginx-1.23.1/logs/log-bak/access_$(date -d "yesterday" +"%Y%m%d").log

nginx -s reopen
#删除180天前的文件
find /home/app/user/local/nginx-1.23.1/logs/log-bak/ -mtime +180 -type f -exec rm -rf {} \;

3 、加入定时任务

配置可执行
chmod u+x /home/app/user/local/nginx-1.23.1/logs/rzqg.sh
配置到定时任务中
crontab -e
#每晚凌晨1点执行
0 1 * * *  /home/app/user/local/nginx-1.23.1/logs/rzqg.sh


四、服务器未配置hosts.allow和hosts.deny管理终端的IP白名单

vim /etc/hosts.deny
sshd:ALL

vim /etc/hosts.allow
sshd:192.168.*:allow

五、linux登录用户身份标识鉴别,密码长度,密码复杂度,登录超时设置,登录失败锁定

1、密码长度

vim  /etc/login.defs
PASS_MAX_DAYS  90
PASS_MIN_DAYS  2
PASS_MIN_LEN  15
PASS_WARN_AGE  15
PASS_MAX_DAYS 99999 #密码的最大有效期, 99999:永久有期
PASS_MIN_DAYS 0 #是否可修改密码,0可修改,非0多少天后可修改
PASS_MIN_LEN 5 #密码最小长度,使用pam_cracklib module,该参数不再有效
PASS_WARN_AGE 7 #密码失效前多少天在用户登录时通知用户修改密码

以上针对新用户的针对老用户
设置密码有效期90天
chage -M 90 username

2、密码复杂度

vim /etc/pam.d/system-auth

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=  minlen=15 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 difok=1 enforce_for_root

参数说明
  负数:代表最少出现次数,正数:代表最多出现次数
  minlen=15,密码长度至15位;
  lcredit=-1,至少包含一个小写字母;
  ucredit=-1,至少包含一个大写字母;
  dcredit=-1,至少包含要给数字;
  ocredit=-1,至少包含一个特殊字符;
  difok=1,新密码最多与旧密码重复1个字符;
  enforce_for_root,对root强制执行密码复杂度策略。

3、登录超时设置

vi /etc/profile
TMOUT=9000
#刷新配置文件
source /etc/profile

4、设置登录失败锁定

控制台失败登录锁定
vim /etc/pam.d/system-auth
auth  required pam_tally2.so notallow=fail deny=5 unlock_time=60 root_unlock_time=60

SSH失败登录锁定
vim /etc/pam.d/sshd或者 vim /etc/pam.d/sshd.rpmsave
auth required pam_tally2.so deny=5 unlock_time=60 even_deny_root root_unlock_time=60