1. 首页 > IT综合教程 > 正文

it教程FG85-Linux系统安全加固与优化

1. 安全加固概述

Linux系统安全加固是保护服务器免受攻击的重要措施,包括系统更新、用户权限管理、网络安全配置等多个方面。通过实施安全加固措施,可以显著提高系统的安全性和可靠性。更多学习教程www.fgedu.net.cn

生产环境建议:安全加固应作为服务器部署的必要步骤,定期进行安全审计和更新,确保系统始终处于安全状态。

# 安全加固的重要性
1. 防止未授权访问
2. 减少系统漏洞
3. 保护敏感数据
4. 确保业务连续性
5. 符合合规要求
6. 降低安全事件风险

2. 系统更新与补丁管理

及时更新系统和应用程序是安全加固的基础,可以修复已知漏洞,提高系统安全性。

# Ubuntu/Debian系统更新
$ sudo apt update
$ sudo apt upgrade -y
$ sudo apt autoremove -y

# CentOS/RHEL系统更新
$ sudo yum update -y
$ sudo yum autoremove -y

# 欧拉操作系统更新
$ sudo dnf update -y
$ sudo dnf autoremove -y

# 配置自动更新
# Ubuntu/Debian
$ sudo apt install -y unattended-upgrades
$ sudo dpkg-reconfigure -plow unattended-upgrades

# CentOS/RHEL
$ sudo yum install -y yum-cron
$ sudo systemctl enable –now yum-cron

# 检查系统版本和更新状态
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy

$ sudo apt list –upgradable
Listing… Done

3. 用户和权限管理

合理的用户和权限管理是系统安全的关键,包括用户账户管理、密码策略和权限设置等,学习交流加群风哥微信: itpux-com。

# 用户账户管理
# 检查系统用户
$ awk -F: ‘($3 == 0) {print $1}’ /etc/passwd
root

# 检查sudo权限用户
$ grep -v ‘^#’ /etc/sudoers | grep -E ‘(ALL|sudo)’ | grep -v ‘^$’

# 禁用不必要的用户
$ sudo passwd -l username

# 锁定用户账户
$ sudo usermod -L username

# 删除用户
$ sudo userdel -r username

# 密码策略配置
# 编辑密码策略
$ sudo vim /etc/security/pwquality.conf
minlen = 12
minclass = 4
maxrepeat = 3
difok = 8

# 编辑登录失败锁定策略
$ sudo vim /etc/pam.d/common-auth
auth required pam_tally2.so deny=5 unlock_time=300

# 检查密码强度
$ sudo apt install -y libpam-pwquality
$ pwscore
Password:
100

4. 网络安全配置

网络安全配置包括网络服务管理、端口控制和网络访问控制等方面。

# 网络服务管理
# 查看监听端口
$ sudo netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd: /usr/sbin

tcp6 0 0 :::22 :::* LISTEN 1234/sshd: /usr/sbin

# 查看运行的服务
$ sudo systemctl list-unit-files –type=service | grep enabled

# 禁用不必要的服务
$ sudo systemctl disable –now service-name
$ sudo systemctl stop service-name

# 网络参数优化
$ sudo vim /etc/sysctl.conf
# 添加以下内容
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5

# 应用配置
$ sudo sysctl -p

5. SSH安全配置

SSH是远程管理服务器的主要方式,需要进行安全配置以防止未授权访问,学习交流加群风哥QQ113257174。

# SSH安全配置
$ sudo vim /etc/ssh/sshd_config
# 禁用root登录
PermitRootLogin no
# 禁用密码登录
PasswordAuthentication no
# 更改SSH端口
Port 2222
# 限制登录尝试次数
MaxAuthTries 3
# 限制登录时间
LoginGraceTime 30
# 限制用户登录
AllowUsers username1 username2
# 禁用X11转发
X11Forwarding no
# 禁用TCP端口转发
AllowTcpForwarding no

# 重启SSH服务
$ sudo systemctl restart sshd

# 配置SSH密钥认证
# 生成SSH密钥对
$ ssh-keygen -t ed25519 -C “user@fgedu.net.cn”

# 复制公钥到服务器
$ ssh-copy-id -i ~/.ssh/id_ed25519.pub username@server-ip

# 验证SSH连接
$ ssh -p 2222 username@server-ip

6. 防火墙配置

防火墙是网络安全的重要组成部分,用于控制网络流量,限制不必要的访问。

# Ubuntu/Debian防火墙配置 (ufw)
# 启用防火墙
$ sudo ufw enable

# 允许SSH访问
$ sudo ufw allow 2222/tcp

# 允许HTTP/HTTPS访问
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp

# 查看防火墙状态
$ sudo ufw status
Status: active

To Action From
— —— —-
2222/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
2222/tcp (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)

# CentOS/RHEL防火墙配置 (firewalld)
# 启用防火墙
$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld

# 允许SSH访问
$ sudo firewall-cmd –permanent –add-port=2222/tcp

# 允许HTTP/HTTPS访问
$ sudo firewall-cmd –permanent –add-port=80/tcp
$ sudo firewall-cmd –permanent –add-port=443/tcp

# 重新加载防火墙
$ sudo firewall-cmd –reload

# 查看防火墙状态
$ sudo firewall-cmd –list-all

7. 文件系统安全

文件系统安全包括文件权限设置、文件系统挂载选项和敏感文件保护等方面,更多学习教程公众号风哥教程itpux_com。

# 文件权限设置
# 检查关键文件权限
$ sudo find /etc -type f -perm -002 -ls

# 设置关键文件权限
$ sudo chmod 644 /etc/passwd
$ sudo chmod 600 /etc/shadow
$ sudo chmod 644 /etc/group
$ sudo chmod 600 /etc/gshadow

# 检查SUID/SGID文件
$ sudo find / -type f -perm -4000 -o -perm -2000 -ls

# 文件系统挂载选项
$ sudo vim /etc/fstab
# 添加以下挂载选项
/dev/sda1 / ext4 defaults,nosuid,nodev,noexec,relatime 0 1
/dev/sda2 /home ext4 defaults,nosuid,nodev,noexec,relatime 0 2
/dev/sda3 /tmp ext4 defaults,nosuid,nodev,noexec,relatime 0 2

# 重新挂载文件系统
$ sudo mount -o remount /
$ sudo mount -o remount /home
$ sudo mount -o remount /tmp

8. 审计与监控

审计与监控是安全加固的重要组成部分,用于检测和响应安全事件。

# 安装审计工具
$ sudo apt install -y auditd audispd-plugins

# 启动审计服务
$ sudo systemctl start auditd
$ sudo systemctl enable auditd

# 配置审计规则
$ sudo vim /etc/audit/rules.d/audit.rules
# 添加以下规则
-w /etc/passwd -p wa -k passwd_changes
-w /etc/shadow -p wa -k shadow_changes
-w /etc/group -p wa -k group_changes
-w /etc/sudoers -p wa -k sudoers_changes
-w /var/log/auth.log -p wa -k auth_log_changes

# 重启审计服务
$ sudo systemctl restart auditd

# 查看审计日志
$ sudo ausearch -k passwd_changes
$ sudo aureport

# 配置日志监控
$ sudo apt install -y logwatch
$ sudo vim /etc/logwatch/conf/logwatch.conf

# 查看系统登录记录
$ sudo last
$ sudo lastb

# 监控系统资源使用情况
$ sudo apt install -y htop atop

9. 性能优化

系统性能优化可以提高服务器的响应速度和稳定性,同时也有助于提高系统安全性。

# 系统资源限制
$ sudo vim /etc/security/limits.conf
# 添加以下内容
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536

# 内核参数优化
$ sudo vim /etc/sysctl.conf
# 添加以下内容
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 15
vm.swappiness = 10
vm.overcommit_memory = 1

# 应用配置
$ sudo sysctl -p

# 磁盘性能优化
# 检查磁盘I/O性能
$ sudo iostat -x 2

# 优化磁盘调度算法
$ sudo echo deadline > /sys/block/sda/queue/scheduler

# 启用TRIM(SSD)
$ sudo fstrim -a

# 内存使用优化
$ free -h
$ sudo sysctl -w vm.drop_caches=3

10. 最佳实践

Linux系统安全加固的最佳实践包括定期安全审计、漏洞扫描和安全更新等方面,author:www.itpux.com。

生产环境建议:
– 定期更新系统和应用程序
– 实施强密码策略和多因素认证
– 限制SSH访问,使用密钥认证
– 配置防火墙,只开放必要的端口
– 定期进行安全审计和漏洞扫描
– 监控系统日志,及时发现异常
– 备份重要数据,制定灾难恢复计划
– 实施最小权限原则,避免权限过度分配
– 定期检查系统账户和服务
– 保持安全意识,定期培训员工

风哥提示:Linux系统安全加固是一个持续的过程,需要定期检查和更新安全措施。企业应根据自身业务需求和安全要求,制定适合的安全策略,确保系统的安全性和可靠性。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息