| 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.
- 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.
- 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.
- 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 !
- 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.
- 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ě.
- 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.
- 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.
- 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 |
|