GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nasadit Modsecurity s Nginx na Ubuntu 20.04 LTS

ModSecurity je bezplatná brána firewall webových aplikací s otevřeným zdrojovým kódem podporovaná různými webovými servery, jako jsou Apache, IIS a Nginx. Je nasazen jako externí bezpečnostní vrstva k ochraně webových serverů.

V tomto tutoriálu se naučíte, jak nainstalovat bránu firewall ModSecurity s předinstalovaným Nginx. K demonstraci procesu jsme použili server Ubuntu 20.04.

Předpoklady

Server Ubuntu 20.04 LTS

Nginx nainstalovaný na serveru Ubuntu

Průvodce instalací

Pokud na svém serveru nemáte nainstalovaný Nginx, postupujte podle tohoto průvodce, abyste splnili požadavek na instalaci Modsecurity:

https://linuxways.net/ubuntu/how-to-install-nginx-on-ubuntu-20-04-lts-using-source-code/

Nyní, když jste nainstalovali Nginx, začněme s instalací ModSecurity.

Krok 1:Nainstalujte libmodsecurity3

Nejprve nainstalujte git na svůj počítač, abyste mohli naklonovat úložiště git ModSecurity. Můžeme to udělat spuštěním tohoto příkazu:

sudo apt install git -y

Nyní, když je git nainstalován, naklonujte úložiště spuštěním tohoto příkazu:

git clone --depth 1 -b v3/master --single-branch https://github.com/SpiderLabs/ModSecurity /usr/local/src/ModSecurity/

Krok 2:Přejděte do adresáře Modsecurity

Nyní, když jste naklonovali repozitář modsecurity git, přejděte do adresáře modsecurity podle cesty níže:

cd /usr/local/src/ModSecurity/

Krok 3:Nainstalujte závislosti libmodsecurity3

Nyní, když jsme v adresáři Modsecurity, nainstalujeme v tomto kroku závislosti libmodsecurity3. Spusťte tento příkaz:

sudo apt install gcc make build-essential autoconf automake libtool libcurl4-openssl-dev liblua5.3-dev libfuzzy-dev ssdeep gettext pkg-config libpcre3 libpcre3-dev libxml2 libxml2-dev libcurl4 libgeoip-dev libyajl-dev doxygen -y

Krok 4:Instalace modulů Git

Nyní nainstalujte submoduly git pomocí tohoto příkazu:

git submodule init

Dále aktualizujeme submoduly:

git submodule update

Krok 5:Vytvořte prostředí modsecurity

Je čas vybudovat prostředí modsecurity. Chcete-li to provést, spusťte následující příkaz:

./build.sh

Nyní nakonfigurujte pomocí tohoto příkazu:

./configure

Poté se zobrazí tato chyba:

Je v pořádku to ignorovat a jít dál.

Krok 6:Kompilace zdrojového kódu modsecurity

Nyní zkompilujeme prostředí pro libmodsecurity3 pomocí tohoto příkazu:

make

Pokud chcete zvýšit rychlost kompilace, můžete zadat -j . Mám 4 CPU a všechny 4 použiji ke kompilaci, jak je uvedeno níže:

make -j 4

Dále spustíme instalační příkaz:

sudo make install

Instalace se provádí v /usr/local/modsecurity/ .

Step 7: Install modsecurity-nginx connector

V tomto kroku nainstalujeme konektor Modsecurity-nginx. Je to spojovací a komunikační bod mezi Nginx a ModSecurity.

Nejprve musíme naklonovat úložiště konektorů. Udělejte to spuštěním tohoto příkazu:

sudo git clone --depth 1 https://github.com/SpiderLabs/ModSecurity-nginx.git
/usr/local/src/ModSecurity-nginx/

Krok 8:Nainstalujte závislosti modsecurity-nginx

Nejprve přejděte do zdrojového adresáře Nginx takto:

cd /usr/local/src/nginx/nginx-1.21.1

Ujistěte se, že jste nahradili verzi Nginx v příkazu svou aktuální verzí Nginx, jinak se zobrazí chyba.

Chcete-li nainstalovat potřebné závislosti, spusťte tento příkaz:

sudo apt build-dep nginx && sudo apt install uuid-dev -y

Dále zkompilujeme modul konektoru Modsecurity-nginx s příznakem –with-compat spuštěním tohoto příkazu:

sudo ./configure --with-compat --add-dynamic-module=/usr/local/src/ModSecurity-nginx

Nyní spusťte tento příkaz k vytvoření dynamických modulů:

sudo make modules

Nyní zkopírujte dynamický modul, který jste právě vytvořili v objs/ngx_http_modsecurity_module.so do /usr/share/nginx/modules pomocí tohoto příkazu:

sudo cp objs/ngx_http_modsecurity_module.so /usr/share/nginx/modules/

Krok 9:Povolte Modsecurity v konfiguračním souboru Nginx

Chcete-li povolit Modsecurity v Nginx, musíte nejprve v konfiguraci zadat načítací modul a cestu k vašemu modulu modsecurity.

Otevřete konfigurační soubor Nginx pomocí editoru nano takto:

sudo nano /etc/nginx/nginx.conf

V souboru přidejte tento řádek nahoru:

load_module modules/ngx_http_modsecurity_module.so;

V části HTTP {} přidejte následující řádky kódu:

modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/modsec-config.conf;

Krok 10:Nakonfigurujte adresář a soubory pro modsecurity

Vytvořte adresář s názvem modsec. Cesta k adresáři je uvedena v příkazu:

sudo mkdir /etc/nginx/modsec/

Tento adresář budete v budoucnu potřebovat pro ukládání konfiguračních souborů a pravidel.

Nyní zkopírujte ukázkový konfigurační soubor Modsecurity z klonovaného adresáře git pomocí tohoto příkazu:

sudo cp /usr/local/src/ModSecurity/modsecurity.conf-recommended /etc/nginx/modsec/modsecurity.conf

Nyní otevřete konfigurační soubor modsecurity:

sudo nano /etc/nginx/modsec/modsecurity.conf

Najděte direktivu SecRuleEngine v souboru na řádku 7 a změňte ji na DetectionOnly takto:

secruleEngine DetectionOnly

Chcete-li povolit Modsecurity, změňte následující direktivu na On takto:

secRuleEngine on

Nyní vyhledejte následující direktivu na řádku 224:

secAuditLogParts ABIJDEFHZ

Změňte jej na:

secAuditLogParts ABCDEFHJKZ

Nyní vytvořte soubor modsec-config.conf. Zde přidáte modsecurity.conf a další pravidla pro modsecurity:

sudo nano /etc/nginx/modsec/modsec-config.conf

Do souboru, který jste právě vytvořili, přidejte tento řádek:

Include /etc/nginx/modsec/modsecurity.conf

Uložte soubor a ukončete.

Krok 11:Zkopírujte soubor unicode.mapping

Nakonec zkopírujte soubor unicode.mapping modulu Modsecurity takto:

sudo cp /usr/local/src/ModSecurity/unicode.mapping /etc/nginx/modsec/

Krok 12:Zkontrolujte konfiguraci Nginx

Před restartováním Nginx zkontrolujte, zda je konfigurace v pořádku spuštěním tohoto příkazu:

sudo nginx -t

Pokud získáte následující výstup, můžete začít:

Krok 13:Znovu načtěte Nginx

Nyní restartujte Nginx pomocí tohoto příkazu:

sudo systemctl restart nginx

V této příručce jsme viděli, jak můžeme nainstalovat Modsecurity na server ubuntu, který již má předinstalovaný Nginx. Také jsme viděli, jak nakonfigurovat ModSecurity a Nginx, aby je propojily pomocí několika snadno pochopitelných příkazů.


Ubuntu
  1. Jak nainstalovat Seafile s Nginx na Ubuntu 20.04 LTS

  2. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  3. Nasaďte Modsecurity s Nginx na Ubuntu 20.04 LTS

  1. Jak nainstalovat Seafile s Nginx na Ubuntu 18.04 LTS

  2. Jak nainstalovat Magento s Nginx na Ubuntu 15.10

  3. Jak nainstalovat Mailpile s Nginx na Ubuntu 15.10

  1. Jak nainstalovat Redmine 3 s Nginx na Ubuntu 15.10

  2. Jak nainstalovat Piwik s Nginx na Ubuntu 15.10

  3. Jak nainstalovat Redmine 3.2 s Nginx na Ubuntu 16.04