CentOS 服务器安全配置策略
在当今的互联网环境中,服务器安全问题日益严重,为了保障服务器的稳定运行和数据安全,我们需要对 CentOS 服务器进行一系列的安全配置,本文将详细介绍 CentOS 服务器的安全配置策略,帮助大家提高服务器的安全性。
更新系统及软件
1、定期更新系统
为了确保系统的安全,我们需要定期更新 CentOS 系统,可以使用 yum 或 dnf 命令进行系统更新:
sudo yum update -y
或
sudo dnf update -y
2、安装并更新防火墙
CentOS 默认安装了 firewalld 防火墙,我们需要启用并更新防火墙规则:
sudo systemctl start firewalld sudo systemctl enable firewalld sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
禁用不必要的服务
为了减少系统漏洞,我们需要禁用不必要的服务,可以使用以下命令查看已安装的服务:
systemctl list-unit-files --type=service
然后根据需要禁用相应的服务,例如禁用 httpd 服务:
sudo systemctl disable httpd
限制远程访问
1、修改 SSH 端口
为了增加攻击者的难度,我们可以修改 SSH 端口,编辑 /etc/ssh/sshd_config 文件,将 Port 改为其他端口(如 2222):
sudo vi /etc/ssh/sshd_config
找到 Port 一行,修改为:
Port 2222
然后重启 SSH 服务:
sudo systemctl restart sshd
2、使用密钥登录
为了提高安全性,我们可以要求用户使用密钥登录,首先创建一对公钥和私钥:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_user1
然后将公钥添加到服务器的 authorized_keys 文件中:
cat ~/.ssh/id_rsa_user1.pub | sudo tee -a /root/.ssh/authorized_keys > /dev/null
最后修改 SSH 配置文件,允许使用密钥登录:
sudo vi /etc/ssh/sshd_config
找到 PasswordAuthentication 一行,修改为:
PasswordAuthentication no
重启 SSH 服务:
sudo systemctl restart sshd
加强密码策略
1、设置密码复杂度要求
为了提高密码的安全性,我们可以设置密码复杂度要求,编辑 /etc/login.defs 文件,设置如下参数:
sudo vi /etc/login.defs
找到以下参数,修改为:
PASS_MIN_LEN 12 最小密码长度为12个字符 PASS_MAX_DAYS 90 密码最长使用时间为90天 PASS_WARN_AGE 7 密码到期前7天开始提醒用户修改密码
2、禁止 root 用户远程登录和密码登录
为了提高系统安全性,我们可以禁止 root 用户远程登录和密码登录,编辑 /etc/ssh/sshd_config 文件,添加以下内容:
PermitRootLogin no 禁止 root 用户远程登录和密码登录(默认值) PasswordAuthentication no 禁止密码登录(默认值) UsePAM yes 使用 PAM(默认值);
} UseDNS no 如果禁止了 passwordauthentication,则可以禁止反向解析以减少攻击面(可选) PermitEmptyPasswords no 如果禁止了 passwordauthentication,则可以禁止空密码登录(可选) PermitUserEnvironment no 如果禁止了 passwordauthentication,则可以禁止用户环境变量(可选);
};
}
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/331815.html