Apache2 : Blokování „nebezpečných“ souborů

  Článek jsem zveřejnil 26.11.2020 a zařadil ho do kategorie:  Linux / Server.
Počet shlédnutí: 896

V kořenovém adresáři webového serveru se nám mohou objevit nejrůznější nebezpečné soubory, některé z nich jsou pouze potenciálně nebezpečné, u některých může jít ovšem skutečně o nervy, v tom horším případě o život. Dám příklad, pokud někdo sem tam používá editor (skrze terminál) ke změně souboru například souboru .php, je možné, že bude editorem vytvořen záložní soubor pro tento skript (v kořenovém adresáři) s názvem  soubor.php ~ , a protože se nejedná o skutečný soubor php, nebude při jeho spuštění interpretováno php, zdrojový kód vašeho php skriptu je od tohoto okamžiku veřejně viditelný. Tím můžete například otevřít potencionálním škůdcům vrátka i ke svým sql databázím*. ( * je-li aplikace hodně špatně napsaná/strukturovaná)

V zájmu ochrany před celou řadou podobných útoků je rozumným opatrením blokování přístupu k určitým souborů. Do souboru .htaccess nebo do hlavního konfiguračního souboru Apache (doporučuji tento postup) lze přidat následující: 

<FilesMatch "(^\.htaccess|\.sql$|\.svn$|\.git$|\.DS_Store|.*~$|\.old$|\.bak$)" >
  Order allow,deny
  Deny from all
</FilesMatch>

Obsahem „FilesMatch“ je seznam alternativ regulárních výrazů (seskupených a oddělených „|“ = standardní syntaxe). 

Pro vysvětlení  -

„\ .Htaccess“ (soubory obsahující řetězec „.htaccess“) - blokuje přístup k souboru voleb Apache.
„\ .Sql $“ (soubory končící na „.sql“) - blokuje přístup k souborům SQL.
„\ .Git $“ (soubory končící na „.git“) - blokuje přístup k  repozitářům git, které jsou obsaženy v adresářích pojmenovaných „.git“.
„\ .Svn $“ (soubory končící na „.svn“) - blokuje přístup k úložištím svn, jak je uvedeno výše.
„\ .DS_Store“ (soubory obsahující řetězec „.DS_Store“) - blokuje přístup k „trusu“ OSX, který zůstal v adresářích.
„. * ~ $“ (Soubory končící na „~“) - blokuje přístup k  zálohám editoru stylu emacs .
„. * Old $“ (soubory končící na „old“) - blokuje přístup k typickému záložnímu souboru.
„. * Bak $“ (soubory končící na „bak“) - blokuje přístup k  zálohám editoru stylu vim .

Konfiguraci lze přidat do libovolného konfiguračního souboru Apache v globálním kontextu... 

Doporučuji místa:

Pro distribuce odvozené z Ubuntu / Debian:  /etc/apache2/apache2.conf (na konci souboru).
Pro servery založené na SLES  /etc/apache2/conf.d/local.conf

Po provedení změny zkontrolujte konfiguraci pomocí příkazu 

apachectl configtest

 Za předpokladu, neobjeví-li se žádná chyba, restartujte v poklidu Apache.


Pro distribuce odvozené z Ubuntu / Debian

sudo service apache2 restart

Distribuce založené na SLES

systemctl reload apache2

HOTOVO! 

  • Facebook
  • Twitter
  • LinkedIn
  • Email
Máte jiný názor? Potřebujete něco dovysvětlit? Napište..
Prosím zdržte se urážek, slovního napadání a dalších píčovin.
Vaše jméno

Váš e-mail

Váš komentář



Tento článek nikdo neokomentoval.