Zabezpečení domácího webserveru pro přístup zvenčí

j0hny

Zdravím,

obracím se sem s dotazem, případně námětem k diskuzi na zabezpečení webserveru. Chtěl bych na domácím serveru zprovoznit ownCloud aplikaci (pro neznalé je to PHP aplikace implementující protokol WebDav). Server bych pak chtěl vystavit skrze port-forwarding přes router ven, abych se mohl připojovat z mobilu apod. Chtěl bych tento server dostatečně zabezpečit, aby nebyl napadnutelný, nebo se přes něj nedejbože někdo dostal do domácí sítě (na serveru mi běží OpenVPN vč. certifikační autority a všech certifikátů).

Bezpečnost není úplně můj obor a chtěl bych to udělat "nejlépe možně", abych se na tom i něco přiučil. Jakýkoliv komentář / rada / podnět velmi vítán.

Setup:

RaspberryPi model B
ArchLinux ARM
aktuální verze nginx
aktuální verze PHP
aktuální verze ownCloudu
databáze MySQL a PostgreSQL (ještě nevím kterou z nich konkrétně pro cloud použiji, ale na serveru běží obě. V budoucnu budu ale přesouvat kvůli výkonu na nějaký jiný server v domácí síti)

na serveru mimo uvedené běží ještě na portu 1194 přes UDP OpenVPN

Router je nějaký obyčejný TP-link za pár stovek, plánuji lepší, ale momentálně bohužel nejsou finance :-)

Předem díky za názory!


JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Zabezpečení domácího webserveru pro přístup zvenčí
« Odpověď #1 kdy: 06. 10. 2014, 16:26:06 »
...nebo se přes něj nedejbože někdo dostal do domácí sítě...

DMZ

j0hny

Re:Zabezpečení domácího webserveru pro přístup zvenčí
« Odpověď #2 kdy: 07. 10. 2014, 08:35:19 »
...nebo se přes něj nedejbože někdo dostal do domácí sítě...

DMZ

To už mě taky napadlo, nicméně bych kvůli tomu musel přidávat další stroj, abych oddělil DMZku od VPN a na to bohužel momentálně nemám prostředky. Chtěl bych to udělat na železe, které mám momentálně k dispozici.

Každopádně ale díky za odpověď ;-)

j

Re:Zabezpečení domácího webserveru pro přístup zvenčí
« Odpověď #3 kdy: 07. 10. 2014, 09:15:55 »
Dalsi HW na to fakt nepotrebujes (v zavislosti na shopnostech toho co mas). V idealnim pripade si tu kraku pripojis do vlanu. Jestli to umi ten tp-link ... spis ne. Pokud by umel, tak se z/do interni site dostanes vyhradne pres router = firewall. Ma to ovsem i sva negativa, ze to bude (specilene na krabce za par kil) vyrazne pomalejsi nez pres switch. Samo vlan nepotrebujes, pokud ma router vic oddelenych portu (= nema, krabky za par kil maji dva, jeden pro veskery sitovani dovnitr, kde visi casto i wifi a druhej ven).

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Zabezpečení domácího webserveru pro přístup zvenčí
« Odpověď #4 kdy: 07. 10. 2014, 09:43:27 »
...nebo se přes něj nedejbože někdo dostal do domácí sítě...

DMZ

To už mě taky napadlo, nicméně bych kvůli tomu musel přidávat další stroj, abych oddělil DMZku od VPN a na to bohužel momentálně nemám prostředky. Chtěl bych to udělat na železe, které mám momentálně k dispozici.

Každopádně ale díky za odpověď ;-)

Tak DMZ uz od pradavna umi kdejaky blby ADSL router. Jinak pokud date server do stejne site a budete na nem provozovat neco komplikovanejsiho a na chyby nachylnejsiho, nez ssh, tak nevite dne ani hodiny a i kdyz budete denne cist Bugtraq a zaplatovat jak o zivot, nikdy nemuzete mit jistotu na 100%.

Moznosti by bylo provozovat tam smerem do Internetu prave jen to ssh, ktere je dosti bezpecne a tlacit data skrz ssh tunel. Nejsem si ale jist, jak byste tohle delal z mobilu. No, na Android jsou k dispozici nejake ssh klienty, dokonce i sshd, tak by to snad nejak slo.


Tom Liberec

Re:Zabezpečení domácího webserveru pro přístup zvenčí
« Odpověď #5 kdy: 09. 10. 2014, 03:06:13 »
JuiceSSH je docela fajn klient pro Android. Ale na Samsungu S III jsou písmena malý blechy, připravte si oči.

P

Re:Zabezpečení domácího webserveru pro přístup zvenčí
« Odpověď #6 kdy: 09. 10. 2014, 07:08:57 »
Stále je JuiceSSH ten closed-source SSH klient, který "volá domů" a autor se dušuje, že při tom neposílá žádné osobní údaje? Nebo už je nějaká změna?

Dzavy

Re:Zabezpečení domácího webserveru pro přístup zvenčí
« Odpověď #7 kdy: 09. 10. 2014, 10:42:04 »
Stále je JuiceSSH ten closed-source SSH klient, který "volá domů" a autor se dušuje, že při tom neposílá žádné osobní údaje? Nebo už je nějaká změna?

A jeje, opet nekdo s paranoidni predstavou, ze vse closed-source je spatne a do open-source zdrojaku denne koukaji miliony lidi a hledaji tam chyby...napr. v OpenSSL nebo bashi, ze...

Jimm

Re:Zabezpečení domácího webserveru pro přístup zvenčí
« Odpověď #8 kdy: 09. 10. 2014, 10:58:23 »
Ja na closed-source nevidim nic spatneho, ale ze se tam lepe schova nejaka potvora je snad jasne i tem retardovanejsim. Jak se ale moc nebojim nasazovat cs, o Juicessh jsem nevedel ze "vola domu" a to uz ale osobne povazuji za pruser...

Dzavy

Re:Zabezpečení domácího webserveru pro přístup zvenčí
« Odpověď #9 kdy: 09. 10. 2014, 11:15:03 »
Ja na closed-source nevidim nic spatneho, ale ze se tam lepe schova nejaka potvora je snad jasne i tem retardovanejsim. Jak se ale moc nebojim nasazovat cs, o Juicessh jsem nevedel ze "vola domu" a to uz ale osobne povazuji za pruser...

Tak porad bude jednodussi a efektivnejsi sledovat sitovej provoz nez cist tuny kodu, bych rek. Ohledne JuiceSSH, bez relevantniho odkazu nebo vlastniho dukazu, jde jenom o hloupy sireni paniky...

Jimm

Re:Zabezpečení domácího webserveru pro přístup zvenčí
« Odpověď #10 kdy: 09. 10. 2014, 11:39:49 »
Hloupe je, nepozastavit se nad tim proc cs "vola domu". Sitova komunikace se da cist, pokud to tvurce proprietarniho softu dovoli...

Re:Zabezpečení domácího webserveru pro přístup zvenčí
« Odpověď #11 kdy: 09. 10. 2014, 11:43:07 »
Chtěl bych na domácím serveru zprovoznit ownCloud aplikaci (pro neznalé je to PHP aplikace implementující protokol WebDav).
Základní kámen veškeré bezpečnosti: jednoduchost, jednoduchost, jednoduchost. Jenom jednoduchý a přehledný systém je člověk schopnej pojmout a správně posoudit kvalitu zabezpečení.

Řešení neporadím, spíš náměty k přemýšlení:
1. místo owncloudu zvážit použitelnost apache+mod_dav
2. apache umístit do chrootu, ještě líp do lepšího kontejneru - tady toho ale Linux asi moc neposkytuje -> zvážit FreeBSD, Solaris, pokud o bezpečnost má fakt jít
3. alternativně si hodně dobře pohrát se SELinuxem/AppArmorem
4. ArchLinux je rolling-release distro, který primárně není určený na servery. Klon pro Raspberry určitě bude mít dost velký spoždění bezpečnostních patchů -> na server nevhodný. S tímhle distrem imho nemá moc smysl o bezpečnosti nějak víc uvažovat - pokud nejsou včas patchovaný zranitelnosti, cokoli dalšího je celkem zbytečný řešit.

Johny

Re:Zabezpečení domácího webserveru pro přístup zvenčí
« Odpověď #12 kdy: 10. 10. 2014, 08:50:34 »
Chtěl bych na domácím serveru zprovoznit ownCloud aplikaci (pro neznalé je to PHP aplikace implementující protokol WebDav).
Základní kámen veškeré bezpečnosti: jednoduchost, jednoduchost, jednoduchost. Jenom jednoduchý a přehledný systém je člověk schopnej pojmout a správně posoudit kvalitu zabezpečení.

Řešení neporadím, spíš náměty k přemýšlení:
1. místo owncloudu zvážit použitelnost apache+mod_dav
2. apache umístit do chrootu, ještě líp do lepšího kontejneru - tady toho ale Linux asi moc neposkytuje -> zvážit FreeBSD, Solaris, pokud o bezpečnost má fakt jít
3. alternativně si hodně dobře pohrát se SELinuxem/AppArmorem
4. ArchLinux je rolling-release distro, který primárně není určený na servery. Klon pro Raspberry určitě bude mít dost velký spoždění bezpečnostních patchů -> na server nevhodný. S tímhle distrem imho nemá moc smysl o bezpečnosti nějak víc uvažovat - pokud nejsou včas patchovaný zranitelnosti, cokoli dalšího je celkem zbytečný řešit.

Na Apache + mod_dav se podívám, zní to zajímavě.Pro mě asi moc nebude, protože chci používat i pluginy do owncloudu, případně si napsat vlastní řešení, které už do WebDAV protokolu nespadá a hlavně nemám apache ale nginx ;)

Chroot už mě taky napadl, to momentálně prozkoumávám a chtěl bych to rozchodit. S php-fpm a nginxem je to trochu složitější, ale zdá se mi to jako poměrně solidní řešení.

Na SELinux se podívám, díky za tip.

Co se týče OS, chtěl bych zůstat u archu. Bezpečnost jako taková pro mě není až zas tak kritická, důležitá data mám i doma šifrována a zálohována, takže i při katastrofickém scénáři to takový problém není. Jde mi hlavně o získání zkušeností a názorů ostatních ;).

Ještě k té DMZ, tu bohužel na jednom stroji zprovoznit nemůžu, ikdyž router to umí - jak jsem psal v úvodu, na serveru běží OpenVPN připojení do domácí sítě. Pokud bych server izoloval do DMZ, o VPN bych přišel.

Díky za podněty!