当前位置 博文首页 > 文章内容

    Linux服务器安全加固(一)

    作者: 栏目:未分类 时间:2020-09-07 17:02:49

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    一、检查是否存在除root之外UID为0 的用户

     1 配置要求:
     2 除root之外的其他账号UID不能为0
     3 检查步骤:
     4 执行以下命令查看系统中UID为0的账号
     5 awk -F : '($3 == 0) {print $1}' /etc/passwd
     6 合规标准:
     7 除root之外无其他UID为0的账户则合规。否则不合规
     8 加固方案:
     9 1.执行备份
    10        cp -p /etc/passwd /etc/passwd.bat
    11        cp -p /etc/shadow /etc/shadow.bat
    12        cp -p /etc/group /etc/group.bat
    13 2.删除除root以外uid为0的账户(删除之前应确保账号未被其他业务使用)
    14        userdel usename

    二、检查系统中是否存在空密码账户

     1 配置要求:
     2 在/etc/shadow文件中第二项不能为空
     3 检查步骤:
     4 执行以下命令查看系统中是否存在空密码账户
     5 awk -F : '($2 == "") {print $1}' /etc/shadow
     6 合规标准:
     7 执行上面命令后显示为空则合规。否则不合规
     8 加固方案:
     9 1.执行备份
    10        cp -p /etc/shadow /etc/shadow.bat
    11      cp -p /etc/passwd /etc/passwd.bat
    12        cp -p /etc/group /etc/group.bat
    13 2.设置密码
    14 passwd username
    15 测试:
    16 1.创建用户:
    17 useradd aaa (此时aaa没有设置密码,但还不能使用空密码登录)
    18 2.使用root账户清除aaa密码
    19 passwd -d aaa
    20 3.再次使用如下命令检查
    21 awk -F : '($2 == "") {print $1}' /etc/shadow (此时发现显示不为空了)

    三、检查用户口令设置

     1 配置要求:
     2 密码设置必须符合策略
     3 检查步骤:
     4 执行以下命令检查以下参数
     5        PASS_MAX_DAYS 密码最长过期天数参考值90
     6        PASS_MIN_DAYS  密码最小过期天数参考值0
     7        PASS_MIN_LEN 密码最小长度参考值8
     8        PASS_W ARN_AGE 密码过期警告天数参考值7
     9 合规标准:
    10 密码设置符合策略则合规。否则不合规
    11 加固方案:
    12  1.执行备份
    13         cp -p /etc/login.defs /etc/login.defs.bat
    14 2.修改如下参数
    15        PASS_MAX_DAYS 密码最长过期天数参考值90
    16        PASS_MIN_DAYS  密码最小过期天数参考值0
    17        PASS_MIN_LEN 密码最小长度参考值8
    18        PASS_W ARN_AGE 密码过期警告天数参考值7

    四、对用户密码强度的设置

     1 配置要求:
     2 设置新密码不能和旧密码相同,新密码至少8位,同时包含大小写字母、数字和符号
     3 检查步骤:
     4 执行以下命令修改参数
     5 vi /etc/pam.d/sysetm-auth
     6     difok= :此选项用来定义新密码中必须要有几个字符和旧密码不同
     7     minlen=:此选项用来设置新密码的最小长度
     8     ucredit= :此选项用来设定新密码中可以包含的大写字母的最大数目。-1 至少一个
     9     lcredit=:此选项用来设定新密码中可以包含的小写字母的最大数目
    10     dcredit=:此选项用来设定新密码中可以包含的数字的最大数目 
    11     ocredit=:此选项用来设定新密码中可以包含的标点符号的最大数目
    12 合规标准:
    13 新密码不能和旧密码相同,新密码至少8位,同时包含大小写字母、数字和符号则合规。否则不合规
    14 加固方案:
    15 1.执行备份
    16         cp -p /etc/pam.d/sysetm-auth /etc/pam.d/sysetm-auth.bat
    17 2.修改参数
    18 password  requisite  pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=  difok=1 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
    19:注:这个密码强度的设定只对普通用户有限制作用,root用户无论修改自己的密码还是修改普通用户的时候,不符合强度设置依然可以设置成

     

     五、对用户的登录次数进行限制

     1 配置要求:
     2 对用户登录次数进行限制
     3 检查步骤:
     4 执行以下命令修改文件中的参数
     5 vi  /etc/pam.d/sshd
     6 合规标准:
     7 对用户登录次数进行限制,当普通用户输入密码错误达到3次锁定150秒,root用户输入密码错误达到3次锁定300秒则合规。否则不合规
    注:锁定的意思即使密码输入正确也无法登录成功。
    8 加固方案: 9 1.执行备份 10 cp -p /etc/pam.d/sshd /etc/pam.d/sshd.bat 11 2.设置如下 12 auth required pam_tally2.so deny=3 unlock_time=150 even_deny_root root_unlock_time300

     

     

     测试:当密码输入三次错误时,用户密码被锁定

     

     查看被锁定用户

     

     将被锁定的用户解锁

     

      查看被锁定用户

     

     六、禁止root用户远程登录

     1 配置要求:
     2 禁止root用户远程登录
     3 检查步骤:
     4 执行以下命令修改文件中的参数
     5 vi   /etc/ssh/sshd_config
     6 修改参数为PermitRootLogin no  
     7 合规标准:
     8 root用户无法远程登录(如CRT登录)则合规。否则不合规
     9 加固方案:
    10 1.执行备份
    11       cp -p /etc/ssh/sshd_config  /etc/ssh/sshd_config.bat
    12 2.修改如下
    13       进入/etc/ssh/sshd_config文件
    14       修改参数:PermitRootLogin no  

     

     

     测试远程登录:

     

     提示密码验证失败,请检查用户名和密码是否正确

     

     七、设置历史命令保存条数和账户超时时间

     1 配置要求:
     2 设置历史命令保存条数和账户超时时间
     3 检查步骤:
     4 执行以下命令修改文件中的参数
     5 vi   /etc/profile
     6 修改参数为  HISTSIZE=100
     7            TMOUT=600
     8 合规标准:
     9 这个历史条数和超时时间不要太大,越小越好
    10 加固方案:
    11 1.执行备份
    12      cp -p /etc/profile  /etc/profile.bat
    13 2.修改如下
    14      进入/etc/profile文件
    15      修改参数:HISTSIZE=100
    16               TMOUT=600

     

     

     八、设置只有指定用户组才能使用su命令切换到root用户

    配置要求:只有指定用户才能使用su命令切换到root用户
    检查步骤:
    将普通用户加入wheel组。usermod -G wheel linux
    执行以下命令编辑文件
    vi   /etc/pam.d/su
    将下面这行注释去掉
    auth    required   pam_wheel.so   use_uid
    执行以下命令编辑文件
    vi /etc/login.defs
    末尾加入SU_WHEEL_ONLY yes 即可。
    合规标准:
    这个历史条数和超时时间不要太大,越小越好
    加固方案:
    1.执行备份
         cp -p /etc/pam.d/su  /etc/pam.d/su.bat
    2.修改如下
    将普通用户加入wheel组:usermod -G wheel linux
    执行以下命令编辑文件:vi   /etc/pam.d/su
    将下面这行注释去掉:auth    required   pam_wheel.so   use_uid
    执行以下命令编辑文件:vi /etc/login.defs
    末尾加入SU_WHEEL_ONLY yes 即可。

     

     

     

     

     

     测试:切换用户aaa,用aaa用户切换su - root,提示登录拒绝。

     

     利用用户linux切换su - root 登录成功。

     

     九、对Linux账户进行管理

     1 检查规则:
     2 使用如下命令检查:
     3     1.查看具有登录权限的用户:
     4          使用命令 awk -F: '($7=="/bin/bash"){print $1}' /etc/passwd   
     5     2.查看UID为0的账号,UID为0的用户会自动切换到root用户,所以危害很大
     6          使用命令 awk -F: '($3==0)' /etc/passwd   
     7     3.查看空口令账号,如果存在空口令用户的话必须设置密码 
     8          使用命令 awk -F: '($2=="")' /etc/shadow   
     9 加固方案:
    10      1.删除不必要的账户
    11            使用命令 userdel -r usename
    12      2.锁定不必要的账户
    13             使用命令 passwd -l username
    14 注意:username是删除或锁定的账户名称

     

     十、对重要文件进行锁定,即使是root'用户也无法删除

    1 设置要求:
    2     根据公司的业务需求,觉得哪些文件比较重要,就设置
    3 加固方案:
    4       chattr  改变文件或目录的扩展属性
    5       lsattr  查看文件目录的扩展属性
    6 操作命令:
    7      chattr  +i  /etc/passwd /etc/shadow                 //增加属性
    8      chattr  -i  /etc/passwd /etc/shadow                 //移除属性  
    9      sattr  /etc/passwd /etc/shadow                      //查看修改后属性