CentOS7/RHEL7 开始使用pam_pwquality模块进行密码复杂度策略的控制管理。pam_pwquality替换了原来Centos6/RHEL6中的pam_cracklib模块,并向后兼容。
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)参数说明
**负数:代表最少出现次数,正数:代表最多出现次数**
useradd kafka
passwd kafka
应设置用户登录失败处理功能,可采取结束会话、限制非法登录次数和自动退出等措施。
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).查看密码有效期策略
[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
使用命令 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