给linux系统加固的shell脚本
时间: 2023-10-29 09:53:10 浏览: 147
这是一个简单的Linux系统加固的shell脚本示例:
```bash
#!/bin/bash
# 设置合适的权限
chmod 700 /etc/passwd
chmod 600 /etc/shadow
chmod 644 /etc/group
chmod 600 /etc/security/opasswd
# 禁用root远程登录
sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
# 配置防火墙
ufw enable
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
# 安装并启用SELinux
apt-get install selinux
setenforce 1
# 安装并启用防病毒软件
apt-get install clamav
freshclam
clamscan -r --remove /
# 更新系统和安装安全补丁
apt-get update
apt-get upgrade
# 配置日志审计
apt-get install auditd
systemctl enable auditd
# 禁用不必要的服务和端口
systemctl disable <service_name>
iptables -A INPUT -p <protocol> --dport <port_number> -j DROP
# 配置密码策略
sed -i 's/PASS_MAX_DAYS\t99999/PASS_MAX_DAYS\t90/g' /etc/login.defs
sed -i 's/PASS_MIN_DAYS\t0/PASS_MIN_DAYS\t7/g' /etc/login.defs
sed -i 's/PASS_WARN_AGE\t7/PASS_WARN_AGE\t14/g' /etc/login.defs
# 配置定期备份和日志轮转
crontab -e
0 0 * * * rsync -av --delete /important_data/ /backup/
```
请注意,这只是一个示例脚本,具体的加固措施可能因系统版本和需求而异。在实际使用前,请确保了解每个命令的影响并根据需要进行修改。另外,建议在执行此脚本之前备份系统以防止意外情况发生。
阅读全文