CentOS 8服务器基本安全配置

1. 添加用户

1
2
adduser deploy
passwd deploy

2. 设置sudoers

设置sudoers为可编辑

1
chmod +w /etc/sudoers

增加deploy用户

1
vim /etc/sudoers

恢复sudoers为不可编辑

1
chmod -w /etc/sudoers

切换到deploy用户,添加ssh验证用的公钥

1
2
3
4
su - deploy
mkdir .ssh
chmod 755 .ssh
vim ~/.ssh/authorized_keys

输入公钥然后保存

修改权限

1
chmod 600 ~/.ssh/authorized_keys

3. 修改默认SSH端口

1
vim /etc/ssh/sshd_config

4. 关闭root和密码登陆

1
2
PermitRootLogin no
PasswordAuthentication no

重启sshd

1
systemctl restart sshd

5. 配置firewalld控制端口开放

启动firewalld

1
2
systemctl enable firewalld
systemctl start firewalld

查看一下default zone是什么

1
firewall-cmd --get-default-zone

这里会返回public

添加常用端口,开放SSH、HTTP、HTTPS

1
2
3
firewall-cmd --zone=public --add-port=刚刚设置的ssh端口/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent

保存查看配置结果

1
2
firewall-cmd --reload
firewall-cmd --permanent --list-port

返回

1
刚刚设置的ssh端口/tcp 80/tcp 443/tcp

6. 最后

先不要登出,用deploy账号登录看看

1
ssh deploy@234.234.234.234 -p1234

试一下切换为root

1
sudo su -
分享到