在CentOS上配置Golang应用程序时,确保系统安全是非常重要的。以下是一些关键的安全配置步骤和最佳实践:
禁用非必要的超级用户:
/etc/passwd 文件,检测并锁定不必要的超级账户。cp -p /etc/passwd /etc/passwd_bak
passwd -l <用户名> # 锁定账户
passwd -u <用户名> # 解锁账户
adm, lp, sync 等:userdel username
groupdel groupname
强化用户口令:
/etc/login.defs 文件来强制执行这些要求:PASS_MIN_LEN 10
awk -F ":" '$2 == "" {print $1}' /etc/shadow
强制设置符合规格的口令。保护口令文件:
chattr 命令给 /etc/passwd, /etc/shadow, /etc/group, 和 /etc/gshadow 文件加上不可更改属性:chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
设置root账户自动注销时限:
/etc/profile 文件中的 TMOUT 参数,设置root账户的自动注销时限:vi /etc/profile
TMOUT=300
.bashrc 文件中添加该值。限制su命令:
/etc/pam.d/su 文件,限制只有特定组的用户才能使用 su 命令切换为root:usermod –G wheel username
防火墙配置:
firewalld 或 iptables 配置防火墙规则,限制对服务器的访问,只允许必要的端口对外开放。软件更新:
yum update
使用SSH密钥验证:
监控日志文件:
rsyslog 或 systemd-journald 收集和存储日志。通过实施上述措施,可以显著提高CentOS系统的安全性,减少受到网络攻击的风险。