保护 Alpine Linux
使用安全技术实施指南 (STIG) 保护 Alpine Linux 涉及多个步骤。STIG 是一系列安全要求和配置,有助于保护系统安全。虽然可能没有针对 Alpine Linux 的特定 STIG,但您可以遵循通用的 Linux 加固指南并应用其他 Linux STIG 的原则。以下是分步过程
步骤 1:更新和升级系统
1. 更新软件包列表
doas apk update
2. 升级已安装的软件包
doas apk upgrade
步骤 2:安装必要的安全工具
1. 安装 audit 软件包
doas apk add audit
2. 安装其他必要的安全软件包
doas apk add doas logrotate bash-completion openssh-server
步骤 3:用户和访问管理
1. 禁用通过 SSH 的 root 登录
编辑 /etc/ssh/sshd_config
doas vi /etc/ssh/sshd_config
设置以下参数
PermitRootLogin no
2. 确保密码复杂度
编辑 /etc/security/pwquality.conf
doas vi /etc/security/pwquality.conf
添加或更新以下行
minlen = 14 dcredit = -1 ucredit = -1 ocredit = -1 lcredit = -1
3. 锁定未使用的系统帐户
for user in `awk -F: '($3 < 1000) {print $1}' /etc/passwd`; do if [ $user != "root" ]; then doas passwd -l $user doas chage -E 0 $user fi done
步骤 4:文件系统和目录权限
1. 在重要目录上设置适当的权限
doas chmod 700 /root doas chmod 600 /boot/grub/grub.cfg doas chmod 600 /etc/ssh/sshd_config
2. 配置挂载选项
编辑 /etc/fstab
doas vi /etc/fstab
将 `nosuid`、`nodev` 和 `noexec` 选项添加到非 root 分区
/dev/sda1 /home ext4 defaults,nosuid,nodev,noexec 0 2
步骤 5:网络安全
1. 禁用不必要的服务
doas rc-update del <service_name> doas rc-service <service_name> stop
2. 配置防火墙 (iptables)
doas apk add iptables doas rc-service iptables start doas rc-update add iptables
创建一个基本防火墙规则集
doas vi /etc/iptables/rules.v4
示例规则
*filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp --dport 22 -j ACCEPT COMMIT
步骤 6:日志记录和审计
1. 配置系统日志记录
编辑 /etc/rsyslog.conf 以确保捕获所有日志文件
doas vi /etc/rsyslog.conf
示例配置
*.info;mail.none;authpriv.none;cron.none /var/log/messages authpriv.* /var/log/secure mail.* -/var/log/maillog cron.* /var/log/cron
2. 设置审计规则
编辑 /etc/audit/rules.d/audit.rules
doas vi /etc/audit/rules.d/audit.rules
示例规则
-w /etc/passwd -p wa -k passwd_changes -w /etc/shadow -p wa -k shadow_changes -w /etc/group -p wa -k group_changes
步骤 7:应用内核和服务加固
1. 禁用未使用的文件系统
编辑 /etc/modprobe.d/disable-filesystems.conf
doas vi /etc/modprobe.d/disable-filesystems.conf
添加以下行
install cramfs /bin/true install freevxfs /bin/true install jffs2 /bin/true install hfs /bin/true install hfsplus /bin/true install squashfs /bin/true install udf /bin/true install vfat /bin/true
2. 配置内核参数
编辑 /etc/sysctl.conf
doas vi /etc/sysctl.conf
添加或更新以下参数
net.ipv4.ip_forward = 0 net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.secure_redirects = 0 net.ipv4.conf.all.log_martians = 1 net.ipv4.conf.default.log_martians = 1 net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.icmp_ignore_bogus_error_responses = 1 net.ipv4.tcp_syncookies = 1 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0
步骤 8:定期维护
1. 设置定期更新
创建用于定期更新的 cron 作业
doas crontab -e
添加以下行以每天凌晨 2 点更新
0 2 * * * apk update && apk upgrade
2. 定期审查和监控日志
确保日志被轮换并经常审查
doas logrotate /etc/logrotate.conf
结论
此过程为保护 Alpine Linux 系统奠定了基础。定期审查和更新,以及遵守最新的安全指南,对于维护安全环境至关重要。