代码拉取完成,页面将自动刷新
#!/bin/sh
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
MAGENTA='\033[0;35m'
CYAN='\033[0;36m'
NC='\033[0m' # 恢复默认颜色
#echo -e "${YELLOW}$(java -version 2>&1)${NC}"
echo -e "${YELLOW}1.正在设置密码复杂度要求不符合判定规则...${NC}"
file="/etc/pam.d/system-auth"
# 使用 sed 替换整行并将结果写入临时文件
sed '/^password[[:space:]]\+requisite/s/.*/password requisite pam_cracklib.so minlen=8 ucredit=-1 lcredit=-1 ocredit=-1/' "$file" > "$file.tmp"
# 将临时文件覆盖原文件
mv "$file.tmp" "$file"
systemctl restart systemd-logind
echo -e "${YELLOW}2.正在设置连续错误五次,锁定10分钟...${NC}"
file="/etc/pam.d/system-auth"
marker="auth required pam_deny.so"
new_line="auth required pam_tally2.so deny=5 unlock_time=600"
# 使用sed命令在标记行之后插入新行,并将结果重定向到临时文件
sed "/$marker/a $new_line" "$file" > temp && mv temp "$file"
systemctl restart systemd-logind
echo -e "${YELLOW}3.正在设置超时锁定时间600秒...${NC}"
echo 'export TMOUT=600' >> /etc/profile
source /etc/profile
echo -e "${YELLOW}4.正在设置禁止默认root账户进行远程登录...${NC}"
file="/etc/ssh/sshd_config"
old_line="#PermitRootLogin yes"
new_line="PermitRootLogin no"
# 使用sed命令将以特定内容开头的整行替换为新内容,并将结果重定向到临时文件
sed "s|^$old_line$|$new_line|" "$file" > temp && mv temp "$file"
echo -e "${YELLOW}5.正在设置对重要的用户行为和重要安全事件进行审计规则...${NC}"
file="/etc/rsyslog.conf"
search="*.info;"
replace="*.info;mail.none;news.none;authpriv.none;cron.none \/var\/log\/messages;"
# 使用 sed 替换整行并将结果写入临时文件
sed "s|^$search.*$|$replace|" "$file" > "$file.tmp"
# 将临时文件覆盖原文件
mv "$file.tmp" "$file"
echo -e "${YELLOW}6.正在设置对重要的用户行为和重要安全事件进行审计规则...${NC}"
# 开启对重要用户行为的审计规则
auditctl -a always,exit -F arch=b64 -S execve -F euid=0 -k important_user_action
auditctl -a always,exit -F arch=b32 -S execve -F euid=0 -k important_user_action
# 开启对重要安全事件的审计规则
auditctl -a always,exit -F arch=b64 -S open,creat,truncate,ftruncate -F path=/etc/shadow -k important_security_event
auditctl -a always,exit -F arch=b32 -S open,creat,truncate,ftruncate -F path=/etc/shadow -k important_security_event
echo -e "${YELLOW}7.正在设置口令更改周期...${NC}"
# 设置密码更改策略参数
sed -i 's/^PASS_MAX_DAYS.*/PASS_MAX_DAYS 90/' /etc/login.defs
sed -i 's/^PASS_MIN_DAYS.*/PASS_MIN_DAYS 2/' /etc/login.defs
sed -i 's/^PASS_MIN_LEN.*/PASS_MIN_LEN 8/' /etc/login.defs
sed -i 's/^PASS_WARN_AGE.*/PASS_WARN_AGE 7/' /etc/login.defs
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。