编译安装nginx+Modesecurity以支持TLSv1.3

本文介绍了如何在服务器上编译安装nginx并集成Modsecurity以支持TLSv1.3,包括openssl的配置、Modsecurity库的编译、Nginx的编译参数设置以及配置文件的修改,确保服务器安全性和兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0x01 前言

最近利用awvs以及Wpscan对网站进行了漏洞扫描,扫出来一堆漏洞,然后就对服务器进行了一次大升级,才有了这篇文章

0x02 准备

因为我应用环境的需要,所以我需要下载以下源码:

 

  • lua-nginx-module:用于支持lua模块
  • nginx-ct:启用证书透明度
  • ModSecurity:用于编译ModSecurity
  • ModSecurity-nginx:用于连接ModSecurity与nignx

首先建立临时文件夹并下载相关文件:

#安装依赖
yum install -y libxml2 libxslt-devel gperftools pcre-devel libuuid-devel libxslt* libblkid-devel libudev-devel fuse-devel libedit-devel perl-ExtUtils-Embed at gcc-c++ python subversion gperf make rpm-build git curl bzip2-devel libcurl-devel gd gd-devel t1lib t1lib-devel libmcrypt libmcrypt-devel libtidy libtidy-devel GeoIP-devel libatomic_ops-devel zlib-devel unzip libstdc++* net-snmp net-snmp* gmp gmp-devel openldap openldap-devel libpcap-devel glib2-devel GeoIP-devel libxml2-devel redis vim wget git htop iftop libtool make automake mlocate pam-devel unzip gcc screen iptables-services bash-completion* pcre-devel libxslt* perl-ExtUtils-Embed at python subversion gperf make rpm-build git curl bzip2-devel libcurl-devel gd t1lib t1lib-devel libmcrypt libmcrypt-devel libtidy libtidy-devel GeoIP-devel zlib-devel unzip libstdc++* net-snmp net-snmp* gmp gmp-devel openldap openldap-devel net-tools luajit
#新建文件夹
[root@web-dev ~]# mkdir /opt/nginx
#进入文件夹
[root@web-dev ~]# cd /opt/nginx/
#下载ngx_http_headers_module
[root@web-dev nginx]# git clone https://github.com/openresty/headers-more-nginx-module.git
#下载lua-nginx-module
[root@web-dev nginx]# git clone https://github.com/openresty/lua-nginx-module.git
#下载nginx-ct
[root@web-dev nginx]# git clone https://github.com/grahamedgecombe/nginx-ct.git
#下载openssl
[root@web-dev nginx]# wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1c.tar.gz
#下载ModSecurity
[root@web-dev nginx]# git clone --depth 1 -b v3/master --single-branch https://github.com/SpiderLabs/ModSecurity
#下载ModSecurity-nginx
[root@web-dev nginx]# git clone --depth 1 https://github.com/SpiderLabs/ModSecurity-nginx.git
#下载nginx
[root@web-dev nginx]# wget https://nginx.org/download/nginx-1.18.0.tar.gz
#下载OWASP ModSecurity CRS
[root@web-dev nginx]# git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git

最后解压被压缩的软件:

#解压并删除nginx压缩包
[root@web-dev nginx]# tar zxvf nginx-1.18.0.tar.gz && rm -f nginx-1.18.0.tar.gz
 
#解压openssl压缩包
[root@web-dev nginx]# tar -xzf OpenSSL_1_1_1c.tar.gz && rm -f OpenSSL_1_1_1c.tar.gz

 

最终,该目录下会有这些文件夹:

[root@iztsvh228msdkjz nginx]# ll
total 32
drwxr-xr-x  6 root      root      4096 Sep 26 14:09 headers-more-nginx-module
drwxr-xr-x 11 root      root      4096 Sep 26 14:20 lua-nginx-module
drwxr-xr-x 13 root      root      4096 Sep 26 14:45 ModSecurity
drwxr-xr-x  6 root      root      4096 Sep 26 14:45 ModSecurity-nginx
drwxr-xr-x  8 wordpress wordpress 4096 Apr 21 22:09 nginx-1.18.0
drwxr-xr-x  3 root      root      4096 Sep 26 14:22 nginx-ct
drwxrwxr-x 18 root      root      4096 May 28  2019 openssl-OpenSSL_1_1_1c
drwxr-xr-x  8 root      root      4096 Sep 26 14:53 owasp-modsecurity-crs

 

0x03 编译安装

0x03.1配置安装openssl

#配置
cd openssl-OpenSSL_1_1_1c
./config --prefix=/usr
#编译&&安装
make && make install
ldconfig
#查看安装版本
openssl version

 0x03.2 Modsecurity Lib

先编译Modsecurity Lib,进入ModSecurity源码文件夹并运行以下命令:

#进入文件夹
[root@modsecurity openssl-OpenSSL_1_1_1c]# cd /opt/nginx/ModSecurity
 
#初始化submodule
[root@modsecurity ModSecurity]# git submodule init 
Submodule 'bindings/python' (https://github.com/SpiderLabs/ModSecurity-Python-bindings.git) registered for path 'bindings/python'
Submo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值