×

【小鱼学安全】详细的Linux安全设置步骤和最佳实践
  

会飞的鱼儿 1945

{{ttag.title}}
Linux系统的安全设置是确保系统免受各种威胁的重要步骤。以下是详细的Linux安全设置步骤和最佳实践,涵盖账户管理、权限控制、系统更新、防火墙配置、日志监控等方面。

1. 账户和权限管理
1.1 禁止使用Root账户直接登录修改/etc/ssh/sshd_config文件
PermitRootLogin no
重启SSH服务

systemctl restart sshd

1.2 创建普通用户并提升为管理员
  • 创建用户
    adduser username
  • 将用户添加到sudoers文件
    usermod -aG sudo username


1.3 使用sudo命令执行管理任务
  • 配置/etc/sudoers文件,确保普通用户可以使用sudo:
    username ALL=(ALL) ALL


1.4 设置强密码策略
  • 编辑/etc/login.defs文件
    PASS_MAX_DAYS   90PASS_MIN_DAYS   10PASS_MIN_LEN    12PASS_WARN_AGE   7
  • 使用chage命令修改用户密码策略
    chage -M 90 -m 10 -W 7 username


2. 文件和目录权限2.1 设置适当的文件权限
  • 检查文件权限
    ls -l /path/to/file
  • 修改文件权限
    chmod 644 /path/to/file  # 文件chmod 755 /path/to/directory  # 目录


2.2 使用umask设置默认权限
  • 编辑/etc/profile或~/.bashrc文件
    umask 027


2.3 限制重要文件的访问
  • 更改文件所有权
    chown root:root /path/to/file
  • 锁定敏感文件
    chmod 600 /path/to/file


3. 系统更新和补丁管理3.1 定期更新系统软件包
  • Debian/Ubuntu
    apt update && apt upgrade -y
  • Red Hat/CentOS
    yum update -y


3.2 配置自动更新
  • Debian/Ubuntu
    apt install unattended-upgradesdpkg-reconfigure --priority=low unattended-upgrades


4. 防火墙配置4.1 使用iptables配置防火墙
  • 查看当前规则
    iptables -L
  • 添加规则
    iptables -A INPUT -p tcp --dport 22 -j ACCEPTiptables -A INPUT -p tcp --dport 80 -j ACCEPTiptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT ACCEPT


4.2 使用ufw简化防火墙管理(Debian/Ubuntu)
  • 安装ufw
    apt install ufw
  • 启用防火墙
    ufw enable
  • 允许SSH和HTTP流量
    ufw allow 22/tcpufw allow 80/tcp


5. 服务和进程管理5.1 禁用不必要的服务
  • 查看所有服务
    systemctl list-unit-files --type=service
  • 禁用不需要的服务
    systemctl disable service_name


5.2 限制进程权限
  • 使用systemd单元文件配置服务的安全选项:编辑/etc/systemd/system/service_name.service:
    [Service]User=nobodyGroup=nogroupPrivateTmp=true


6. 日志和审计6.1 配置系统日志
  • 查看和配置rsyslog
    vi /etc/rsyslog.conf
  • 重启日志服务
    systemctl restart rsyslog


6.2 使用auditd进行安全审计
  • 安装auditd
    apt install auditd  # Debian/Ubuntuyum install audit  # Red Hat/CentOS
  • 配置审计规则:编辑/etc/audit/audit.rules:
    -w /etc/passwd -p wa -k passwd_changes-w /var/log/ -p wa -k log_modifications
  • 重启审计服务
    systemctl restart auditd


7. 远程访问和加密7.1 配置SSH
  • 禁用不安全的SSH协议:编辑/etc/ssh/sshd_config:
    Protocol 2
  • 限制SSH访问
    AllowUsers username
  • 启用SSH密钥认证
    PasswordAuthentication noPubkeyAuthentication yes


7.2 使用Fail2ban防止暴力破解
  • 安装Fail2ban
    apt install fail2ban  # Debian/Ubuntuyum install fail2ban  # Red Hat/CentOS
  • 配置Fail2ban:编辑/etc/fail2ban/jail.local:
    [sshd]enabled = trueport = sshlogpath = /var/log/auth.logmaxretry = 5
  • 启动Fail2ban
    systemctl enable fail2bansystemctl start fail2ban


通过实施上述步骤,您可以显著提高Linux系统的安全性,减少潜在的安全威胁和漏洞风险。这些最佳实践涵盖了从账户管理、权限控制到系统更新、防火墙配置和日志监控的各个方面,为Linux系统提供了全方位的安全保障。

打赏鼓励作者,期待更多好文!

打赏
1人已打赏

大智哥 发表于 2024-9-12 11:14
  
确实,这些步骤可以提升系统的安全性,但操作还是要慎重。
发表新帖
热门标签
全部标签>
西北区每日一问
技术盲盒
安全效果
技术笔记
【 社区to talk】
干货满满
每日一问
新版本体验
信服课堂视频
GIF动图学习
产品连连看
技术咨询
2023技术争霸赛专题
安装部署配置
功能体验
通用技术
秒懂零信任
技术晨报
自助服务平台操作指引
原创分享
标准化排查
排障笔记本
玩转零信任
每周精选
排障那些事
SDP百科
深信服技术支持平台
POC测试案例
畅聊IT
答题自测
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
高手请过招
升级&主动服务
高频问题集锦
社区新周刊
全能先锋系列
云化安全能力

本版达人

新手68983...

本周分享达人

零和一网络

本周提问达人