返回

Ubuntu22.04强化安全措施,构建坚实网络堡垒

后端

  1. 端口安全:检查端口占用,解决SSH访问控制

1.1 检查端口占用

运行以下命令,检查端口被占用的情况:

netstat -tulpn

根据输出结果,您将看到系统中正在使用的端口列表。如果您发现任何可疑或不需要的端口被占用,可以使用以下命令将其关闭:

kill -9 <pid>

其中,<pid>是占用端口的进程的进程ID。

1.2 解决SSH访问控制

为了防止暴力破解,我们可以设置SSH访问控制,当多次登录失败时,封掉IP。编辑SSH配置文件/etc/ssh/sshd_config,添加以下内容:

MaxAuthTries 3
Port 22
PermitRootLogin no

MaxAuthTries设置为3,表示允许用户最多尝试登录3次。将Port设置为22,表示SSH服务使用22端口。将PermitRootLogin设置为no,表示禁止root用户通过SSH登录。

然后,重新启动SSH服务:

service ssh restart

2. SSH安全:限制root登录,防止暴力破解

2.1 限制root登录

为了进一步提高安全性,我们可以限制root用户通过SSH登录。编辑/etc/ssh/sshd_config文件,将PermitRootLogin设置为without-password。这样,root用户只能通过密钥登录,而不能通过密码登录。

PermitRootLogin without-password

2.2 防止暴力破解

为了防止暴力破解,我们可以使用fail2ban工具。fail2ban是一个入侵检测和防御工具,可以检测和阻止暴力破解攻击。首先,安装fail2ban:

sudo apt install fail2ban

然后,配置fail2ban。编辑/etc/fail2ban/jail.local文件,添加以下内容:

[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600

enabled设置为true,表示启用sshd的保护。将port设置为22,表示对22端口进行保护。将filter设置为sshd,表示使用sshd过滤器。将logpath设置为/var/log/auth.log,表示将auth.log作为日志文件。将maxretry设置为3,表示允许用户最多尝试登录3次。将bantime设置为3600,表示将禁止IP的时间设置为1小时。

然后,重新启动fail2ban:

sudo service fail2ban restart

3. MySQL安全:配置MySQL,增强数据库安全性

3.1 配置MySQL

为了增强MySQL的安全性,我们可以进行以下配置:

  • 修改MySQL的默认端口号。
  • 为MySQL设置强密码。
  • 创建独立的数据库用户,并授予其适当的权限。
  • 定期备份数据库。

3.2 修改MySQL的默认端口号

编辑MySQL配置文件/etc/mysql/my.cnf,找到port选项,将其值修改为其他端口号。例如,将端口号改为3307。

port = 3307

然后,重新启动MySQL服务:

sudo service mysql restart

3.3 为MySQL设置强密码

使用以下命令,为MySQL设置强密码:

sudo mysql -u root -p

输入当前的MySQL root密码。

然后,运行以下命令,设置新的MySQL root密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

其中,new_password是您要设置的新密码。

3.4 创建独立的数据库用户

使用以下命令,创建新的MySQL用户:

CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'new_password';

其中,new_user是您要创建的新用户名,new_password是您要设置的新密码。

然后,授予新用户适当的权限:

GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost';

3.5 定期备份数据库

使用以下命令,备份MySQL数据库:

mysqldump -u root -p database_name > backup.sql

其中,database_name是要备份的数据库名称,backup.sql是备份文件的名称。

4. 其他安全策略:限制登录次数,阻止可疑IP,设置安全策略

4.1 限制登录次数

为了防止暴力破解,我们可以限制用户登录的次数。编辑/etc/pam.d/common-auth文件,添加以下内容:

auth required pam_tally2.so deny=3 unlock_time=600

deny设置为3,表示允许用户最多尝试登录3次。将unlock_time设置为600,表示将禁止IP的时间设置为10分钟。

4.2 阻止可疑IP

为了阻止可疑IP,我们可以使用iptables。首先,安装iptables:

sudo apt install iptables

然后,添加以下规则:

sudo iptables -A INPUT -s <IP address> -j DROP

其中,<IP address>是您要阻止的IP地址。

4.3 设置安全策略

为了进一步提高安全性,我们可以设置安全策略。编辑/etc/security/limits.conf文件,添加以下内容:

* soft nofile 1024
* hard nofile 2048

soft nofile设置为1024,表示将每个进程的文件符限制设置为1024。将hard nofile设置为2048,表示将每个进程的文件符限制设置为2048。

然后,重新启动系统。

结语

通过实施这些安全加固措施,您将显著提高Ubuntu22.04系统的安全性,抵御外部攻击,保护数据和隐私。请注意,这些措施只是安全加固的基础,您需要根据自己的具体情况和需求,进一步完善安全策略,确保系统的安全性。