当前位置: 首页 > ds >正文

Linux安全防护:全方位服务安全配置指南

引言

在网络安全威胁日益严峻的今天,Linux服务就像需要重重保护的"数字城堡"🏰!本文将为你呈现Linux服务安全加固的完整方案,从系统底层到应用层,从网络防护到日志监控。无论你是运维工程师还是系统管理员,掌握这些安全加固技巧都能让你的Linux系统固若金汤!🔒 让我们一起构筑坚不可摧的系统防线吧~ 🚀

服务安全
系统加固
网络防护
应用安全
监控审计

一、系统基础加固

1.1 最小化安装原则

# 查看已安装软件包(RHEL/CentOS)
sudo yum list installed# 查看已安装软件包(Debian/Ubuntu)
sudo dpkg --list# 移除不必要的软件包
sudo yum remove <package-name>        # RHEL/CentOS
sudo apt purge <package-name>         # Debian/Ubuntu

1.2 系统更新策略

# 启用自动安全更新(Debian/Ubuntu)
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades# 启用自动更新(RHEL/CentOS 8+)
sudo dnf install dnf-automatic
sudo systemctl enable --now dnf-automatic.timer

二、SSH 服务加固

2.1 基本安全配置

sudo nano /etc/ssh/sshd_config# 禁用root登录
PermitRootLogin no# 使用密钥认证
PasswordAuthentication no# 限制用户登录
AllowUsers admin user1 user2# 修改默认端口
Port 22222# 限制最大尝试次数
MaxAuthTries 3# 配置完成后重启服务
sudo systemctl restart sshd

2.2 高级安全配置

# 使用Fail2Ban防止暴力破解
sudo apt install fail2ban    # Debian/Ubuntu
sudo yum install fail2ban    # RHEL/CentOS# 配置Fail2Ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

三、Web 服务加固

3.1 Apache 安全配置

sudo nano /etc/apache2/apache2.conf# 关闭服务器签名
ServerTokens Prod
ServerSignature Off# 限制目录权限
<Directory /var/www/html>Options -IndexesAllowOverride None
</Directory># 禁用不必要模块
sudo a2dismod autoindex cgi

3.2 Nginx 安全配置

sudo nano /etc/nginx/nginx.conf# 隐藏版本信息
server_tokens off;# 限制HTTP方法
if ($request_method !~ ^(GET|HEAD|POST)$ ) {return 444;
}# 配置安全头
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";

四、数据库服务加固

4.1 MySQL/MariaDB 安全

# 运行安全安装脚本
sudo mysql_secure_installation# 安全配置建议
sudo nano /etc/mysql/my.cnf[mysqld]
# 禁用本地文件读取
local-infile=0# 禁用符号链接
symbolic-links=0# 启用查询日志
general_log_file = /var/log/mysql/mysql.log
general_log = 1

4.2 PostgreSQL 安全

sudo nano /etc/postgresql/12/main/pg_hba.conf# 限制连接方式
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             192.168.1.0/24          md5
host    all             all             ::1/128                 reject

五、防火墙配置

5.1 UFW 简单防火墙

sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22222/tcp   # SSH自定义端口
sudo ufw allow 80/tcp      # HTTP
sudo ufw allow 443/tcp     # HTTPS

5.2 firewalld 高级配置

sudo firewall-cmd --permanent --new-zone=restricted
sudo firewall-cmd --permanent --zone=restricted --add-source=192.168.1.0/24
sudo firewall-cmd --permanent --zone=restricted --add-service=ssh
sudo firewall-cmd --reload

六、文件系统安全

6.1 关键目录权限

# 设置关键目录权限
sudo chmod 700 /etc/cron.d /etc/cron.daily /etc/cron.hourly
sudo chmod 600 /etc/crontab /etc/cron.deny
sudo chmod 750 /etc/sudoers.d# 设置不可变属性
sudo chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow

6.2 文件完整性检查

# 安装AIDE(高级入侵检测环境)
sudo apt install aide    # Debian/Ubuntu
sudo yum install aide    # RHEL/CentOS# 初始化数据库
sudo aideinit# 手动检查
sudo aide --check

七、日志与监控

7.1 集中日志管理

# 配置rsyslog发送日志到远程服务器
sudo nano /etc/rsyslog.conf*.* @192.168.1.100:514# 重启服务
sudo systemctl restart rsyslog

7.2 实时入侵检测

# 安装OSSEC HIDS
sudo apt install ossec-hids-server   # Debian/Ubuntu
sudo yum install ossec-hids          # RHEL/CentOS# 基本配置
sudo nano /var/ossec/etc/ossec.conf

八、内核参数加固

8.1 sysctl 安全配置

sudo nano /etc/sysctl.conf# 禁用IP转发
net.ipv4.ip_forward = 0# 防止SYN洪水攻击
net.ipv4.tcp_syncookies = 1# 禁用ICMP重定向
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0# 应用配置
sudo sysctl -p

九、服务账户安全

9.1 限制服务账户

# 创建无登录权限的系统账户
sudo useradd -r -s /bin/false serviceuser# 检查无密码账户
sudo awk -F: '($2 == "") {print}' /etc/shadow# 检查UID为0的账户
sudo awk -F: '($3 == 0) {print}' /etc/passwd

十、定期安全审计

10.1 使用Lynis审计

# 安装Lynis
sudo apt install lynis    # Debian/Ubuntu
sudo yum install lynis    # RHEL/CentOS# 运行审计
sudo lynis audit system

10.2 OpenSCAP合规检查

# 安装OpenSCAP
sudo apt install libopenscap8    # Debian/Ubuntu
sudo yum install openscap-scanner # RHEL/CentOS# 运行扫描
sudo oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_standard --results scan.xml /usr/share/xml/scap/ssg/content/ssg-ubuntu2204-ds.xml

总结 🎯

通过本文的系统学习,我们已经构建了Linux服务安全的完整防护体系:

  1. 系统加固:从内核到文件系统的全方位防护 🏗️
  2. 服务安全:SSH/Web/DB等关键服务加固 🔧
  3. 网络防护:防火墙与网络隔离策略 🌐
  4. 持续监控:日志分析与实时告警系统 🚨

安全黄金法则

  • 最小权限原则:服务按需分配权限 ✋
  • 纵深防御:多层防护体系构建 🛡️
  • 持续更新:定期打补丁和升级 🔄

记住:安全不是一次性的工作,而是持续的过程! 现在就去加固你的Linux系统吧!🐧⚔️


PS:如果你在学习过程中遇到问题,别慌!欢迎在评论区留言,我会尽力帮你解决!😄

http://www.xdnf.cn/news/1495.html

相关文章:

  • gem5教程第六章 为ARM扩展gem5 这也是改进gem5的一个基础
  • STM32F103 “BluePill” 上的 DMA 原理与实践
  • 「ES数据迁移可视化工具(Python实现)」支持7.x索引数据互传
  • unity游戏开发之 拖放教程2D
  • 代理ip池有哪些类型?代理IP池的定义、特点与使用场景
  • leetcode0099. 恢复二叉搜索树- medium
  • 在基于Transformer的LLM中,将越重要的提示词前置,对生成效果越好吗
  • LeetCode算法题(Go语言实现)_58
  • 122.在 Vue3 中使用 OpenLayers 实现图层层级控制(zIndex)显示与设置详解
  • CIFAR-10图像分类学习笔记(一)
  • vim的.vimrc配置
  • 【Java面试笔记:基础】11.Java提供了哪些IO方式? NIO如何实现多路复用?
  • 哪些心电图表现无缘事业编体检呢?
  • Linux程序地址空间
  • 【maven-7.1】POM文件中的属性管理:提升构建灵活性与可维护性
  • 《Cesium 中两点绘制线的实现:实线、虚线、动态线、流动线详解》
  • 元素滚动和内容垂直居中同时存在,完美的 html 元素垂直居中的方法flex + margin: auto
  • Java 中 String 转 Integer 的方法与底层原理详解
  • Elasticsearch(ES)中的脚本(Script)
  • 设备沟通不再“鸡同鸭讲”EtherCAT转Profinet网关助力工业互联新升级!
  • SpringMVC从入门到上手-全面讲解SpringMVC的使用.
  • BUUCTF jarvisoj_test_your_memory
  • 电控---DMP库
  • C语言(1)—C语言常见概念
  • xcode 16 遇到contains bitcode
  • visio导出的图片过大导致latex格式转成pdf之后很不清楚
  • 缩放点积注意力
  • 新书速览|Hadoop与Spark大数据全景解析(视频教学版)
  • STM32F4 W25Q64存储芯片详解:特性以及应用
  • Java 集合:泛型、Set 集合及其实现类详解