阅读视图

发现新文章,点击刷新页面。

NEW Nginx 对于 WordPress 的安全配置优化与设置 加强保护WordPress系统文件

辰安博客自用的一个用于保保护系统文件的Nginx配置片段。该配置主要用于保护WordPress网站的系统文件和目录,防止未经授权的访问和潜在的安全威胁

c8a86530f811aec8cc85050fa397cd29

# 禁止访问 WordPress 安装脚本,并记录日志
location = /wp-admin/install.php {
    deny all;
    access_log /var/log/nginx/deny.log;
}

# 禁止访问 Nginx 配置文件
location = /nginx.conf {
    deny all;
}

# 禁止访问用户扩展目录
location ~ ^/user_extention/ {
    deny all;
}

# 禁止访问 .htaccess 文件
location ~ /\.htaccess$ {
    deny all;
}

# 禁止访问 WordPress readme 文件
location ~ /readme\.(html|txt)$ {
    deny all;
}

# 禁止访问 WordPress 配置文件
location ~ ^/wp-config.php$ {
    deny all;
}

# 禁止访问 WordPress admin 和 includes 目录中的 PHP 文件
location ~ ^/wp-admin/includes/ {
    deny all;
}

location ~ ^/wp-includes/[^/]+\.php$ {
    deny all;
}

# 禁止访问 .git 和 .svn 目录
location ~ ^.*/\.git/.*$ {
    deny all;
}

location ~ ^.*/\.svn/.*$ {
    deny all;
}

# 禁用 Uploads 目录的 PHP 文件
location ~ ^/wp\-content/uploads/.*\.(?:php[1-7]?|pht|phtml?|phps)$ {
    deny all;
}

# 禁用 Plugins 目录的 PHP 文件
location ~ ^/wp\-content/plugins/.*\.(?:php[1-7]?|pht|phtml?|phps)$ {
    deny all;
}

# 禁用 Themes 目录的 PHP 文件
location ~ ^/wp\-content/themes/.*\.(?:php[1-7]?|pht|phtml?|phps)$ {
    deny all;
}

# 禁用一些文件扩展名,并返回404
location ~ .*\.(ini|zip|7z|rar|tar|gz|sql|conf|bak|asp|aspx|jsp)?$ {
    return 404;
}

# 添加安全头
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
add_header X-XSS-Protection "1; mode=block";
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https:; style-src 'self' 'unsafe-inline' https:; img-src 'self' data: https:;";
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
add_header Referrer-Policy "no-referrer-when-downgrade";

# 限制上传文件大小
client_max_body_size 2M;

# 速率限制配置,防止暴力攻击
limit_req_zone $binary_remote_addr zone=login_zone:10m rate=1r/s;

location = /wp-login.php {
    limit_req zone=login_zone burst=5 nodelay;
}

# 示例访问控制
# location /wp-admin/ {
#     allow 192.168.1.0/24;
#     deny all;
# }

The post <span class="zyx-badge-text jb-red">NEW</span> Nginx 对于 WordPress 的安全配置优化与设置 加强保护WordPress系统文件 appeared first on 辰安博客.

Nginx 可视化编辑工具 Nginx UI 安装和使用

1 前言

Nginx 是一款高性能的 HTTP 和反向代理服务器,已在众多企业和开发者中得到广泛应用。其强大的性能、灵活的配置以及出色的稳定性,使得 Nginx 成为了处理高并发网络请求的首选方案。然而,Nginx 的配置文件通常较为复杂,涉及大量的指令和参数设置,这给不少初学者和管理员带来了不小的挑战。

在这样的背景下,可视化编辑工具应运而生,它们旨在简化 Nginx 的配置过程,提高管理效率。其中,Nginx UI 作为一款革命性的可视化编辑工具,凭借其直观的操作界面和强大的功能,正逐渐改变着人们对 Nginx 管理的认知。它的出现不仅降低了 Nginx 配置的门槛,使得更多非专业人员能够轻松上手,还大大提高了配置的准确性和效率。通过直观的图形化界面,用户可以清晰地看到各项配置的效果,减少了因误操作导致的问题。同时,Nginx UI 还提供了丰富的管理功能,如服务器状态监控、SSL证书管理等,进一步提升了 Nginx 的管理体验。

2 安装

Nginx UI 拥有多种安装方式,官方推荐使用适用于 Linux 系统下的 shell 安装脚本,除此之外,还可以使用 Docker 安装或者更为便捷的 1Panel 面板一键安装。本文将使用安装脚本的方式进行演示,需要注意的是,使用 Docker 安装将难以管理主机上的 Nginx。

使用官方提供的 shell 脚本命令进行快速下载及安装。

1
bash <(curl -L -s https://mirror.ghproxy.com/https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) install -r https://mirror.ghproxy.com/

使用一键安装脚本默认设置的监听端口为 9000,HTTP Challenge 端口默认为 9180。如果有端口冲突,需要手动修改 /usr/local/etc/nginx-ui/app.ini文件, 并使用 systemctl restart nginx-ui 重启 Nginx UI 服务。

使用 systemctl status nginx-ui 命令检查启动状态,出现 Active: active (running) 即为成功。

image-20241010120617401

在浏览器访问 IP:9000 进入 Nginx UI 安装页,可简单配置管理员邮箱、用户名、密码等。

image-20241010121804502

配置完成后使用设置好的用户名及密码进行登录,登录成功后进入到 Nginx UI 首页。

image-20241010125003102

Systemd 管理

  • 启动: systemctl start nginx-ui
  • 停止: systemctl stop nginx-ui
  • 重启: systemctl restart nginx-ui

3 使用

  • 多种语言支持及日夜主题切换

image-20241010130124602

  • 服务器仪表盘。支持查看内存与存储、CPU 状态、网络等基本信息。

image-20241010130240954

  • 管理站点、添加站点。使用简明的可视化页面和配置页面轻松管理和添加站点。

image-20241010130520848

  • 配置管理。将复杂的配置文件目录以清晰的结构展现,方便快速进行对 Nginx 配置文件的设置修改。

image-20241010130548175

  • 管理证书。通过配置 DNS 凭证可以快速申请及续签站点证书,降低了运维时间及成本。

image-20241010130755284

  • 管理多台服务器。在环境设置中,通过添加环境实现对多台服务器 Nginx 的配置。

image-20241010131042288

  • 多用户管理。可以添加用户来实现多人共同管理,提高了团队协作效率。

image-20241010131052624

4 写在最后

Nginx UI 作为一款强大的 Nginx 管理工具,在 Nginx 的运维领域已经取得了显著的成就,未来有望继续发展壮大,成为 Nginx 管理的标杆工具。无论是新手还是资深用户,都可以享受到 Nginx UI 在实践中为我们带来的惊喜和便利。

Nginx和CDN设置请求头防止被扫源

前言

虽然套用了CDN,并且设置了禁止Censys扫描源站IP,但是还会有不少扫描器一直扫描网站的源站IP,为了防止这一现象,我们可以使用Nginx和Cdn设置请求头。

教程

因为本人使用的是火毅盾CDN,所以用火毅盾来演示。

1.首先找到站点配置中的回源Header

图片[1]-新锐博客

2.设置Name值为lol,Value值为ez,操作为增加

3.宝塔面板中找到Nginx配置的location /  中,添加如下内容

        if ($http_lol != "ez") {
           return 404;       
}

结语

这样设置就能有效防止被扫描,赶快设置起来吧。

记一次nginx无法启动以及WordPress后台排版错误

前言

因为证书到期的缘故,所以想要重新申请一个证书,但是发现没有acme.sh,于是就按照教程去安装acme.sh,但是就报错了然后就没管它了,但是过了几分钟发现宝塔面板居然进不去了。然后就重启服务器了,重启发现nginx服务居然关闭了,而且怎么启动都启动不了。

然后我就觉得是acme.sh的问题,于是就重装了服务器,当然在这之前已经备份好了网站的数据,但是安装好后发现nginx还是启动不了,我就很纳闷了,于是就有了接下来的事情。

过程

首先,我先去百度搜索为何nginx会启动不了,给我的答案是端口可能被占用了。

1.我先去nginx配置里查看他所需要的端口,再用netstat -tuln 命令查询服务器占用的端口,发现端口并没有被占用。

2.然后就继续看教程。让我去nginx目录下创建一个temp文件夹,创建了还是没用。

3.让我查看最近安装的插件和操作,我这才想起来在安装过程中我还安装了nginx防火墙。于是我就将它卸载了最终nginx恢复了正常。

4.解决完后访问网站并且想写下这篇文章的时候发现WordPress的排版出了问题。

5.打开了开发者工具,看了网络状态并没有出现除了200状态码以外没有其他状态码。

6.于是就看了控制台,发现报错editor-power.min.js:4 Uncaught RangeError: Maximum call stack size exceeded 。

7.查询过后是因为浏览器缓存问题,于是清理了缓存终于正常。

结语

不知道是宝塔版本问题还是长久以来的问题,免费的nginx防火墙,网站监控报表和nginx冲突。只需要卸载免费防火墙就行了。

 

 

❌