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

Linux 运维安全加固策略:实战指南

Linux 系统安全加固命令操作指南

一、系统更新维护

(一)更新系统软件和内核

每周检查一次系统更新:

# Debian/Ubuntu
sudo apt update && sudo apt upgrade -y

# RHEL/CentOS
sudo yum update -y

每月检查一次内核更新:

# Debian/Ubuntu
sudo apt install linux-image-generic

# RHEL/CentOS
sudo yum install kernel

重启系统以应用更新:

sudo reboot

(二)自动更新配置

开启自动更新功能:

# Debian/Ubuntu
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades # 选择自动更新选项

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

修改自动更新配置文件:

# Debian/Ubuntu
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

# RHEL/CentOS
sudo nano /etc/yum/版本/yum-cron.conf

设置自动更新周期和邮件通知。

二、访问控制与用户权限管理

(一)账户安全策略

设置强密码策略:

sudo apt install libpam-pwquality # Debian/Ubuntu
sudo yum install libpwquality # RHEL/CentOS

# 修改密码质量配置文件
sudo nano /etc/security/pwquality.conf

设置 minlen = 8dcredit = -1ucredit = -1lcredit = -1ocredit = -1,要求密码至少8位且包含大小写字母、数字和特殊字符。

定期更换密码:

# 设置密码有效期为90天
sudo chage -M 90 用户名

# 查看密码过期日期
chage -l 用户名

删除或禁用不必要的系统账户:

# 删除账户
sudo userdel 账户名

# 禁用账户
sudo passwd -l 账户名

(二)最小权限原则

创建普通用户组并分配权限:

# 创建用户组
sudo groupadd 普通用户组

# 创建用户并添加到组
sudo useradd -G 普通用户组 用户名

# 设置文件和目录权限
sudo chmod 750 文件夹路径
sudo chown 用户名:普通用户组 文件夹路径

(三)SSH安全配置

更换SSH默认端口:

# 修改SSH配置文件
sudo nano /etc/ssh/sshd_config

# 将Port 22改为Port 自定义端口(如5920)

禁用root直接登录SSH:

# 在SSH配置文件中添加或修改
PermitRootLogin no

使用SSH密钥对认证:

# 生成密钥对
ssh-keygen -t rsa

# 将公钥复制到服务器
ssh-copy-id 用户名@服务器IP

重启SSH服务:

sudo systemctl restart sshd

(四)sudo权限管理

精细分配sudo权限:

# 使用visudo命令编辑sudoers文件
sudo visudo

添加以下内容:

用户名 ALL=(ALL) NOPASSWD:/usr/bin/apt-get update,/usr/bin/apt-get upgrade

三、网络层安全

(一)防火墙规则设置

使用iptables配置防火墙规则:

# 清空现有规则
sudo iptables -F

# 设置默认策略
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

# 允许本地回环接口通信
sudo iptables -A INPUT -i lo -j ACCEPT

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

# 开放80和443端口
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 保存规则(Debian/Ubuntu)
sudo apt install iptables-persistent
sudo netfilter-persistent save

# 保存规则(RHEL/CentOS)
sudo service iptables save

(二)网络入侵检测与防御系统(NIDS/IPS)

部署Snort:

# 安装Snort
sudo apt install snort # Debian/Ubuntu
sudo yum install snort # RHEL/CentOS

# 配置Snort规则和签名
sudo nano /etc/snort/snort.conf

# 启动Snort服务
sudo systemctl start snort

(三)虚拟专用网络(VPN)与加密通信

安装OpenVPN:

# Debian/Ubuntu
sudo apt install openvpn

# RHEL/CentOS
sudo yum install openssl-devel lzo

# 下载并运行OpenVPN配置脚本
wget https://git.io/vpn -O openvpn-install.sh
sudo bash openvpn-install.sh

按照提示设置VPN服务器IP、端口、协议等参数,完成安装后,客户端使用生成的配置文件连接VPN服务器。

(四)防网络欺骗与IP源验证

在路由器和交换机上配置防网络欺骗功能:

# 华为交换机配置示例
system-view
interface GigabitEthernet0/0/1
 ip source check user-bind enable

四、服务与应用安全

(一)服务管理

停用不必要的服务:

# 停止并禁止服务
systemctl stop 服务名.service
systemctl disable 服务名.service

# 卸载不必要的软件包
apt remove 软件包名 # Debian/Ubuntu
yum remove 软件包名 # RHEL/CentOS

(二)数据安全

对重要数据进行加密存储:

# 安装加密工具
sudo apt install mcrypt # Debian/Ubuntu
sudo yum install mcrypt # RHEL/CentOS

# 创建加密文件
dd if=/dev/urandom of=加密文件 bs=1M count=10
mcrypt -m AES-256加密文件 -o 加密文件.crypt

定期备份数据:

# 使用rsync备份
rsync -avz /path/to/source /path/to/backup

# 使用tar备份
tar -czvf backup.tar.gz /path/to/source

验证备份数据的可恢复性:

# 解压备份文件
tar -xzvf backup.tar.gz -C /path/to/restore

# 检查恢复的数据
ls /path/to/restore

(三)主机加固

根据业务需求安装和配置最小化操作系统:

# Debian/Ubuntu最小化安装
sudo apt install --no-install-recommends base-package-list

# RHEL/CentOS最小化安装
sudo yum groupinstall "Minimal Install"

对服务器进行分区:

# 使用fdisk命令分区
sudo fdisk /dev/sda

# 创建挂载点并挂载分区
sudo mkdir /path/to/mountpoint
sudo mount /dev/sda1 /path/to/mountpoint

安全编译软件:

# 安装编译工具和安全编译选项
sudo apt install build-essential libssl-dev # Debian/Ubuntu
sudo yum install gcc-c++ openssl-devel # RHEL/CentOS

# 编译软件时启用安全编译选项
gcc -fstack-protector-strong -D_FORTIFY_SOURCE=2 -o outputfile sourcefile.c

五、持续安全运维管理

(一)监控与审计

部署监控工具:

# 安装Prometheus
sudo apt install prometheus # Debian/Ubuntu
sudo yum install prometheus # RHEL/CentOS

# 配置Prometheus监控目标
sudo nano /etc/prometheus/prometheus.yml

# 启动Prometheus服务
sudo systemctl start prometheus

收集和分析系统日志:

# 安装ELK Stack(Elasticsearch、Logstash、Kibana)
sudo apt install elasticsearch logstash kibana # Debian/Ubuntu
sudo yum install elasticsearch logstash kibana # RHEL/CentOS

# 配置ELK Stack
sudo nano /etc/elasticsearch/elasticsearch.yml
sudo nano /etc/logstash/conf.d/logstash.conf
sudo nano /etc/kibana/kibana.yml

# 启动ELK Stack服务
sudo systemctl start elasticsearch
sudo systemctl start logstash
sudo systemctl start kibana

(二)漏洞管理

定期扫描漏洞:

# 安装OpenVAS
sudo apt install openvas # Debian/Ubuntu
sudo yum install openvas # RHEL/CentOS

# 启动OpenVAS服务
sudo systemctl start openvas

# 扫描系统漏洞
openvasadm --start-scan --port 80 --targets 192.168.1.1

建立漏洞管理流程:

# 编写漏洞管理脚本
#!/bin/bash

# 检测系统漏洞
openvasadm --start-scan --port 80 --targets 192.168.1.1

# 生成漏洞报告
openvasadm --get-report --scan-id SCAN_ID --output-file report.html

(三)应急响应与恢复

制定应急响应计划:

# 创建应急响应脚本
#!/bin/bash

# 隔离受影响的系统
iptables -A INPUT -s 受影响系统IP -j DROP

# 收集证据
tar -czvf evidence.tar.gz /path/to/evidence

# 分析攻击来源和方式
grep '攻击关键词 /'var/log/syslog

定期进行应急演练:

# 模拟安全事件
iptables -A INPUT -p tcp --dport 80 -j DROP

# 检查应急响应流程
systemctl status apache2

(四)安全意识培养与团队协作

加强运维团队成员的安全意识培训:

# 组织内部培训和技术分享
sudo apt install zoom # Debian/Ubuntu
sudo yum install zoom # RHEL/CentOS

# 参与安全社区和技术论坛
firefox https://www.reddit.com/r/linuxadmin/

建立跨部门的安全协作机制:

# 创建跨部门安全协作群组
sudo apt install mattermost # Debian/Ubuntu
sudo yum install mattermost # RHEL/CentOS

# 搭建内部安全知识库
sudo apt install wikibase # Debian/Ubuntu
sudo yum install wikibase # RHEL/CentOS

以上命令操作指南涵盖了Linux系统安全加固的各个方面,通过定期执行这些命令和操作,可以有效提升Linux系统的安全性和稳定性。同时,建议根据实际业务需求和系统环境,灵活调整和优化安全策略和操作流程,确保系统在安全加固的同时,保持高效的运行和管理。

写作不易,欢迎一键三连。

相关文章:

  • Docker Desktop 4.38 安装与配置全流程指南(Windows平台)
  • π0源码解析——一个模型控制7种机械臂:对开源VLA sota之π0源码的全面分析,含我司的部分落地实践
  • LabVIEW中实现FFT并提取幅值与相位
  • 立即释放 Mac 空间!Duplicate File Finder 8 重复文件高速清理工具
  • Docker Desktop常见问题记录
  • CentOS7安装MySQL5.7到指定数据目录
  • 低代码开发平台(Low-Code)简要介绍
  • 客户端的ip和端口的发送,存储位置和服务端的ip和端口的绑定
  • MySQL知识点总结(二十)
  • 【Python项目】基于深度学习的车辆特征分析系统
  • pytest结合allure
  • 中级系统运维工程师
  • 【江科大STM32】TIM输入捕获模式PWMI模式测频率
  • css梯形tab
  • Java学习笔记-文件命名
  • 华为:Wireshark的OSPF抓包分析过程
  • 如何使用SSH命令安全连接并转发端口到远程服务器
  • K8S学习之基础八:k8s中pod的状态和重启策略
  • 数据库索引的作用:提升数据检索效率的关键
  • 如何使用 LLM 生成的术语自动在搜索应用程序上构建 autocomplete 功能
  • 网站推广做招商加盟/网址导航该如何推广
  • 数据网站排名/百度热门
  • 做猎头需要用到的网站/网络销售是做什么的
  • 网站建设 思维导图/石家庄房价
  • 吧网站做软件的软件/最近发生的热点新闻
  • 简阳城乡建设委员会网站/免费网站seo优化