0


从这几个方面做,可以确保你的Linux 系统更加安全,免受攻击

系统安全是运维工作的重中之重。通过系统加固,可以有效降低安全风险。本文将介绍 Linux 系统安全加固的核心步骤,帮助你提升系统的安全性,防止潜在的攻击威胁。

一、基础安全配置

1. 防火墙配置

防火墙是保护系统免受网络攻击的第一道防线。常用的防火墙工具包括

iptables

firewalld

。下面是它们的基本配置示例:

1)iptables

配置:

# 允许本地回环接口流量
iptables -A INPUT -i lo -j ACCEPT

解释: 允许来自回环接口(即本地计算机自身)的所有流量。回环接口通常用于本地通信,不会受到网络攻击的威胁。

# 允许已建立和相关的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

解释: 允许已建立的连接和与之相关的流量,这有助于保持现有连接的稳定性,避免中断合法的会话。

# 允许 SSH 流量
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

解释: 允许通过 TCP 协议访问端口 22(SSH 的默认端口),确保远程管理可以进行。

# 允许 HTTP 流量
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

解释: 允许通过 TCP 协议访问端口 80(HTTP 的默认端口),使得 Web 服务可以正常工作。

# 拒绝所有其他流量
iptables -A INPUT -j DROP

解释: 拒绝所有未明确允许的流量,作为默认的拒绝策略,以防止未授权访问。

# 保存规则
service iptables save

解释: 保存当前

iptables

配置,以便在系统重启后仍能生效。

2)firewalld

配置:

# 启用防火墙
firewall-cmd --state

解释: 检查

firewalld

的当前状态,确保其已启用。

firewall-cmd --zone=public --add-port=22/tcp --permanent

解释: 在

public

区域中永久允许 TCP 端口 22 的流量,以支持 SSH 访问。

firewall-cmd --zone=public --add-port=80/tcp --permanent

解释: 在

public

区域中永久允许 TCP 端口 80 的流量,以支持 HTTP 服务。

# 重新加载配置
firewall-cmd --reload

解释: 重新加载

firewalld

配置,使之前添加的规则生效。

2. 用户权限管理与审计

管理用户权限是确保系统安全的重要措施。使用

chmod

chown

命令来设置文件和目录权限。例如:

# 设置文件为只读
chmod 444 /path/to/file

解释: 将指定文件的权限设置为只读(读权限给所有用户),防止文件被修改。

# 修改文件拥有者
chown user:user /path/to/file

解释: 将指定文件的所有权更改为

user

用户及其用户组,以便只允许特定用户修改该文件。

auditd

配置:

# 安装 auditd
apt-get install auditd

解释: 安装

auditd

工具,它用于监控和记录系统活动。

# 启动服务
systemctl start auditd

解释: 启动

auditd

服务,以便开始记录审计日志。

# 配置审计规则
echo "-w /etc/passwd -p wa -k passwd_changes" >> /etc/audit/rules.d/audit.rules

解释: 添加审计规则以监控

/etc/passwd

文件的写入和属性更改(

wa

),并用

passwd_changes

作为关键字标记此规则。

# 重新加载规则
auditctl -R /etc/audit/rules.d/audit.rules

解释: 重新加载审计规则,使新的规则立即生效。

3. 系统补丁与更新管理

定期更新系统补丁是防止漏洞被利用的重要措施。配置自动更新可以减少手动更新的工作:

# 安装 unattended-upgrades 工具
apt-get install unattended-upgrades

解释: 安装

unattended-upgrades

工具,以便系统可以自动安装安全更新。

# 启用自动更新
dpkg-reconfigure --priority=low unattended-upgrades

解释: 配置

unattended-upgrades

以启用自动更新,确保系统始终保持最新状态。

进行漏洞扫描与修复可以使用工具如

OpenVAS

Nessus

。定期扫描系统并应用补丁是保持系统安全的关键步骤。

二、入侵检测与响应

1. 常用入侵检测系统:

入侵检测系统(IDS)可以帮助检测潜在的安全威胁。

OSSEC

AIDE

是两个常用的工具:

OSSEC

安装:

# 安装 OSSEC
wget https://github.com/ossec/ossec-hids/archive/3.8.0.tar.gz
tar -zxvf 3.8.0.tar.gz
cd ossec-hids-3.8.0
./install.sh

解释: 从官方 GitHub 仓库下载

OSSEC

的压缩包,解压并运行安装脚本。

AIDE

安装:

# 安装 AIDE
apt-get install aide

解释: 安装

AIDE

工具,用于文件和目录完整性检查。

# 初始化数据库
aideinit

解释: 初始化

AIDE

数据库,创建当前系统状态的快照。

# 执行检查
aide --check

解释: 执行文件完整性检查,检测文件系统的变化

2. 安全事件的响应流程

处理安全事件时,应遵循以下基本流程:

  1. 检测:利用 IDS 工具和日志分析发现异常活动。
  2. 响应:对可疑活动采取措施,隔离受影响系统。
  3. 恢复:恢复系统至正常状态,应用修复补丁。
  4. 报告:记录事件详情,分析原因并改进安全措施。

三、实战场景

假设你发现服务器上有未经授权的 SSH 登录尝试,可以通过以下步骤进行处理:

1、查看日志:使用

grep

查找日志中的异常活动。

grep 'sshd' /var/log/auth.log

解释: 查找 SSH 登录相关的日志信息,识别异常的登录尝试

2、阻止 IP 地址:如果发现异常 IP 地址,使用防火墙规则进行阻止。

iptables -A INPUT -s 192.168.1.100 -j DROP

解释: 将指定 IP 地址(如

192.168.1.100

)添加到防火墙规则中,阻止其访问系统。

3、审计与修复:审查相关用户权限和配置文件,修复任何潜在的安全漏洞。

本月精彩文章推荐

  • 云计算架构师韩先超亲身经历 | 记录从大学到现在历程
  • 云计算架构师韩先超对咪咕进行【K8S超大规模集群与AI赋能算力网络调度】培训
  • 对合肥电信进行线下Kubernetes技术培训
  • Linux常用命令大全
  • 深度探索:Linux内核优化高级指南
  • 全面掌握:Linux运维面试必备题库(服务器、网络、Docker、K8s、DevOps等)
  • 很多docker镜像站被封了?哪些能用,抓紧收藏
  • 国产操作系统崛起!揭开未来科技的神秘面纱
  • Centos停更了,基于业务场景选择合适的操作系统替代Centos。
  • 探索Kubernetes/K8S的奇妙世界:十大必知创新技术
  • 大规模场景下K8S集群设计|大企业5000个节点k8s架构设计|第1集
  • 大规模K8S集群的网络与存储优化:5000+节点规模| 第2集 点赞、关注和"在看",薪资翻倍
标签: linux 安全 运维

本文转载自: https://blog.csdn.net/weixin_38320674/article/details/142447804
版权归原作者 韩先超 所有, 如有侵权,请联系我们删除。

“从这几个方面做,可以确保你的Linux 系统更加安全,免受攻击”的评论:

还没有评论