GNU/Linux >> Znalost Linux >  >> Ubuntu

Nasaďte 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ů.

Zde na LinuxAPT se podíváme na to, jak nainstalovat ModSecurity firewall s předinstalovaným Nginx na serveru Ubuntu 20.04.


Kroky k nasazení Modsecurity s Nginx na Ubuntu 20

1. Nainstalujte Nginx do systému

Pokud nemáte na svém serveru nainstalovaný Nginx, postupujte podle tohoto průvodce, abyste splnili požadavek na instalaci Modsecurity:https://linuxapt.com/blog/1276-install-nginx-on-ubuntu-20-04-lts-using- zdrojový kód


2. Nainstalujte libmodsecurity3

Nyní 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/


3. 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/


4. 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


5. Nainstalujte moduly Git

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

$ git submodule init

Dále aktualizujeme submoduly:

$ git submodule update


6. 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:

fatal: No names found, cannot describe anything.


7. Zkompilujte zdrojový kód 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/.


8. Nainstalujte konektor modsecurity-nginx

Zde 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/


9. 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/


10. 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;


11. 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.


12. 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/


13. 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


14. Znovu načtěte Nginx

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

$ sudo systemctl restart nginx



Ubuntu
  1. Jak nainstalovat Nextcloud s Nginx na Ubuntu 18.04 LTS

  2. Jak nainstalovat Seafile s Nginx na Ubuntu 20.04 LTS

  3. Jak nasadit Modsecurity s Nginx na Ubuntu 20.04 LTS

  1. Jak nainstalovat Varnish Reverse Proxy s Nginx na Ubuntu 16.04 LTS

  2. Jak nainstalovat Seafile s Nginx na Ubuntu 18.04 LTS

  3. Jak nainstalovat OroCRM s Nginx na Ubuntu 16.04 LTS

  1. Jak nasadit Ghost Blog s Nginx na Ubuntu 18.04 LTS

  2. Jak nainstalovat Nginx s Brotli Compression na Ubuntu 18.04 LTS

  3. Jak nainstalovat GitBucket s Nginx na Ubuntu 18.04 LTS