土木在线,seo网站快速整站优化技术,代刷网可以做网站地图,分析网站做的好坏Linux系统加固#xff1a;如何有效管理系统账号 1.1 口令重复次数限制1.2 避免系统存在uid相同的账号1.3 空密码的帐户1.4 口令复杂度1.5 口令生存期1.6 登录失败次数锁定策略 #x1f496;The Begin#x1f496;点点关注#xff0c;收藏不迷路#x1f496; 在Linux系统中… Linux系统加固如何有效管理系统账号 1.1 口令重复次数限制1.2 避免系统存在uid相同的账号1.3 空密码的帐户1.4 口令复杂度1.5 口令生存期1.6 登录失败次数锁定策略 The Begin点点关注收藏不迷路
在Linux系统中系统账号的安全性至关重要。恶意用户或黑客可能利用弱密码、未使用的账号或其他漏洞来入侵系统。
因此加固系统账号是保护系统安全的重要一环。本文将介绍一些有效的方法来管理和加固Linux系统账号以提高系统的安全性。
1.1 口令重复次数限制
口令重复次数限制是一种安全策略用于限制用户在一定时间内重复使用相同的密码。这个策略的目的是防止用户频繁地在短时间内更改密码从而增加系统的安全性。通过限制口令重复次数可以减少密码被恶意破解或盗用的风险。
在实际应用中口令重复次数限制通常会结合密码历史记录功能一起使用。当用户更改密码时系统会检查新密码是否与之前使用过的密码相同如果相同则不允许使用。同时系统还会记录用户的密码历史以便在限制口令重复次数时进行比对。
检查点
检查是否设置口令重复次数限制。
加固步骤
1、执行备份
cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth.bak2、创建文件/etc/security/opasswd用于存储旧密码并设置权限 touch /etc/security/opasswdchown root:root /etc/security/opasswdchmod 600 /etc/security/opasswd3、修改策略设置 vi /etc/pam.d/system-auth建立/etc/security/opasswd后即可在配置文件中的pam_unix模块后面添加参数rememberN来开始记录旧密码。这个参数N的作用是指定系统要记住的旧密码数量N代表要记住的旧密码数量。
查看配置文件/etc/pam.d/system-auth 查看类似password sufficient pam_unix.so所在行是否存在remember5如果没有则新增例如
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember5检查加固结果
将系统认证配置文件system-auth中的包含password关键字的行使用grep命令筛选出包含password关键字的行并输出。
if ([ -f /etc/redhat-release ] [ -f /etc/pam.d/system-auth ]);
then FILE/etc/pam.d/system-auth
cat $FILE |sed /^#/d|sed /^$/d|grep password
fi1.2 避免系统存在uid相同的账号
检查点
查看文件/etc/passwd,检查是否存在uid相同的账号。
加固步骤
1、检查系统中的UID情况
cat /etc/passwd | cut -d: -f1,3这个命令的含义是 cat /etc/passwd显示/etc/passwd文件的内容该文件包含了系统中所有用户的信息。 cut -d: -f1,3使用冒号作为分隔符提取每行中的第1列用户名和第3列UID 这个命令会输出系统中所有用户的用户名和对应的UID。
执行该命令后可以看到类似以下的输出
root:0
bin:1
daemon:2
adm:3
lp:4
sync:5
shutdown:6
halt:7
mail:8
operator:11
games:12
ftp:14
nobody:99
systemd-network:192
dbus:81
polkitd:999
sshd:74
postfix:89
zyl:1000
2、检查是否存在相同UID的账号
for venus_test in cat /etc/passwd|awk -F: {print $3}|uniq -d
do
for venus_test1 in cat /etc/passwd|grep ^\s*[^:]*\:[^:]*\:$venus_test|awk -F: {print $1}
do
echo The same uuid account:$venus_test1;
done
done或者使用
ut -d: -f3 /etc/passwd | sort | uniq -d这个命令的含义是 cut -d: -f3 /etc/passwd使用冒号作为分隔符提取/etc/passwd文件中每行的第3列UID。 sort对提取出来的UID进行排序。 uniq -d查找重复的行即相同的UID并只显示重复的行。 如果输出了重复的UID则表示系统中存在相同UID的账号。
3、处理相同UID的账号
如果发现系统中存在相同UID的账号需要根据实际情况进行处理。一般情况下可以通过修改账号的UID或者删除重复的账号来解决这个问题。
1、修改账号的UID可以使用usermod命令例如usermod -u new_uid username2、删除重复的账号可以使用userdel命令例如userdel username3、其他命令
1、#useradd username #创建账号
2、#userdel username #删除账号
3、#passwd username #设置密码修改权限这里修改上面输出的ftp用户ftp:14为例
usermod -u 15 ftp##检查修改结果
cat /etc/passwd | cut -d: -f1,3如果当前修改用户有进程占用的话如zyl用户会有如下提示
usermod: user zyl is currently used by process 1562这个错误提示表明在尝试修改用户的UID时系统发现该用户当前正在被一个进程PID为1562使用因此无法修改。这种情况下需要先停止使用该用户的进程然后再尝试修改用户的UID。
查找并停止使用该用户的进程
1、使用以下命令查找使用用户zyl的进程
ps -u zyl2、根据输出结果找到相关的进程IDPID然后使用kill命令停止这些进程
kill -9 PID1.3 空密码的帐户
检查点
系统中口令为空的账号个数为0则合规否则不合规。
执行以下命令查看系统中是否存在空口令账号
awk -F: ( $2 ) { print $1 } /etc/shadow如果执行该命令后有输出表示系统中存在口令为空的账号。如果输出为空则表示系统中不存在口令为空的账号。
加固步骤
1、执行备份
cp -p /etc/passwd /etc/passwd_bak
cp -p /etc/shadow /etc/shadow_bak2、为口令为空的帐户设置满足密码复杂度的密码
passwd username1.4 口令复杂度
查看配置文件/etc/pam.d/system-auth是否存在如下配置 password requisite pam_cracklib.so try_first_pass retry3 dcredit-1 lcredit-1 ucredit-1 ocredit-1 minlen8设置了口令复杂度则合规否则不合规。这个配置指定了使用pam_cracklib.so模块来实现口令复杂度要求。 下面是各个参数的含义 try_first_pass如果前一个认证模块已经成功验证了用户的口令那么尝试使用用户提供的口令。 retry3在用户输入错误口令时允许重试的次数为3次。 dcredit-1至少包含一个数字digit。 lcredit-1至少包含一个小写字母lowercase。 ucredit-1至少包含一个大写字母uppercase。 ocredit-1至少包含一个特殊字符other。 minlen8口令最小长度为8个字符。 根据这个配置用户在设置口令时必须满足以下要求 1、口令长度至少为8个字符。 2、必须包含至少一个数字、一个小写字母、一个大写字母和一个特殊字符。 加固步骤
1、编辑配置文件/etc/pam.d/system-auth
vi /etc/pam.d/system-auth2、在文件中找到如下内容password requisite pam_cracklib.so在其内容后面追加,例如:
password requisite pam_cracklib.so try_first_pass retry3 dcredit-1 lcredit-1 ucredit-1 ocredit-1 minlen8
#至少包含一个数字、一个小写字母、一个大写字母、一个特殊字符、且密码长度8这样的口令复杂度设置可以增强系统的安全性防止用户设置过于简单的口令。
1.5 口令生存期
口令生存期是指用户在一定时间内必须更改其口令的频率。这有助于增强系统的安全性因为定期更改口令可以减少口令泄露和被猜测的风险。
在Linux系统中口令生存期通常由PAMPluggable Authentication Modules模块来管理。可以在/etc/login.defs文件中查看口令生存期的相关设置。
PASS_MAX_DAYS不大于180天PASS_MIN_DAYS至少为1天PASS_WARN_AGE不小于28天则合规否则不合规。
加固步骤
1、执行备份cp -p /etc/login.defs /etc/login.defs_bak2、修改策略设置编辑文件/etc/login.defs在文件中加入如下内容(如果存在则修改不存在则添加)
PASS_MAX_DAY 180
PASS_MIN_DAYS 1
PASS_WARN_AGE 28下面是各个参数的含义 PASS_MAXDAYS指定口令的最大有效天数超过这个天数后用户必须更改口令。 PASS_MIN_DAYS指定用户更改口令之间的最小天数间隔。 PASS_WARN_AGE在口令过期前多少天提醒用户更改口令。 加固结果检查
cat /etc/login.defs |grep -v ^[[:space:]]*#|grep -E ^\s*PASS_MAX_DAYS|^\s*PASS_MIN_DAYS|^\s*PASS_WARN_AGE1.6 登录失败次数锁定策略
检测方法
1、查看/etc/pam.d/system-auth文件是否存在类似如下配置
cat /etc/pam.d/system-authauth required pam_faillock.so preauth audit deny5 even_deny_root unlock_time602、查看/etc/login.defs文件检查LOGIN_RETRIES和LOGIN_TIMEOUT配置
cat /etc/login.defsLOGIN_RETRIES 5
LOGIN_TIMEOUT 60判定依据 1、/etc/pam.d/system-auth文件配置deny5 2、/etc/pam.d/system-auth文件配置unlock_time60 3、/etc/login.defs文件配置LOGIN_RETRIES 5 4、/etc/login.defs文件配置LOGIN_TIMEOUT 60
条件1和条件2同时满足或条件3和条件4同时满足则合规否则不合规。
加固步骤
1、备份文件
cp /etc/login.defs /etc/login.defs.bakcp /etc/pam.d/system-auth /etc/pam.d/system-auth_bak2、编辑 /etc/login.defs 文件
vi /etc/login.defs ## 添加以下类似配置LOGIN_RETRIES 5
LOGIN_TIMEOUT 60或者
vi /etc/pam.d/system-auth 添加以下类似配置
auth required pam_faillock.so preauth audit deny5 even_deny_root unlock_time60The End点点关注收藏不迷路