• centos7服务器安全策略


    一、基于centos7设置密码策略

        CentOS7/RHEL7 开始使用pam_pwquality模块进行密码复杂度策略的控制管理。pam_pwquality替换了原来Centos6/RHEL6中的pam_cracklib模块,并向后兼容。
    
    • 1
    • (1)编辑system-auth
    vim /etc/pam.d/system-auth
    
    • 1
    password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 difok=5 enforce_for_root
    
    • 1

    在这里插入图片描述
    minlen = 8,密码长度至少8位;

        lcredit=-1,至少包含一个小写字母;
    
        ucredit=-1,至少包含一个大写字母;
    
        dcredit=-1,至少包含要给数字;
    
        ocredit=-1,至少包含一个特殊字符;
    
        difok=5,新密码最多与旧密码重复5个字符;
    
        enforce_for_root,对root强制执行密码复杂度策略。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • (2)参数说明

        **负数:代表最少出现次数,正数:代表最多出现次数**
      
      • 1
    1. minlen:表示密码长度
    2. lcredit=N 当N>0时表示新密码中小写字母出现的最多次数;当N<0时表示新密码中小写字母出现最少次数
    3. ucredit=N 当N>0时表示新密码中大写字母出现的最多次数;当N<0时表示新密码中大写字母出现最少次数
    4. dcredit=N: N >= 0:密码中最多有多少个数字;N < 0密码中最少有多少个数字. dcredit=-1
      密码中最少有1个数字
    5. ocredit=N:N >= 0:密码中最多有多少个特殊字母;N < 0密码中最少有多少个特殊字母.ocredit=-1
      密码中至少有1个特殊字符
    6. difok=5,新密码最多与旧密码重复5个字符;
    7. enforce_for_root,对root强制执行密码复杂度策略。
    • (3)验证密码策略
    useradd kafka
    passwd kafka
    
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    二、基于centos7设置身份鉴别策略

      应设置用户登录失败处理功能,可采取结束会话、限制非法登录次数和自动退出等措施。
    
    • 1

    1).策略配置

    vim /etc/pam.d/sshd
    
    • 1
    auth       required     pam_tally2.so onerr=fail deny=2 unlock_time=120 root_unlock_time=120
    
    • 1

    在这里插入图片描述
    2).参数说明

    auth       required     pam_tally2.so onerr=fail deny=5 unlock_time=1800 root_unlock_time=1800
    
    • 1

    onerr=fail 表⽰定义了当出现错误时的缺省返回值;
    even_deny_root 表⽰也限制root⽤户;
    deny 表⽰设置普通⽤户和root⽤户连续错误登陆的最⼤次数,超过最⼤次数,则锁定该⽤户;
    unlock_time 表⽰设定普通⽤户锁定后,多少时间后解锁,单位是秒;
    root_unlock_time 表⽰设定root⽤户锁定后,多少时间后解锁,单位是秒

    3).查看用户登录失败的次数

    pam_tally2 --user 用户名
    
    • 1

    在这里插入图片描述
    4).解锁指定用户

    pam_tally2 -r -u 用户名
    
    • 1

    在这里插入图片描述

    三、设置登陆会话超时

    应设置登录终端的会话超时功能。

    vim /etc/profile
    TMOUT=600 #600秒超时
    source /etc/profile
    
    • 1
    • 2
    • 3

    执行vi /etc/profile命令打开配置文件
    在vim编辑器中查询TMOUT(可以通过/TMOUT方式查询)
    将TMOUT的数值改为需要设置的时长(单位秒,0为不限制)
    :wq保存退出
    执行source /etc/profile保存即可

    加入以下两个代码:
    TMOUT=300
    export TMOUT
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    四、设置密码有效期

    vim /etc/login.defs
    
    • 1

    1).配置策略

            #密码的最大有效期
            PASS_MAX_DAYS   180
            #登录密码最短修改时间,增加可以防止非法用户短期更改多次
            PASS_MIN_DAYS   1
            #密码最小长度,pam_pwquality设置优先
            PASS_MIN_LEN    8
            #密码失效前多少天在用户登录时通知用户修改密码
            PASS_WARN_AGE   7
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    #以上设置只针对新用户生效,原来用户不生效。
    原有用户设置密码有效期,可以使用命令:

    chage -M 180 用户
    
    • 1
    chage:密码失效是通过此命令来管理的。 
      参数意思:
      -m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
      -M 密码保持有效的最大天数。
      -W 用户密码到期前,提前收到警告信息的天数。
      -E 帐号到期的日期。过了这天,此帐号将不可用。
      -d 上一次更改的日期
      -I 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
      -l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    2).查看密码有效期策略
    在这里插入图片描述

    [root@localhost ~]# chage -M 90 test        #密码有效期90天
     
    [root@localhost ~]# chage -d 0 test       #强制用户登陆时修改口令
     
    [root@localhost ~]# chage -d 0 -m 0 -M 90 -W 15 test   #强制用户下次登陆时修改密码,并且设置密码最低有效期0和最高有限期90,提前15天发警报提示
     
    [root@localhost ~]# chage -E '2014-09-30' test  # test这个账号的有效期是2014-09-30
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    五、禁止root 远程登录

    使用命令  vim /etc/ssh/sshd_config   编辑该文件
     
    找到 PermitRootLogin yes    改为  找到 PermitRootLogin no
     
    然后重启  service sshd restart
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    六、对远程登录地址进行限制

    对于通过IP协议进行远程维护的设备,设备应支持对允许登陆到该设备的IP地址范围进行设定。
    1、/etc/hosts.allow中设置了允许访问的IP地址范围。
    2、/etc/hosts.deny中设置了拒绝所有远程访问。sshd:ALL
    两者同时满足则合规,否则不合规。

    vim /etc/hosts.allow
    
    • 1

    格式案例:

    sshd:192.168.212.*:allow
    sshd:192.168.148.*:allow
    sshd:192.168.8.*:allow
    sshd:92.168.145.*:allow
    sshd:192.168.209.*:allow
    sshd:192.168.215.*:allow
    sshd:192.168.141.*:allow
    sshd:192.168.1.*:allow
    sshd:192.168.3.*:allow
    sshd:192.168.8.*:allow
    sshd:192.168.146.*:allow
    sshd:192.168.*:allow
    sshd:192.168.*:allow
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    vim  /etc/hosts.deny
    sshd:ALL
    
    • 1
    • 2

    验证方法:

    cat /etc/hosts.allow|grep -v "^*\|^#\|^$" 
    cat /etc/hosts.deny|grep -v "^*\|^#\|^$" 
    
    • 1
    • 2

    七、服务器安装防恶意代码软件

    Linux病毒查杀软件Clamav的安装

    1).安装

    yum install clamav clamav-server clamav-data clamav-update \
                       clamav-filesystem clamav-scanner-systemd \
                       clamav-devel clamav-lib clamav-server-systemd \
                       pcre*  gcc  zlib zlib-devel libssl-devel libssl  openssl
    
    • 1
    • 2
    • 3
    • 4

    2).更新病毒库

    #先停止freshclam服务
    systemctl  stop  clamav-freshclam.service      
    #自动更新
    freshclam
    #重启freshclam服务
    systemctl  start  clamav-freshclam.service
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3).常用命令

    #重启freshclam服务
    systemctl  start  clamav-freshclam.service
    #查看服务状态
    systemctl status clamav-freshclam.service
    #开机启动程序
    systemctl enable clamav-freshclam.service 
    #停止freshclam服务
    systemctl stop clamav-freshclam.service 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    4).杀毒

    扫描指令:​clamscan​
    通用,不依赖服务,命令参数较多,执行速度稍慢
    用clamscan扫描,不需要开始服务就能使用
    -r 递归扫描子目录
    -i 只显示发现的病毒文件
    --no-summary 不显示统计信息
    
    扫描参数:
    
    -r/--recursive[=yes/no]         所有文件
    --log=FILE/-l FILE        增加扫描报告
    --copy[路径] 将受感染的文件复制到[路径]
    --move [路径]          将受感染的文件移动到[路径]
    --remove [路径]              删除受感染的文件
    --quiet                  只输出错误消息
    --infected/-i                       只输出感染文件
    --suppress-ok-results/-o      跳过扫描OK的文件
    --bell                         扫描到病毒文件发出警报声音
    --unzip(unrar)                 解压压缩文件扫描
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    #扫描所有文件并且显示有问题的文件的扫描结果
    clamscan -r --bell -i /
    #只显示找到的病毒信息
    clamscan --no-summary -ri /app
    #扫描app
    clamscan --infected --remove --recursive /app
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    5).定时杀毒

    定时杀毒
    #让服务器每天晚上定时更新和杀毒,保存杀毒日志,crontab文件如下:
    2  3  * * *  /usr/local/clamav/bin/freshclam --quiet
    23 3  * * *  /usr/local/clamav/bin/clamscan  -r         /app  --remove -l  /var/log/clamscan.log
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    部署LVS-DR群集
    Synopsys Sentaurus TCAD系列教程之-Tcl《4》
    说一说promise是什么与使用方法?
    tvm在linux环境下的安装与编译及vscode如何配置tvm的远程连接调试环境
    分库分表合并迁移
    java镜子之反射篇
    从Spring源码探究SpringMVC运行流程
    Android开发-Android项目Jenkins自动化打包流程搭建与配置
    Linux 基础-新手必备命令
    高逼格,程序员专属音乐播
  • 原文地址:https://blog.csdn.net/q908544703/article/details/126027075