前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LNMP安装以及设置防CC 防火墙

LNMP安装以及设置防CC 防火墙

作者头像
残浔
发布2023-05-11 19:47:58
5970
发布2023-05-11 19:47:58
举报
文章被收录于专栏:UQUQUQUQ

我这里用的是军哥的脚本 https://lnmp.org/

环境是Centos7.9

下载安装

代码语言:javascript
复制
cd ~
wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz -cO lnmp1.8.tar.gz && tar zxf lnmp1.8.tar.gz && cd lnmp1.8

因为需要用到 lua 模块,所以

代码语言:javascript
复制
vi lnmp.conf

将 Enable_Nginx_Lua 的值改为 y 按i进入编辑 改完按ESC 输入:wq回车保存

安装nginx mysql phpmyadmin php

代码语言:javascript
复制
./install.sh lnmp

数据库版本

设置数据库密码

询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y ,如果确定确实不需要该引擎可以输入 n,(MySQL 5.7+版本无法关闭InnoDB),输入完成,回车进入下一步。

选择PHP版本

选择是否安装内存优化:可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为默认为不安装。

回车安装

添加网站 以及伪静态SSL设置 PHP扩展安装 请转至官方教程

添加、删除虚拟主机及伪静态管理 https://lnmp.org/faq/lnmp-vhost-add-howto.html

eAccelerator、xcache、memcached、imageMagick、ionCube、redis、opcache的安装 https://lnmp.org/faq/addons.html

LNMP相关软件目录及文件位置 https://lnmp.org/faq/lnmp-software-list.html

LNMP状态管理命令 https://lnmp.org/faq/lnmp-status-manager.html

下载安装 ngx_lua_waf

代码语言:javascript
复制
wget https://github.com/loveshell/ngx_lua_waf/archive/master.zip -O ngx_lua_waf.zip
unzip ngx_lua_waf.zip
mv ngx_lua_waf-master /usr/local/nginx/conf/waf

nginx.conf 的 http 段添加 ngx_lua_waf 配置

代码语言:javascript
复制
vi /usr/local/nginx/conf/nginx.conf

按i进入编辑 改完按ESC 输入:wq回车保存

代码语言:javascript
复制
lua_package_path "/usr/local/nginx/conf/waf/?.lua";
lua_shared_dict limit 10m;
init_by_lua_file  /usr/local/nginx/conf/waf/init.lua; 
access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;

开启防 CC 功能

代码语言:javascript
复制
vi /usr/local/nginx/conf/waf/config.lua

将 CCDeny 的值改为 on 按i进入编辑 改完按ESC 输入:wq回车保存

重启 nginx

代码语言:javascript
复制
lnmp restart nginx

配置文件详细说明

代码语言:javascript
复制
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
--规则存放目录
attacklog = "off"
--是否开启攻击信息记录,需要配置logdir
logdir = "/usr/local/nginx/logs/hack/"
--log存储目录,该目录需要用户自己新建,切需要nginx用户的可写权限
UrlDeny="on"
--是否拦截url访问
Redirect="on"
--是否拦截后重定向
CookieMatch = "on"
--是否拦截cookie攻击
postMatch = "on" 
--是否拦截post攻击
whiteModule = "on" 
--是否开启URL白名单
black_fileExt={"php","jsp"}
--填写不允许上传文件后缀类型
ipWhitelist={"127.0.0.1"}
--ip白名单,多个ip用逗号分隔
ipBlocklist={"1.0.0.1"}
--ip黑名单,多个ip用逗号分隔
CCDeny="on"
--是否开启拦截cc攻击(需要nginx.conf的http段增加lua_shared_dict limit 10m;)
CCrate = "100/60"
--设置cc攻击频率,单位为秒.
--默认1分钟同一个IP只能请求同一个地址100次
html=[[Please go away~~]]
--警告内容,可在中括号内自定义

注意

  1. 每次修改完 lua 文件后需要重启 nginx 才行
  2. 这个防 cc 功能是 同一个ip 60秒内访问 同一个链接 超过 100 次才会触发。如果想限制同一个 ip 的访问次数(反爬),则需要自行修改 init.lua 文件的 denycc 函数。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022年5月12日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 我这里用的是军哥的脚本 https://lnmp.org/
  • 下载安装
  • 因为需要用到 lua 模块,所以
  • 安装nginx mysql phpmyadmin php
  • 添加网站 以及伪静态SSL设置 PHP扩展安装 请转至官方教程
  • 下载安装 ngx_lua_waf
    • 开启防 CC 功能
      • 配置文件详细说明
        • 注意
        相关产品与服务
        数据库
        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档