CentOS 服务器安全配置策略

一、修改SSH端口号

服务器刚搭建完成,默认使用的SSH端口号是22,这意味着每个人都可以通过这个端口来尝试登录服务器,因此,第一步就要修改SSH端口号。

1.查看当前端口号

$ vi /etc/ssh/sshd_config

在该文件中可以找到#Port 22这一行,这表示当前的SSH端口号是22。

2.修改SSH端口号

$ vi /etc/ssh/sshd_config

将#Port 22这行取消注释,并将22改为任意一个大于1000的端口号,如2222。

3.重启SSH服务

$ systemctl restart sshd

现在,访问SSH就需要使用新的端口号了。

二、禁止root远程登录

root用户具有最高权限,如果黑客攻破了root密码,那么服务器将会陷入极度危险的状态。因此,禁止root用户远程登录是服务器安全配置的重要一步。

1.创建一个新用户并设置sudo权限

$ adduser testuser

$ passwd testuser

$ usermod -aG wheel testuser

现在,testuser用户就具有sudo权限了。

2.修改ssh配置文件

$ vi /etc/ssh/sshd_config

在该文件的末尾添加一行PermitRootLogin no,表示禁止root用户远程登录。

3.重启SSH服务

$ systemctl restart sshd

现在,root用户不能够ssh登录了。

三、开启防火墙

防火墙可以阻止来自外部网络的非法访问请求,保护服务器的安全。CentOS自带的防火墙软件是firewalld。

1.查看firewalld状态

$ systemctl status firewalld

如果显示为停止状态,可以手动启动防火墙。

2.开启防火墙

$ systemctl start firewalld

现在,防火墙已经开启了。

3.添加防火墙规则

例如,允许SSH流量通过。

$ firewall-cmd --permanent --zone=public --add-port=2222/tcp

$ firewall-cmd --reload

现在,SSH流量可以通过防火墙了。

四、安装fail2ban

fail2ban是一个自动化防御工具,可以帮助防止恶意攻击,如暴力破解密码。

1.安装fail2ban

$ yum install fail2ban

2.修改fail2ban配置

查找fail2ban配置文件:

$ find / -name "*jail.conf"

修改SSH相关的配置,例如:

$ vi /etc/fail2ban/jail.local

[sshd]

enabled = true

port = ssh

filter = sshd

logpath = /var/log/secure

maxretry = 5

其中的maxretry表示同一个IP地址允许尝试登录失败的次数,超过这个次数就会被阻止。

3.重启fail2ban服务

$ systemctl restart fail2ban

现在,fail2ban已经可以帮助防御攻击了。

五、升级系统

升级系统可以修补已知的安全漏洞和bug,提高服务器的安全性。

1.检查是否有可用更新

$ yum check-update

2.安装更新

$ yum update

现在,系统已经升级到最新版本了。

六、使用SELinux

SELinux是一种强制访问控制(MAC)机制,可以限制进程的行为,增强系统的安全性。

1.查看SELinux状态

$ sestatus

如果状态是enforcing,则表示SELinux处于强制模式。如果是permissive,表示SELinux处于宽容模式。

2.修改SELinux配置

$ vi /etc/selinux/config

将SELINUX=enforcing修改为SELINUX=permissive,并重启系统:

$ reboot

现在,SELinux处于宽容模式,可以收集到有关执行的信息。

七、关闭不必要的服务

关闭不必要的服务可以减少服务器被攻击的机会。

1.查看系统上的服务

$ systemctl list-unit-files --type=service

2.关闭不必要的服务

$ systemctl stop servicename

$ systemctl disable servicename

例如,停止和禁用ftp服务:

$ systemctl stop vsftpd

$ systemctl disable vsftpd

现在,ftp服务已经停止了。

八、加固Web服务器

Web服务器是攻击者最常袭击的目标之一,因此需要特别加固。

1.使用HTTPS加密

访问网站时使用HTTPS协议可以加密数据传输,保护用户隐私。

2.使用HSTS(HTTP Strict Transport Security)协议

HSTS可以强制浏览器只通过HTTPS访问网站,防止中间人攻击。

3.限制文件上传的大小

避免攻击者上传大文件消耗服务器资源,或上传包含恶意代码的文件。

4.过滤输入

过滤输入可以防止XSS(跨站脚本攻击)和SQL注入攻击,保护服务器。

以上是CentOS服务器安全配置的一些策略,只是一部分,不完全,但如果遵循这些策略,可以增强服务器的安全性,降低被攻击的风险。

操作系统标签