安全加固怎么操作?

wen 网络安全 3

本文目录导读:

安全加固怎么操作?

  1. 通用安全加固操作流程(方法论)
  2. 针对 Linux 服务器(CentOS/RHEL/Ubuntu)的加固实操
  3. 针对 Web 应用(Nginx / Apache / Tomcat)的加固
  4. 针对数据库(MySQL / MariaDB)的加固
  5. 网络与端点安全(辅助加固)
  6. 最佳实践清单(Checklist)
  7. 重要提示

“安全加固”是一个系统性工程,而不是单一的操作,它的核心目标是:减少攻击面、提升防御能力、确保数据机密性/完整性/可用性

由于你没有指定具体的加固对象(如Windows服务器、Linux服务器、Web应用、数据库、网络设备等),我将提供一个通用且主流的操作框架,并重点针对最常见的Linux服务器Web应用给出具体步骤。

通用安全加固操作流程(方法论)

在任何场景下,建议遵循以下步骤(PDCA循环):

  1. 资产梳理:先搞清楚要加固的是什么(IP、端口、服务、版本)。
  2. 基线建立:查阅并遵循行业标准(如等保2.0、CIS Benchmarks)。
  3. 风险最小化:关闭不用的服务,删除不用的账户。
  4. 权限收紧:最小权限原则。
  5. 日志与监控:确保所有操作可追溯。
  6. 定期更新:打补丁是性价比最高的加固。

针对 Linux 服务器(CentOS/RHEL/Ubuntu)的加固实操

这是最常见的场景,以下为核心命令和配置:

账户与认证安全

  • 禁用Root直接登录
    # 编辑SSH配置文件
    vim /etc/ssh/sshd_config
    # 修改或添加:
    PermitRootLogin no
    # 重启服务
    systemctl restart sshd
  • 使用密钥登录,禁用密码登录
    vim /etc/ssh/sshd_config
    PasswordAuthentication no
    PubkeyAuthentication yes
  • 创建普通用户并赋予sudo权限
    useradd your_admin
    passwd your_admin
    usermod -aG wheel your_admin  # CentOS
    # 或 usermod -aG sudo your_admin  # Ubuntu
  • 修改SSH默认端口(减少扫描攻击):
    vim /etc/ssh/sshd_config
    Port 2222  # 改为非标准端口

系统服务与补丁

  • 关闭不必要的服务

    systemctl stop <service_name>
    systemctl disable <service_name>

    cups(打印服务)、avahi-daemon(自动发现)通常可以关闭。

  • 定期自动更新安全补丁

    # CentOS
    yum install -y yum-cron
    vim /etc/yum/yum-cron.conf
    apply_updates = yes
    # Ubuntu
    apt install unattended-upgrades
    dpkg-reconfigure --priority=low unattended-upgrades

防火墙与网络

  • 使用Firewalld或iptables默认拒绝入站
    systemctl start firewalld
    firewall-cmd --set-default-zone=drop
    firewall-cmd --permanent --add-port=2222/tcp  # 放行SSH新端口
    firewall-cmd --reload
  • 禁止ICMP重定向和IP转发(除非必要):
    vim /etc/sysctl.conf
    net.ipv4.conf.all.accept_redirects = 0
    net.ipv4.ip_forward = 0
    # 应用
    sysctl -p

文件系统与权限

  • 检查关键文件权限
    chmod 600 /etc/shadow   # 只有root能读
    chmod 644 /etc/passwd   # 普通用户可读但不可写
    chmod 700 /root         # 只有root能访问root家目录
  • 设置umask(防御性权限):
    # 编辑 /etc/profile 或 /etc/bashrc
    umask 027

针对 Web 应用(Nginx / Apache / Tomcat)的加固

隐藏版本号与错误信息

  • Nginx
    server_tokens off;
  • Apache
    ServerSignature Off
    ServerTokens Prod

HTTP头安全(防点击劫持、MIME嗅探、XSS)

在 Nginx/Apache 配置中添加:

add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

目录权限与权限控制

  • 禁止目录遍历
    location / {
        autoindex off;
    }
  • 限制上传目录的执行权限(防止WebShell):
    location /uploads {
        location ~ \.(php|jsp|asp)$ {
            deny all;
        }
    }
  • 文件权限
    chmod 644 /var/www/html/*.php
    chmod 755 /var/www/html

输入与输出过滤(防SQL注入、XSS)

  • 使用WAF(如ModSecurity)或云WAF
  • 代码层:使用预编译语句(PreparedStatement)、对用户输入进行HTML实体编码。

针对数据库(MySQL / MariaDB)的加固

  1. 运行安全初始化脚本

    mysql_secure_installation

    它会引导你设置root密码、删除匿名账户、禁止root远程登录、删除测试数据库。

  2. 绑定地址到本地(数据库与应用同机时):

    # 修改 /etc/my.cnf
    [mysqld]
    bind-address = 127.0.0.1
    skip-networking  # 极端安全时使用,禁止TCP连接
  3. 最小化权限

    -- 绝不给予 super, process, file 权限给非管理账户
    GRANT SELECT, INSERT, UPDATE ON mydb.* TO 'appuser'@'localhost';
  4. 数据加密

    • 开启SSL/TLS连接。
    • 对敏感字段(如身份证、密码)使用 AES_ENCRYPT 或哈希加盐存储。

网络与端点安全(辅助加固)

  1. 部署堡垒机:所有运维操作通过堡垒机审计。
  2. 主机入侵检测:安装 Fail2ban(封禁暴力破解IP)或 Ossec / Wazuh
    # Fail2ban 示例
    yum install fail2ban
    vim /etc/fail2ban/jail.local
    [sshd]
    enabled = true
    bantime  = 1h
    maxretry = 3
    systemctl start fail2ban
  3. 系统日志审计
    # 配置 rsyslog 发送到远程日志服务器
    vim /etc/rsyslog.conf
    *.* @remote-log-server:514
    systemctl restart rsyslog

最佳实践清单(Checklist)

类别 检查项 状态
身份与访问 禁用root密码登录
启用sudo日志
修改默认SSH端口
系统安全 内核参数加固
最小化安装软件包
关闭非必要服务
网络安全 防火墙默认拒绝入站
限制出站规则
启用SELinux/AppArmor
应用安全 隐藏指纹信息
添加安全响应头
文件上传目录禁止执行脚本
数据安全 数据库仅监听本地
敏感数据加密存储
定期备份并异地容灾

重要提示

  1. 先备份:在进行任何加固操作前,建议先备份配置文件或做快照。
  2. 分步进行:不要一次性操作所有步骤,修改SSH端口时,先保持旧端口开放,新端口测试成功后再关闭旧端口,以免被锁在服务器外。
  3. 环境差异:开发、测试、生产环境的加固策略可以不同,生产环境建议严格遵循合规标准(如等保二级/三级、PCI-DSS等)。
  4. 自动化工具
    • OpenSCAP:用于Linux系统的合规性扫描。
    • Lynis:开源安全审计工具,可以自动生成加固建议。
    • CIS-CAT:CIS官方提供的基线检查工具。

如果你能提供更具体的环境信息(Windows Server 2019、某款Web框架、云平台如阿里云/AWS),我可以给出更有针对性的操作步骤。

抱歉,评论功能暂时关闭!