www.kom.cz Zákaznická podpora

Práva souborů a skupiny na našem serveru

Bezpečnost
      Na některých sdílených webhostingových službách bývá velmi snadné získat zdrojové kódy skriptů "souseda". U nás toto možné není. Z bezpečnostních důvodů není možné zde popisovat přesné technické řešení. Proto se omezíme pouze na soupis toho co lze, co nelze a na co by jste si měli dát pozor. Všechny níže uvedené vlastnosti systému jsou pravidelně kontrolovány testovacím programem, nicméně pokud by jste narazili na takové chování systému, které níže uvedeným bodům neodpovídá, kontaktujte nás prosím.
  1. Skriptem CGI nebo PHP nelze nijak manipulovat s cizími soubory. Nelze např. otevřít cizí CGI nebo PHP skript pro čtení a získat tak jeho zdrojový kód. A to ani za předpokladu, že cizí skript má práva pro čtení celým světem. Je zde však jedna vyjímka, popsaná v 2) a 3), které se však nelze vyhnout, neboť jde o charakteristickou vlastnost protokolu HTTP.

  2. Pokud u některého souboru v adresáři /www uvedete práva zápisu celým světem, je možné do tohoto souboru zapisovat pomocí protokolu HTTP (skrze web). Je to jediný způsob jak skripty v PHP a CGI umístěné na našem stroji mohou přistupovat k cizím souborům. Ale mohl by to udělat libovolný skript kdekoliv na světě ! Nejedná se o nedostatek bezpečnosti našeho systému, ale o vlastnost protokolu HTTP. Takový skript může pomocí funcí k používání protokolu HTTP provést zápis do tohoto souboru, ať patří komukoliv. Ne tedy přímo přístupem do souborového systému, ale přes web - jinými slovy takový skript simuluje nezbedný internetový prohlížeč. Pomocí prohlížeče, který by obsahoval potřebné funkce, by kdokoliv mohl takovouto operaci provést. Takové prohlížeče sice (možná) neexistují, ale pro hackera není problém něco takového vytvořit. Je to práce asi na 5 minut.
    Proto práva zápisu všem nenastavujte, leda že by jste do nich neukládali citlivé informace a nespoléhali se na bezchybný obsah takových souborů (provést kontrolu obsahu před použitím dat). Už vůbec takovým souborům nedávejte právo spouštění celým světem.
    Pokud potřebujete, dynamicky zapisovat do souborů ve /www, potom použijte raději CGI skript, kde není nutné nastavovat právo zápisu celým světem, viz. níže.

  3. Pokud u některého adresáře ve /www uvedete práva zápisu celým světem, je možné v tomto adresáři vytvářet nové soubory a mazat všechny soubory, bez ohledu na jejich práva a vlastnictví, pomocí protokolu HTTP (skrze web). Zde platí vše co bylo řečeno v bodě výše. Včetně doporučení použít k tomuto účelu raději cgi.
    Nenastavujte taková práva pro adresáře !

  4. Váš PHP skript má přístup k vašim vlastním souborům, ale přistupuje k nim s právy uživatele pod kterým běží webový server. Vztahují se na něj tedy práva příslušná pro celý svět. Pokud potřebujete přistupovat ke svým souborům s většími právy, než jaká chcete dát celému světu, využijte CGI, viz níže.

  5. Váš CGI skript má přístup k vašim vlastním souborům. A přistupuje k nim s právy jaká máte vy. Pokud například potřebujete z nějakého důvodu měnit obsah souborů v adresáři /www, je toto nejbezpečnější. Nemusíte nastavovat práva k zápisu celému světu, stačí pokud práva k zápisu udělíte sami sobě.

  6. Pomocí databázového stroje MySQL nelze načítat do tabulky cizí soubory (a získávat tak například zdrojové kódy php skriptů). Nelze to jednoduše proto, že nelze načítat žádné soubory. Funkce LOAD DATA INFILE je vypnuta.

  7. Pomocí SSH, FTP, ŘP, CGI není možné dostat se mimo úroveň vašeho domovského adresáře. Příkaz pwd sice vypisuje /, ale kromě vašich souborů pro vás nic jiného neexistuje.

  8. Pomocí skriptů v CGI, stejně jako pomocí SSH máte přístup do adresářů se stejnými názvy jako mají některé systémové adresáře OS Linux. Obsahují některé systémové soubory a programy, takové jaké jsou na OS Linux běžné, s typickými právy. Můžete zde například i číst soubor /etc/passwd, protože podle definice tento soubor má být čitelný kýmkoliv, protože neobsahuje žádné cenné informace.
          Ani v případě CGI, ani v případě SSH se však nejedná o skutečné systémové adresáře a soubory ! I kdyby byly, tak při správném nastavení není přístup k nim bezpečnostním rizikem. Zde je tato vlastnost systému zmiňována jen proto, aby vás neznepokojila skutečnost, že si v SSH může kdokoliv zobrazit například /etc/passwd. Někteří začínající hackeři si myslí, že to je nebezpečné. Zkušení jistě vědí proč je na našem serveru tohle možné a jistě vám potvrdí, že pokud je přístup k tomuto souboru, z tohoto důvodu, jedná se naopak o navýšení bezpečnosti systému ;-)


     

     

@2003 Richard Ruibar, www.kom.cz