Chci doma hostit malý web a nainstaloval jsem si Apache atd.:
sudo apt-get update
sudo apt-get install tasksel
sudo tasksel install lamp-server
To vše fungovalo a vše funguje.
Nyní jsem zvyklý pracovat na vývoji s XAMPP a nechtěl jsem to používat naživo, protože mnoho referencí říkalo, že to není příliš bezpečné.
Moje otázka tedy zní, nyní, když mám Apache/PHP &MySql nainstalované výše uvedenou metodou; jaká je výchozí úroveň zabezpečení?
Existují způsoby, jak zajistit větší zabezpečení a případně kontrolní seznam nebo přehled všech změn, které lze doporučit?
Upřesnění:server LAMP by byl živý web, nikoli web ve vývoji.
Přijatá odpověď:
Provozuji své vlastní servery LAMP na Ubuntu připojené k internetu, takže se vždy řídím stejnými pokyny. Obvykle zkontroluji následující :
- V Apache odstraňte dokumentaci nebo ji alespoň nepředkládejte na webový server (odstraněním odkazu
/etc/apache2/conf-enabled/apache2-doc.conf
) - V Apache se ujistěte, že nejsou načteny nepotřebné moduly. U Ubuntu se to dělá odstraněním odkazů v
/etc/apache2/mods-enabled
. Každý odkaz ukazuje na soubor v/etc/apache2/mods-available
adresář, který načítá a konfiguruje modul najednou. - Mohli byste si prohlédnout a povolit
/etc/apache2/conf-available/security.conf
. Navrhují některé bezpečnostní tipy, které nejsou ve výchozím nastavení aktivovány: - Odepření přístupu k celému souborovému systému kromě adresářů, které byste výslovně povolili později
- úprava banneru serveru tak, aby poskytoval co nejméně informací o spuštěném softwaru.
- V PHP zkontrolujte, zda v případě chyby netisknete na obrazovku příliš mnoho informací o protokolování (parametry v části Ošetření a protokolování chyb z
/etc/php4/apache2/php.ini
soubor. Komentáře v souboru poskytují mnoho informací o tom, co je lepší udělat) -
Není třeba vystavovat svůj MySQL server internetu. Ve výchozím nastavení v Ubuntu server Mysql naslouchá pouze na localhost. Zkontrolujte
/etc/mysql/my.cnf
v sekci mysqld pro parametr bind-address . Mělo by to být na 127.0.0.1 :bind-address =127.0.0.1
-
Neinstalujte na tento server více služeb, než kolik potřebujete.
- Nezapomeňte použít aktualizaci, až dorazí.
- Nespoléhejte se pouze na konfiguraci serveru LAMP, nezapomeňte, že také musíte spustit aplikaci PHP, která může představovat bezpečnostní hrozby (ověření vstupu a všechny tyto věci, abyste se vyhnuli zadávání SQL dotazu do vstupu pole pro získání více informací z DB, které byste sami poskytli, …)
To jsou první věci, které mám na mysli. Podrobnější návody a návody samozřejmě najdete na internetu:
- Zabezpečení v Mysql 5.5
- Bezpečnostní zohlednění v PHP
- Bezpečnostní tipy pro Apache 2.4