• 基于Centos 7系统的安全加固方案

     耀扬软件   头条号   2025-03-30

    基于centos7版本测试

    注意:修改任何配置文件,为保障安全请先备份,命令: cp -a +配置文件路径 +存放位置路径

    1.密码长度与有效期

    位置:vi /etc/login.defs

    修改:

    PASS_MAX_DAYS 90 注:密码有效期
    PASS_MIN_DAYS 2 注:修改密码最短期限
    PASS_MIN_LEN 8 注:密码最短长度
    PASS_WARN_AGE 30 注:密码过期提醒

    2.密码复杂度

    位置:vi /etc/pam.d/system-auth

    修改:

    将这行注释   password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= 
     并在其下面新增1行 password requisite pam_pwquality.so try_first_pass minlen=8 difok=5 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 retry=1 authtok_type=
     如何要设定root也要履行该规则,需要添加enforce_for_root
     例如:password requisite pam_pwquality.so try_first_pass minlen=8 difok=5 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 retry=1 enforce_for_root authtok_type=

    解释:

    minlen=8 最小长度8difok=5 新旧密码最少5个字符不同
    dcredit=-1 最少1个数字
    lcredit=-1 最少1个小写字符
    ucredit=-1 最少1个大写字符
    ocredit=-1 最少1个特殊字符
    retry=1 1次错误后返回错误信息
    type=XXX 此选项用来修改缺省的密码提示文本

    3.新口令不能与近期相同

    位置:vi /etc/pam.d/system-auth

    修改:

    在password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
    所在行的后面添加remember=5

    解释:

    remeber=5 记住近期5个密码,改密码不能与近期5个有相同的。

    4.会话超时

    位置:vi /etc/profile

    修改:

    在文件的末尾添加 export TMOUT=600

    解释:

    export TMOUT=600 10分钟超时

    5.登录失败锁定

    位置:vi /etc/pam.d/system-auth

    修改:

    # User changes will be destroyed the next time authconfig is run.
    下面添加auth required pam_tally2.so deny=5 unlock_time=600 even_deny_root root_unlock_time=1800

    解释:

    deny=5 5次登录失败
    unlock_time=1800 锁定30分钟

    6.SSH配置加固

    位置:vi /etc/ssh/sshd_config

    修改:

    (1)禁止空密码登录
    将#PermitEmptyPasswords no参数的注释符号去掉,改成
    PermitEmptyPasswords no
    
    (2)关闭ssh的tcp转发
    将#AllowTcpForwarding yes参数改成
    AllowTcpForwarding no
    
    (3)关闭S/KEY(质疑-应答)认证方式
    将#ChallengeResponseAuthentication yes参数,改成
    ChallengeResponseAuthentication no
    
    
    (4)关闭基于GSSAPI 的用户认证
    将GSSAPIAuthentication yes参数,改成
    GSSAPIAuthentication no

    重启ssh服务:

    systemctl restart sshd.service

    7.重用名root

    位置:vi /etc/passwd 把里面的root用户修改为想要设定的用户名。保存:wq
    位置:vi /etc/shadow 把里面的root用户修改为想要设定的用户名。强制保存:wq

    重启:

    重启服务器,使用修改过的用户名登录。
    通过查询Id 当前用户 如果UID0,就修改成功,否则就是未成功。

    注意:

    如果重启长时间处于运行的服务器可能会导致系统崩溃。
    修改root用户名后,会导致登录系统出现10秒左右的延迟。

    8.查询是否存在特权账户与空口令

    awk -F: '$3==0 {print $1}' /etc/passwd 查询是否存在特权账户
    awk -F: 'length($2)==0 {print $1}' /etc/shadow 查询是否存在空口令

    修改:

    如果存在特权账户,删除除root以外的任何账户。
    如果存在空口令,为该用户设定密码。

    9.删除多余用户

    userdel 用户名

    10.设定禁止root远程登录

    位置:vi /etc/ssh/sshd_config

    修改:

    PermitRootLogin no

    11.日志上传服务器

    位置:vi /etc/rsyslog.conf

    修改:

    *.info;mail.none;news.none;authpriv.none;cron.none /var/log/messages  找到这行添加下面的内容
    *.* @@172.16.x.xx:514
    *.* @172.16.x.xx:514

    注:

    @@表示TCP流量,@表示UDP流量。

    12.防火墙

    systemctl start firewalld 开启防火墙
    systemctl enable firewalld 自启动
    firewall-cmd --per --add-port=80/tcp 开启80端口
    firwall-cmd --reload 重载防火墙
    firewall-cmd --list-all 查看防火墙端口

    上一篇:Linux系统入侵排查与应急响应技术

    下一篇:暂无

      • 公司历程

        10+

        • 来自各领域的合作客户

          200+

          • 覆盖50+行业

            50+

            • 软件著作权

              2+