51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Centos和Redhat系统服务器安全加固第一期

一、身份鉴别

a)应对登录的用户进行身份标识和鉴别

身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换。

参考配置操作:

、口令过期时间

                      vim /etc/login.defs
修改下列参数为建议值
PASS_MAX_DAYS 90    #密码有效期为90天
PASS_MIN_DAYS 1     #密码最短修改时间为1天
PASS_MIN_LEN 8      #密码最小长度为8位
PASS_WARN_AGE 7     #密码过期提前7天提示修改
                </code>
              </pre>

② 、口令复杂度

                      vim /etc/pam.d/system-auth或/etc/pam.d/common-password
password requisite pam_cracklib.so行替换成如下:
password  requisite pam_cracklib.so retry=6  difok=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

                    </code>
                  </pre>



 
  
| **参数**  | **说明** |
|---------|--------|
| retry   | 尝试次数   |
| difok   | 最少不同字符 |
| minlen  | 最小密码长度 |
| ucredit | 最少大写字母 |
| lcredit | 最少小写字母 |
| dcredit | 最少数字   |
| ocredit | 最少特殊符号 |


 
 
  ![](http://static.51tbox.com/static/2024-12-03/col/6f25d29420d8bd3cff387f2994ebf779/9d54d456aad643bbab9cc73dcdf1015d.aspx.jpg)
 
 
除此之外,口令复杂度还可通过/etc/security/pwquality.conf文件实现,三种复杂度满足一种即可。

 
同理使用vim命令修改其配置文件:

 
  
|-----------|-------------------------------|
| **参数**    | **说明**                        |
| minlen=N  | 定义用户密码的最小长度;                  |
| dcredit=N | 定义用户密码中必须包含多少个数字;             |
| ucredit=N | 定义用户密码中必须包含多少个大写字母;           |
| lcredit=N | 定义用户密码中必须包含多少个小写字母;           |
| ocredit=N | 定义用户密码中必须包含多少个特殊字符(除数字、字母之外); |
| **其中N=-1表示至少有一个。**                       ||


 
 
③ 、口令至少5次内不能重复(可选)

 
                        
                          vim /etc/pam.d/system-auth
    password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5

                        </code>
                      </pre>



     
    备注:system-auth和pwquality.conf中密码复杂度优先级高于login.defs

     
    ### b)应具有登录失败处理功能


     
    应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施。

     
    一、登录失败处理功能参考配置操作:

     
    ① 、限制本地登录次数

     
                            
                              vim /etc/pam.d/login
        在第二行增加如下内容:
        auth  required  pam_tally2.so  deny=3  unlock_time=600 even_deny_root root_unlock_time=600

                            </code>
                          </pre>



         
        ② 、限制ssh本地登录次数

         
                                
                                  vim /etc/pam.d/sshd
            在第二行增加如下内容:
            auth  required  pam_tally2.so  deny=3  unlock_time=600 even_deny_root root_unlock_time=600

                                </code>
                              </pre>



             
              
            |        参数        |                   说明                   |
            |------------------|----------------------------------------|
            | even_deny_root   | 也限制root用户                              |
            | deny             | 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户 |
            | unlock_time      | 设定普通用户锁定后,多少时间后解锁,单位是秒                 |
            | root_unlock_time | 设定root用户锁定后,多少时间后解锁,单位是秒               |


             
             
            注1 :必须在 #%PAM-1.0 的下面,即第二行,添加内容,一定要写在前面。如果写在后面,虽然用户被锁定,但是只要用户输入正确的密码,还是可以登录的。

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

             
            二、登录超时参考配置操作:

             
            ① 、通过修改账户中 TMOUT参数,可以实现此功能。编辑 /etc/profile 文件,在后面加入TMOUT值:

             
                                    
                                      vim /etc/profile
                TMOUT=180         #表示 180 秒
                export TMOUT	  #设置为全局变量
                # source /etc/profile  #使配置生效

                                    </code>
                                  </pre>



                 
                  ![](http://static.51tbox.com/static/2024-12-03/col/6f25d29420d8bd3cff387f2994ebf779/ada90250c63348fea616009bc1e2d48c.aspx.jpg)
                 
                 
                这样,如果系统中登录的用户在 3 分钟内都没有动作,那么系统会自动注销这个账户。

                 
                ② 、ssh连接超时

                 
                通过修改ssh的配置文件 /etc/ssh/sshd_config我们同样也可以实现超时自动登出功能,具体如下:

                 
                                        
                                          vim /etc/ssh/sshd_config
                    ClientAliveInterval 90
                    ClientAliveCountMax 2
                    # systemctl restart sshd  #重启服务使配置生效

                                        </code>
                                      </pre>



                     
                      ![](http://static.51tbox.com/static/2024-12-03/col/6f25d29420d8bd3cff387f2994ebf779/34863df0dfe2456a90853146e309f746.aspx.jpg)
                     
                     
                    这种方法对除了root之外的所有用户都是90秒登录超时,自动登出。第一行表示每90秒检测一次,第二行表示检测到2次不活动就断开连接。

                     
                    当然,若仅通过堡垒机管理服务器,堡垒机开启了连接服务器超时自动退出功能也可给到符合。

                     
                    ### c)当进行远程管理时


                     

                      
                    * 应采取必要措施防止鉴别信息在网络传输过程中被窃听;

                     

                     
                    若操作系统只在本地管理或通过KVM等硬件方式管理则该项符合。在远程管理时如通过堡垒机采用SSH、HTTPS协议进行远程管理则满足本测评项要求。

                     
                    若开启远程管理则需要开启ssh服务并仅通过ssh协议进行远程管理,并关闭telnet服务。

                     
                    ① 、开启ssh服务

                     
                    使用service sshd status 或者 systemctl status sshd查看ssh服务是否已开启

                     
                    若未开启相应服务使用service sshd start 或 systemctl start sshd

                     
                      ![](http://static.51tbox.com/static/2024-12-03/col/6f25d29420d8bd3cff387f2994ebf779/106ca2febb634affbd9899b5d5597f25.aspx.jpg)
                     
                     
                    备注:systemctl命令兼容了service

                     
                    ② 、关闭telnet服务(若未安装telnet服务可忽略) 

                     
                    通过修改telnet服务的配置文件 /etc/xinetd.conf,( centos7和redhat7之前版本的配置文件为/etc/xinetd.d/telnet ),需要把disable改成yes以关闭telnet服务。

                     
                                            
                                              vim /etc/xinetd.conf
                        disable = yes
                        # systemctl restart xinetd  #重启服务使配置生效

                                            </code>
                                          </pre>



                         
                          ![](http://static.51tbox.com/static/2024-12-03/col/6f25d29420d8bd3cff387f2994ebf779/55e36bb4d2ef43c8bdda2aefc313ca77.aspx.jpg)

赞(2)
未经允许不得转载:工具盒子 » Centos和Redhat系统服务器安全加固第一期