在Linux中对Nginx进行安全加固

news/2024/7/7 21:45:09 标签: 服务器, linux, 运维, nginx, 安全

准备工作

在IP为x.x.x.x的服务器上安装nginx,确保Linux系统为nginx环境。

检查nginx是否配置nginx账号锁定策略

配置nginx账号锁定策略,降低被攻击概率。

第一步,查看nginx的锁定状态

命令:passwd -S nginx

若结果出现“Password locked”,则说明锁定成功。

若结果没有出现“Password locked”,则说明没有锁定。

这时可以通过执行命令“passwd -l nginx”来进行锁定。

第二步,对nginx安全加固建议

1)nginx服务使用非root用户(如nginx,nobody)启动。

# 创建nginx运行使用的用户nginx

命令:useradd -s /sbin/nologin -M nginx

nginx服务的默认用户是nobody,为了安全更改为nginx,在配置文件中启用user nginx nginx;)

2)确保启动用户的状态为锁定状态,可执行命令“passwd -l <nginx启动用户>”(如passwd -l nginx)来锁定nginx服务的启动用户。

# 锁定nginx服务的启动用户

格式:passwd -l <nginx启动用户>

命令:passwd -l nginx

# 查看nginx的锁定状态

格式:passwd -S <nginx启动用户>

命令:passwd -S nginx

若结果出现“Password locked”,则说明锁定成功。

3)在配置文件nginx.conf中,把nginx启动用户修改为nginx或nobody。(如user nginx;)

注意:操作时建议做好记录或备份必须使用命令“service nginx reload”重启nginx

检查nginx服务启动账号

修改nginx服务启动账号,降低被攻击概率。

第一步,对nginx安全加固建议

在配置文件nginx.conf中,把nginx启动用户修改为nginx或nobody。(如user nginx;)

注意:操作时建议做好记录或备份必须使用命令“service nginx reload”重启nginx

nginx后端服务指定的Header隐藏状态

隐藏nginx后端服务指定Header(如X-Powered-By)。

第一步,对nginx安全加固建议

在配置文件nginx.conf(或主配置文件中的inlude文件)中,在http节点下配置proxy_hide_header项,增加或修改为

proxy_hide_header X-Powered-By;

proxy_hide_header Server;

注意:操作时建议做好记录或备份必须使用命令“service nginx reload”重启nginx

任意文件读取入侵防范

缺少斜杠可能导致目录穿越。

第一步,对nginx安全加固建议

在配置文件nginx.conf中,把“location /path”改为“location /path/”,以/结尾;把“root /;”改为“root /path/;”,以/结尾。

配置文件nginx.conf修改如下:

location /path/ {

     root /path/;

}

注意:操作时建议做好记录或备份必须使用命令“service nginx reload”重启nginx

针对Nginx SSL协议进行安全加固服务配置

Nginx SSL协议采用TLSv1.2的加密策略来进行安全加固。

第一步,对nginx安全加固建议

1)在配置文件nginx.conf(或主配置文件中的inlude文件)中,在server节点下配置ssl_protocols项,增加或修改为

server {

     ...

     ssl_protocols TLSv1.2;

     ...

}

注意:操作时建议做好记录或备份必须使用命令“service nginx reload”重启nginx

2)确认nginx是否支持OpenSSL。

命令:nginx -V

若结果显示“built with OpenSSL”,则说明nginx支持OpenSSL。

反之,则需要重新编译nginx


http://www.niftyadmin.cn/n/5361993.html

相关文章

CCF CSP 202312-2因子化简

题目描述 样例 输入 3 2155895064 3 2 2 10000000000 10 输出 2238728 1 10000000000 基本思路 首先&#xff0c;要找出构成n的所有素因子&#xff0c;这些因子满足两个条件&#xff1a;是素数&#xff08;函数判断&#xff09;&#xff0c;且能被n或n的中间值整除&#xf…

设计模式——2_1 命令(Command)

文章目录 定义图纸一个例子&#xff1a;空调和他的遥控器只有控制面板的空调遥控器可以撤销的操作 碎碎念命令和Runnable命令和事务 定义 把请求封装成一个对象&#xff0c;从而使你可以用不同的请求对客户进行参数化&#xff0c;对请求排队或记录请求日志&#xff0c;以及支持…

Vue-49、Vue技术实现动画效果

1、首先&#xff0c;在Vue项目中的src/components文件夹下创建一个名为AnimatedBox.vue的文件。 2、编辑AnimatedBox.vue文件&#xff0c;添加以下代码&#xff1a; <template><div class"animated-box" click"toggle"><transition name&q…

【定位·HTML】

定位布局可以分为以下四种&#xff1a; 静态定位&#xff08;inherit&#xff09; 相对定位&#xff08;relative&#xff09; 绝对定位&#xff08;absolute&#xff09; 固定定位&#xff08;fixed&#xff09; 一般的标签元素不加任何定位属性时&#xff0c;默认都属于静态…

HP数组面试题

PHP数组面试题 问题&#xff1a; 如何创建一个空数组和一个带有初始值的数组&#xff1f; 答案&#xff1a; 创建空数组&#xff1a;可以使用array()函数或空数组语法[]来创建一个空数组&#xff0c;例如$arr array();或$arr [];。创建带有初始值的数组&#xff1a;可以在创建…

LabVIEW CVT离合器性能测试

介绍了CVT&#xff08;连续变速器&#xff09;离合器的性能测试的一个应用。完成了一个基于LabVIEW软件平台开发的CVT离合器检测与控制系统&#xff0c;通过高效、准确的测试方法&#xff0c;确保离合器性能达到最优。 系统采用先进的硬件配合LabVIEW软件&#xff0c;实现了对…

游戏如何选择服务器

一个网络游戏要想长期运行下去&#xff0c;关键是用户体验&#xff0c;在初期阶段的游戏服务器租用环节就显得尤为重要。那么问题来了&#xff0c;游戏公司如何才能够在众多的服务器商中租用找到高性能、高性价比的游戏服务器租用呢&#xff1f;租用游戏服务器时需要考虑的因素…

十分钟掌握前端获取实时数据的三种主流方式

前端获取实时数据的三种主流方式 本文聊聊前端获取实时数据的三种主要方式。想象一下&#xff0c;我们在网上购物时&#xff0c;经常能看到最新的优惠信息弹出&#xff0c;或者在社交媒体上看到朋友的最新动态更新。这些都是因为后端在默默地向我们的页面推送了最新的消息。那…