centos7服务器安全策略

目录

  • 一、基于centos7设置密码策略
  • 二、基于centos7设置身份鉴别策略
  • 三、设置登陆会话超时
  • 四、设置密码有效期
  • 五、禁止root 远程登录
  • 六、对远程登录地址进行限制
  • 七、服务器安装防恶意代码软件

一、基于centos7设置密码策略

CentOS7/RHEL7 开始使用pam_pwquality模块进行密码复杂度策略的控制管理。pam_pwquality替换了原来Centos6/RHEL6中的pam_cracklib模块,并向后兼容。

(1)编辑system-auth

vim /etc/pam.d/system-auth

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

minlen = 8,密码长度至少8位;

lcredit=-1,至少包含一个小写字母;

ucredit=-1,至少包含一个大写字母;

dcredit=-1,至少包含要给数字;

ocredit=-1,至少包含一个特殊字符;

difok=5,新密码最多与旧密码重复5个字符;

enforce_for_root,对root强制执行密码复杂度策略。

(2)参数说明

负数:代表最少出现次数,正数:代表最多出现次数

minlen:表示密码长度
lcredit=N 当N>0时表示新密码中小写字母出现的最多次数;当N<0时表示新密码中小写字母出现最少次数
ucredit=N 当N>0时表示新密码中大写字母出现的最多次数;当N<0时表示新密码中大写字母出现最少次数
dcredit=N: N >= 0:密码中最多有多少个数字;N < 0密码中最少有多少个数字. dcredit=-1
密码中最少有1个数字
ocredit=N:N >= 0:密码中最多有多少个特殊字母;N < 0密码中最少有多少个特殊字母.ocredit=-1
密码中至少有1个特殊字符
difok=5,新密码最多与旧密码重复5个字符;
enforce_for_root,对root强制执行密码复杂度策略。

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

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

1).策略配置

vim /etc/pam.d/sshd

auth       required     pam_tally2.so onerr=fail deny=2 unlock_time=120 root_unlock_time=120

2).参数说明

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

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

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

pam_tally2 --user 用户名

在这里插入图片描述

4).解锁指定用户

pam_tally2 -r -u 用户名

三、设置登陆会话超时

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

vim /etc/profile
TMOUT=600 #600秒超时
source /etc/profile

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

#加入以下两个代码:
TMOUT=300
export TMOUT

四、设置密码有效期

vim /etc/login.defs

1).配置策略

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

#以上设置只针对新用户生效,原来用户不生效。
原有用户设置密码有效期,可以使用命令:

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

2).查看密码有效期策略

chage -l 用户名

centos7服务器安全策略_第1张图片

[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

五、禁止root 远程登录

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

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

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

vim /etc/hosts.allow

格式案例:

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
vim  /etc/hosts.deny
sshd:ALL

验证方法:

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

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

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

2).更新病毒库

#先停止freshclam服务
systemctl  stop  clamav-freshclam.service      
#自动更新
freshclam
#重启freshclam服务
systemctl  start  clamav-freshclam.service

3).常用命令

#重启freshclam服务
systemctl  start  clamav-freshclam.service
#查看服务状态
systemctl status clamav-freshclam.service
#开机启动程序
systemctl enable clamav-freshclam.service 
#停止freshclam服务
systemctl stop clamav-freshclam.service 

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)                 解压压缩文件扫描
#扫描所有文件并且显示有问题的文件的扫描结果
clamscan -r --bell -i /
#只显示找到的病毒信息
clamscan --no-summary -ri /app
#扫描app
clamscan --infected --remove --recursive /app

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

你可能感兴趣的:(服务器安全策略,ssh登录可借鉴)