Zabezpečení serveru s Apache a mod PHP

mitr

Zabezpečení serveru s Apache a mod PHP
« kdy: 01. 07. 2015, 23:29:49 »
Máte prosím někdo nějak sesumírované nebo odkaz na nějaký pěkný článek, který by měl sepsáno nejlepší nastavení co sy týká bezpečnosti více domén na jednom serveru?
Jde mi např o věci: určitě oddělit adresáře pro session, ideálně aby skript z jedné domény neměl ani přístup pro čtení do adresáře druhé domény, zároveň to nějak skloubit s FTP přístupy, možná k tomu i nějaké tipy pro DB MySQL.
Ideálně nějak sepsané co používají webhostingové společnosti, co je vyzkoušeno jako dobré nastavení atd :)
Zkloušel jsem něco takového hledat, ale nic obsáhlého a co by se mi zdálo OK jsem nenašel.
« Poslední změna: 02. 07. 2015, 08:13:37 od Petr Krčmář »


D.J.Bobo

Re:Zabezpečení serveru s Apache a mod PHP
« Odpověď #1 kdy: 02. 07. 2015, 09:08:54 »
Nevím, jakou očekáváš odpověď, tak snad toto ti pomůže:
Jako velcí hráči v oblasti webhostingu to asi nebude nikdy, ti si většinu uprvaví podel sebe, i když je základem pořád Linux/Apache/Php/MySQL.
Existují klikací aplikace pro administraci přes Web (Webmin a pro uživatele Usermin), ale ... vždy je nějaké Ale. (možná si další níže vzpomenou na další, mě to teď nějak vypadlo).
Jestli je to jen pár virtuálů, pak bych to asi neřešil ... povol si .htaccess, povol číst uživateli Apache a modify pouze root, v listingu zakaž vše začínající tečkou, pro uživatele a FTP použij třeba ProFTP (podobné nastavení jako Apache, akceptuje .ftpaccess, lze pomocí direktiv zneviditelnit složky, kam uživatel přes své FTP nemá přístup, nastavit R/RW ... a další).
U MySQL asi nejlepší phpMyAdmin (nezapomeň na SSL a smazat po instalaci adresář setup), uživatel má založenou databázi, k ní má plný přístup a k serveru pouze právo Connect.

Pokud ti to někdo bude chtít vážně shodit, a bude to umět, povede se mu to. Obecně toto je kompromis mezi bezpečností a použitelností.
Jo a samozřejmě zálohování (kdyby se fakt něco stalo) - nejjednodušší automysqlbackup pro SQL a rsync pro vše ostatní, včetně těch záloh SQL - sypat to někam ideálně mimo server.

René Kliment

Re:Zabezpečení serveru s Apache a mod PHP
« Odpověď #2 kdy: 02. 07. 2015, 09:38:14 »
Jak říká kolega, nejjednodušší je využít klikací integrované systémy.

Pokud to chceš dělat sám, doporučím ti, abys nepoužíval mod_php - použij místo toho php-fpm. To ti umožní spouštět php pro každou doménu pod jiným (a třeba stejným jako na ftp) uživatelem, nemusíš kvůli aktualizaci php restartovat apache, snadno můžeš pro každou doménu nastavit zvlášť php.ini a celkově nastavit limity, apache nemusí s každým požadavkem na statickej soubor loadovat php modul a další výhody :)

A místo ftp bych doporučil sftp (chrootlé samozřejmě), pokud není ftp vyloženě požadováno, ale chceš jen něco na přenos souborů.

Filip Jirsák nepřihlášený

Re:Zabezpečení serveru s Apache a mod PHP
« Odpověď #3 kdy: 02. 07. 2015, 09:55:19 »
Kdyby existovalo nějaké univerzální bezpečné nastavení vhodné pro všechny, bylo by použité jako výchozí nastavení. Nedává žádný smysl, aby bylo výchozí nastavení nějaké a pak si to všichni podle nějakého článku měnili.

Dobré webhostingové společnosti používají to, že zaměstnávají lidi, kteří tomu rozumí, a díky tomu dokážou systém nakonfigurovat tak, aby zákazníkům nabízel určené služby, a zároveň byl pokud možno bezpečný. Pokud někdo něco jen opíše z nějakého návodu, je vysoce pravděpodobné, že to bezpečné nebude.

Re:Zabezpečení serveru s Apache a mod PHP
« Odpověď #4 kdy: 07. 07. 2015, 08:12:21 »
jako hosting control panel bych bral jedine ispconfig, dal je moznosti tuna
* apache2, mpm-itk, mod-php - kazdy web bezi pod vlastnim userem
* apache2, fastcgi + php5-fpm - to stejne, kazdy user ma vlastniho usera a socket apod.
* nginx, php5-fpm
Pred kazdou variantu se da klidne pouzit napred varnish atd.

na aplikace derave jak cednik (outdated joomla, spatne napsane pluginy apod.) stejne nic moc nepomuze, v lepsim pripade infikovany web zacne rozesilat spamy


Tom Liberec

Re:Zabezpečení serveru s Apache a mod PHP
« Odpověď #5 kdy: 10. 07. 2015, 02:05:48 »
Nainstalovat ISP Config 3  případne jiný podobný systém např. Plesk. Fail2ban s výpisy na email.

Re:Zabezpečení serveru s Apache a mod PHP
« Odpověď #6 kdy: 16. 07. 2015, 08:53:17 »
ten fail2ban s vypisy na email sem jednou zkusil a nedelal sem nic jineho nez daval "Oznacit vse jako prectene" kazdych 10 minut a to byl jenom 1 server - číňani a jejich boti nemají nic lepšího na práci než se zkoušet nabourat do čehokoli kdekoli
pohodlnejsi je nastavit v tom banovani -1 coz je permanent ban v iptables (nebo treba 24 hodin)

mitr

Re:Zabezpečení serveru s Apache a mod PHP
« Odpověď #7 kdy: 21. 08. 2015, 12:37:31 »
Díky za reakce.

Zkouším si to po chvilkách na novém virtuálníms erveru nastavit, rád bych co nejbezpečnější variantu:
apache2, fastcgi + php5-fpm

Ale pořád se nedaří, dostal jsem se do varianty kdyz mi apache vracel akorát php zdrojáky.
Na virtuálu mám Gentoo. Nenašel jsem právě nějaký podrobný návod s vysvětlením jak to vše vlastně funguje.

Pokud to nepůjde, zkusím asi variantu nginx + php5-fpm.
NEvím jak je to v nginxu s virtualhostem, podporad .htaccess souboru atd.




mitr

Re:Zabezpečení serveru s Apache a mod PHP
« Odpověď #8 kdy: 21. 08. 2015, 12:41:51 »
Máte někdo prosím ještě tipy jak to udělat rozmístěním adresářů.
Myslím teď pro různé weby. Ideálně aby asi každý web měl svůj tmp, svoje logy, např nějak takto:

.../www/web1/logs
.../www/web1/tmp
.../www/web1/htdocs/www  -> www.domena.cz + domena.cz
.../www/web1/htdocs/test   -> test.domena.cz

Re:Zabezpečení serveru s Apache a mod PHP
« Odpověď #9 kdy: 21. 08. 2015, 19:22:08 »
Díky za reakce.

Zkouším si to po chvilkách na novém virtuálníms erveru nastavit, rád bych co nejbezpečnější variantu:
apache2, fastcgi + php5-fpm

Ale pořád se nedaří, dostal jsem se do varianty kdyz mi apache vracel akorát php zdrojáky.
Na virtuálu mám Gentoo. Nenašel jsem právě nějaký podrobný návod s vysvětlením jak to vše vlastně funguje.

Pokud to nepůjde, zkusím asi variantu nginx + php5-fpm.
NEvím jak je to v nginxu s virtualhostem, podporad .htaccess souboru atd.

vhosty tam jsou, akorát se píší jinak
htaccess je horší, existují konvertory pro nginx (utfg)

Wololo

Re:Zabezpečení serveru s Apache a mod PHP
« Odpověď #10 kdy: 03. 10. 2015, 18:55:42 »
mitr, reknu ti to jednoduse

adduser mujnovyweb.cz
chroot /home/mujnovyweb.cz
strukturu muzes linkovat na co potreba, vsechno se bude tvarit jako "samostatny server"

http://en.tldp.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/chap29sec254.html
http://www.linux-faqs.info/apache/running-apache-in-chroot-jail
https://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-apache-env.en.html

nemel by bejt pak problem udelat transparentni proxy a nasmerovat to na sockety.

Jeste muzes kouknout na tohle:

https://github.com/phpenv/phpenv
https://github.com/virtphp/virtphp

Boban

Re:Zabezpečení serveru s Apache a mod PHP
« Odpověď #11 kdy: 08. 10. 2015, 16:53:03 »
Nainstalovat ISP Config 3  případne jiný podobný systém např. Plesk. Fail2ban s výpisy na email.
ISPConfig můžu doporučit, veškerou konfiguraci uživatelů, virtuálů a Apache nebo Nginx a PHP pak vygeneruje sám.

PHP buď přes FPM(žere víc ram) nebo FastCGI - srovnání najdeš spoustu, např. https://www.chriswiegman.com/2011/10/fastcgi-vs-suphp-vs-cgi-vs-mod_php-dso/