Ubuntu22.04强化安全措施,构建坚实网络堡垒
2023-09-03 02:36:39
- 端口安全:检查端口占用,解决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系统的安全性,抵御外部攻击,保护数据和隐私。请注意,这些措施只是安全加固的基础,您需要根据自己的具体情况和需求,进一步完善安全策略,确保系统的安全性。