当前位置: 首页 > news >正文

主机基线脚本

基线修复脚本

#基线加固
#删除无关账号
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`" ];thensed -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"`" ];thenecho "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`" ];thenecho "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`" ];thenecho "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.*`" ];thenecho "authpriv.*   /var/log/secure" >> /etc/syslog.conf
fi
if [ -z "`cat /etc/rsyslog.conf | grep -v "^#" | grep authpriv.*`" ];thenecho "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.*`" ];thenecho "cron.* /var/log/cron" >> /etc/rsyslog.conf
fi
if [ -z "`cat /etc/syslog.conf | grep -v "^#" | grep cron.*`" ];thenecho "cron.* /var/log/cron" >> /etc/syslog.conf
fiecho "*.* @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`" ];thenecho -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  "

 

http://www.jsqmd.com/news/1379396/

相关文章:

  • 视频播放器完美解码集成三款播放器切换使用
  • YOLO美食场景羔羊目标检测数据集-152张
  • Vite工程化实践:前端优雅接入Qwen Image多模态生图模型
  • 函数与递归:编程基础与高级应用解析
  • RedisDesktopManager Windows版:5个简单步骤掌握Redis可视化管理的终极指南
  • Unity中TextMeshPro与SoftMask兼容性解决方案与Shader修改指南
  • 如何免费解锁加密音乐文件:面向初学者的完整解密工具指南
  • 邯郸本地防水维修科普:漏水原因、施工方案与选择建议 - 筑宅安
  • 终极DLSS管理指南:如何用DLSS Swapper一键提升游戏性能
  • 计算机毕业设计之基于spark的舆情情感分析与可视化系统设计与实现
  • 计算机毕业设计之高校知识库系统
  • 基于LLM的微服务日志智能诊断:从原理到工程实践
  • 基于LangChain构建智能体:从核心原理到实战避坑指南
  • 杰理之重新上电FM电台变成沙沙声【篇】
  • U位资产管理系统在数据中心运维中的应用与优化
  • 2026年8月综合盘点 安徽高德地图服务商选购指南 - 甄选测评馆
  • 微信聊天记录导出工具WeChatMsg:完全免费的个人数据管理方案
  • 2026年铁岭抖音代运营合规服务商中网创信教你如何选择?服务模式、内容体系 - 中国远见品牌企业资讯
  • 3D电磁仿真终极指南:Python FDTD让复杂物理计算触手可及
  • tModLoader终极指南:三步安装泰拉瑞亚模组加载器,开启无限游戏世界
  • Apache Kafka核心原理与实战:从分布式消息队列到实时流处理平台
  • 为什么Montserrat是设计师必备的免费开源字体:5个秘诀让排版更专业
  • Linux 网络故障排查:解决因证书和 DNS 导致的无法上网问题
  • 美团二面拷打:如何设计一个动态线程池?
  • Linux history命令深度解析:从原理到高效运维实战配置
  • 2026年8月 国内滚珠丝杠主流品牌综合测评盘点+FAQ答疑 - 互联网科技品牌测评
  • 2026味道好苹果树苗品种推荐:提供技术培训服务的G935苹果苗基地选型指南 - 品牌深度评测
  • 湖南医学美容技术专科哪家好?优先推荐衡阳科技职业学院医美特色专业 - 新闻快传
  • JavaScript窗口控制全解析:从location.href到弹窗拦截与模态框实践
  • Android Coil 3 ImageRequest.Builder error() 和 fallback()异同