惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
J
Java Code Geeks
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Check Point Blog
月光博客
月光博客
腾讯CDC
Engineering at Meta
Engineering at Meta
博客园 - Franky
Vercel News
Vercel News
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
Microsoft Security Blog
Microsoft Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
雷峰网
雷峰网
Google DeepMind News
Google DeepMind News
Martin Fowler
Martin Fowler
GbyAI
GbyAI
B
Blog
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog

博客园 - badwood

iptables规则笔记 secueCRT脚本再试牛刀 大模型部署手册-英伟达 大模型部署手册-昇腾服务器 ssl自签证书+nginx 备忘 Claude Code私有化使用 mindie推理框架及工程化 minio-2.使用 minio-1.搭建 旧源消失的rpm包安装-devtoolset-9 vllm-ascend 2/2 -双机推理 MCP-1.hello world vllm-ascend 1/2 -单机推理 ESP32-S3玩具1-使用Arduino evalscope使用2-使用自定义数据集压测 设置fdfs自动启动 FunASR mindie开启DeepSeek的128K xinference推理embedding等小模型 离线安装docker 昇腾910b服务器初始化 evalscope使用1-基础压测 大模型围栏-nginx+lua 大模型私有化部署-deepseek671-mindie dify-2:问题分类器调整
主机基线脚本
badwood · 2026-08-12 · via 博客园 - badwood

主机基线脚本

基线修复脚本

#基线加固
#删除无关账号
sed -i '/gdm/c\gdm:x:42:42:gdm:/:/bin/false' /etc/passwd
sed -i '/nobody/c\nobody:x:99:99:Nobody:/:/bin/false' /etc/passwd
sed -i '/gdm/c\gdm:*LK*:17374::::::' /etc/shadow
sed -i '/nobody/c\nobody:*LK*:17374::::::' /etc/shadow

#限制用户su到root
if [ -z "`cat /etc/pam.d/su | grep -v "^#" | grep group=wheel`" ];then
    sed -i "3i auth   required   pam_wheel.so   group=wheel" /etc/pam.d/su
fi
#sed -i -e '7 s/^/#/' -i -e '7 s/^/#/' /etc/pam.d/su
cat /etc/pam.d/su

#口令复杂度
sed -i -r 's/(^[[:space:]]*password[[:space:]]+(requisite|required)[[:space:]]+.*pam_cracklib.so.+$)/#\1\npassword\trequired\tpam_passwdqc.so min=disabled,disabled,disabled,8,8 passphrase=0 similar=deny enforce=everyone random=0 retry=3/' /etc/pam.d/system-auth
sed -i -r 's/(^[[:space:]]*password[[:space:]]+(requisite|required)[[:space:]]+.*pam_pwquality.so.+$)/#\1\npassword\trequired\tpam_pwquality.so min=disabled,disabled,disabled,8,8 passphrase=0 similar=deny enforce=everyone random=0 retry=3/' /etc/pam.d/system-auth

#口令生存期
sed -i '/PASS_MAX_DAYS/c\'"PASS_MAX_DAYS   90"'' /etc/login.defs
sed -i '/PASS_MIN_LEN/c\'"PASS_MIN_LEN    8"'' /etc/login.defs
sed -i '/PASS_MIN_DAYS/c\'"PASS_MIN_DAYS    0"'' /etc/login.defs

#配置用户最小授权

#文件与目录缺省权限控制
if [ -z "`cat /etc/profile | grep -v "^#" | grep "umask 027"`" ];then
    echo "umask 027" >> /etc/profile
fi

#用户FTP访问安全配置
echo "chroot_local_user=YES" >> /etc/vsftpd/vsftpd.conf
echo "chroot_list_enable=YES" >> /etc/vsftpd/vsftpd.conf
echo "chroot_list_file=/etc/vsftpd/chroot_list_new" >> /etc/vsftpd/vsftpd.conf
cat /etc/passwd|awk -F ':'  '$3>=500{print $1}' 1>/etc/vsftpd/chroot_list_new

#禁止root登陆FTP
if [ -z "`cat /etc/vsftpd/ftpusers | grep -v "^#" | grep root`" ];then
    echo "root" >> /etc/vsftpd/ftpusers
fi

#禁止匿名FTP
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf

#修改FTPBanner信息
if [ -z "`cat /etc/vsftpd/vsftpd.conf | grep -v "^#" | grep ftpd_banner`" ];then
    echo "ftpd_banner=Authorized users only. All activity will be monitored and reported." >>/etc/vsftpd/vsftpd.conf
fi

#限制root用户远程登录
echo "PermitRootLogin no" >> /etc/ssh/sshd_config
sed -i '/PermitRootLogin yes/c\'"PermitRootLogin no"'' /etc/ssh/sshd_config
sed -i '/PermitRootLogin noPermitRootLogin no/c\'"PermitRootLogin no"'' /etc/ssh/sshd_config

#使用SSH协议进行远程维护

#启用syslog系统日志审计
if [ -z "`cat /etc/syslog.conf | grep -v "^#" | grep authpriv.*`" ];then
    echo "authpriv.*   /var/log/secure" >> /etc/syslog.conf
fi
if [ -z "`cat /etc/rsyslog.conf | grep -v "^#" | grep authpriv.*`" ];then
    echo "authpriv.*   /var/log/secure" >> /etc/rsyslog.conf
fi

#日志文件安全
echo "" > /var/log/spooler
chmod 600 /var/log/secure
chmod 600 /var/log/maillog
chmod 600 /var/log/cron
chmod 600 /var/log/spooler
chattr -a /var/log/boot.log
chmod 600 /var/log/boot.log
chattr -a /var/log/messages
chmod 600 /var/log/messages

#记录cron行为日志(可选)
if [ -z "`cat /etc/rsyslog.conf | grep -v "^#" | grep cron.*`" ];then
    echo "cron.* /var/log/cron" >> /etc/rsyslog.conf
fi
if [ -z "`cat /etc/syslog.conf | grep -v "^#" | grep cron.*`" ];then
    echo "cron.* /var/log/cron" >> /etc/syslog.conf
fi

echo "*.* @192.168.1.1" >> /etc/syslog.conf
echo "*.* @192.168.1.1" >> /etc/rsyslog.conf
#关闭不必要的服务

#修改系统Banner
rm -rf /etc/issue*

#登录超时时间设置
if [ -z "`cat /etc/profile | grep -v "^#" | grep TMOUT`" ];then
    echo -e "TMOUT=300" >> /etc/profile
fi
sed -i 's/TMOUT=1800/TMOUT=300/' /etc/profile

#删除潜在危险文件


#sudo tty权限配置
sed -i 's/Defaults    requiretty/#Defaults    requiretty/' /etc/sudoers

#配置用户最小授权
chmod 400 /etc/shadow

#文件与目录缺省权限控制
sed -i 's/UMASK       022/UMASK      027/' /etc/login.defs

#history记录时间
echo 'export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S  "' >> /etc/profile
HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S  "

posted @ 2026-08-12 15:33  badwood  阅读(3)  评论()    收藏  举报