编写Linux安全加固脚本需要考虑以下方面:
1. 禁止不必要的服务和端口:通过关闭不必要的服务和端口来减少系统暴露的攻击面。
2. 配置强密码策略:通过强密码策略来减少密码被破解的风险。
3. 安装防火墙:通过安装防火墙来限制对系统的访问和流量。
4. 更新系统补丁:定期更新系统补丁来修复已知漏洞。
5. 禁止root远程登录:禁止root用户通过SSH远程登录系统。
6. 配置审计日志:通过配置审计日志来记录系统的操作和事件,便于追溯和分析。
下面是一个简单的Linux安全加固脚本:
```
#!/bin/bash
# 关闭不必要的服务和端口
systemctl disable iptables
systemctl stop iptables
systemctl disable firewalld
systemctl stop firewalld
systemctl disable nfs
systemctl stop nfs
systemctl disable rpcbind
systemctl stop rpcbind
systemctl disable rpcbind.socket
systemctl stop rpcbind.socket
# 配置强密码策略
sed -i 's/PASS_MIN_LEN 5/PASS_MIN_LEN 8/g' /etc/login.defs
sed -i 's/PASS_MAX_DAYS 99999/PASS_MAX_DAYS 90/g' /etc/login.defs
# 安装防火墙
yum install -y firewalld
systemctl enable firewalld
systemctl start firewalld
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --reload
# 更新系统补丁
yum update -y
# 禁止root远程登录
sed -i 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
systemctl restart sshd
# 配置审计日志
sed -i 's/#max_log_file = 8/max_log_file = 30/g' /etc/audit/auditd.conf
sed -i 's/#space_left_action = SYSLOG/space_left_action = SUSPEND/g' /etc/audit/auditd.conf
systemctl enable auditd
systemctl start auditd
```
注意:上面的脚本只是一个简单的示例,实际应用中需要根据具体情况进行修改和完善。