Hlavní navigace

Malý průvodce konfigurací Apache (3)

Tomáš Lopašovský 5. 4. 2001

Náplňou ďalšieho pokračovania Malého sprievodcu konfiguráciou Apache bude oboznámenie sa s direktívami obmedzujúcimi prístup do oblastí na disku. Zmienka bude aj o spôsobe, ktorým Apache určuje nastavenia jednotlivých dokumentov žiadaných užívateľmi a uvediem niekoľko konkrétnych príkladov pre lepšie pochopenie.

Obmedzovanie prístupu k dokumentom

Prístup k súborom na serveri môžeme zakázať/povoliť na základe nasleducúcich parametrov:

  • kompletné meno domény (napr.: user.apache.org) alebo doména, do ktorej user patrí (apache.org)
  • kompletná IP adresa alebo časť IP adresy (adresa siete)
  • IP adresa spolu s maskou siete

Order, Deny, Allow
Podľa čoho obmedzujeme, to už vieme. Teraz si povieme o tom ako obmedzujeme…
Najprv zadefinujeme priority, ktoré sa uplatnia v prípade, že užívateľ, snažiaci sa o prístup na server je uvedený aj v zozname direktívy Deny aj v zozname Allow. Definujeme pomocou direktívy Order :

Order Allow,Deny     #De­ny (zamietnutie) má vyššiu prioritu

alebo

Order Deny,Allow     #vyš­šiu prioritu má Allow (povolenie)

Ďalej nasleduje samotný zoznam IP adries, domén a pod., ktoré budú odmietnuté respektíve prijaté, napr.:

Deny from all
Allow from apache.org

K tomuto príkladu sa ešte vrátime, teraz niečo o už spomenutých prioritách.
Pokiaľ je užívateľ uvedený v zozname direktívy Allow alebo v zozname Deny (čiže nie v oboch súčasne), podľa názvu direktívy server určí jeho budúcnosť – buď ho príjme(Allow) alebo odmietne(Deny). Pokiaľ je user súčasne v oboch zoznamoch, alebo ani v jednom postupuje sa podľa direktívy Order, a to tak, že rozhoduje direktíva, ktorá je v Order zapísaná za čiarkou a má teda vyššiu prioritu.

Niekoľko príkladov pre lepšie pochopenie:

Order Deny,Allow
Deny From All
#Odmietnutý je všetok prístup k dokumentom

Order Allow,Deny
#To isté – odmietnutý je všetok prístup k súborom

Order Deny,Allow
Deny From apache.org
#Odmietnutý je prístup k dokumentom zo serveru apache.org

Order Deny,Allow
Deny From All
Allow From apache.org

#Odmietnutý je všetok prístup k súborom, okrem požiadaviek z apache.org

V konfiguračnom súbore pravdepodobne nájdeme aj tieto riadky:

<Directory />
   Options FollowSymLinks
   AllowOverride None
</Directory>

Jednu direktívu v tejto definícii poznáme z minula (Options), o druhej (AllowOverride) sa dozvieme až v budúcej časti . Čo je ale podstatné je to, že nanajvýš vhodné do tohoto zápisu je vložiť riadky, ktoré implicitne zakážu prístup ku všetkým dokumentom na serveri, teda:

<Directory />
   Options FollowSymLinks
   AllowOverride None
   Order Allow,Deny
   Deny from all
</Directory>

Zabránime tým prístupu nepovolaných osôb k súborom ktoré nie sú pre nich určené. Oblasti, ktoré naopak prístupné majú byť, nakonfigurujeme napríklad týmto spôsobom:

<Directory /home/httpd>
… direktívy …
   Order Allow,Deny
   Allow from all
… direktívy …
</Directory>

Vlastnosti prekrývajúcich sa oblastí
V predchádzajúcej časti sme sa naučili definovať oblasti. Nevyšlo ale miesto na vysvetlenie spôsobu určovania konfigurácie adresárov, ktoré sa v definíciach oblastí nachádzajú viac krát, a teda sa prekrývajú, respektíve nie sú uvedené vôbec, ale patria do nejakej oblasti.

Majme definície oblastí pre adresáre:
/, /home, /home/httpd/, /home/httpd/www­/user

Dokument, o ktorý užívateľ žiada, je umiestnený v: /home/httpd/www­/user/osobne/ .

Otázka: akú konfiguráciu použije Apache pre túto oblasť ?
Odpoveď: najprv server načíta konfiguráciu pre oblasti, ktoré sú definované a do ktorých daný objekt patrí (teda: /, /home, /home/httpd, /home/httpd/www­/user) a skombinuje ich. Výsledok je aplikovaný na žiadaný adresár. Skutočne jednoduchý príklad:

<Directory />
   AllowOverride None
   Order Allow,Deny
   Deny from all
</Directory>

<Directory /home>
   Order Allow,Deny
   Allow from all
</Directory>

<Directory /home/httpd>
   AllowOverride All
   Order Allow,Deny
   Deny from all
</Directory>

<Directory /home/httpd/www­/user>
   Order Allow,Deny
   Allow from all
</Directory>

Potom adresár /home/httpd/www­/user/osobne/ bude prístupný aj napriek tomu, že nie je priamo definovaný ako oblasť a uplatní sa v ňom naviac aj AllowOverride All.

Je tu ale jedna výnimka, a tou je práve direktíva Options. Vysvetlím znova na príklade.

Sú dané tieto definície oblastí:

<Directory />
   Options ExecCGI
</Directory>


<Directory /home/httpd>
   Options FollowSymLinks
</Directory>


Potom pre adresár /home/httpd je uplatnená iba direktíva FollowSymLinks, neplatí tu už ExecCGI. Pokiaľ potrebujeme aby platila aj vo vnútri oblasti /home/httpd, použijeme prefix „+“ pre pridanie direktívy k parametrom Options posledne definovanej oblasti, respektíve „-“ pre odobranie. Za direktívou Options sa parametre uvádzajú buď všetky s prefixmi, alebo všetky bez prefixov. Vyššie uvedený príklad by sme mohli pre platnosť ExecCGI v adresári /home/httpd prepísať takto:

<Directory />
   Options ExecCGI
</Directory>

<Directory /home/httpd>
   Options +FollowSymLinks
</Directory>

Apache to vlastne interpretuje ako pridanie parametra FollowSymLinks ku parametru ExecCGI – teda pridanie FollowSymLinks k najbližšej definícii oblasti. Iný príklad:

<Directory />
   Options Indexes FollowSymLinks
</Directory>

<Directory /home>
   Options -Indexes
</Directory>

<Directory /home/httpd/user>
   Options +ExecCGI
</Directory>

V adresári /home/httpd/user bude možné používať symbolické linky a spúšťať CGI skripty. Inak povedané, uplatnia sa tu parametre FollowSymLinks a ExecCGI direktívy Options.

V ďalšom pokračovaní sa naučíme konfigurovať oblasti pomocou oddelených súborov .htaccess a vysvetlíme si s tým súvisiacu direktívu AllowOverride.

Našli jste v článku chybu?

2. 12. 2002 11:37

ZuGi (neregistrovaný)

prosim o radu: potreboval bych nastavit dostupnost souboru v adresari pouze pro vnitrni sit.
pocitac ma 2 sitove karty:
1/ bezdratovy pristup k inetu
2/ interni sit (IP 192.168.0.200)
- konfigurace apache je standardni (po instalaci)
- adresar je /home/httpd/intranet

TIA

PS: doufam, ze si nekdo precte novy prispevek ke staremu clanku :o)










5. 4. 2001 16:56

Pavel Marek (neregistrovaný)

Co takhle zkusit zvysit: MaxRequestsPerChild?
Sto dotazu neni zas tak moc a pak se musi forkovat novy process, pokud nejsou nejake memory leaky tak bych to zvednul (v konfiguraci apache nekde dokonce uvadli 0 - neomezene)

MaxRequestsPerChild: the number of requests each child process is allowed to process before the child dies. The child will exit so as to avoid problems after prolonged use when Apache (and maybe the libraries it uses) leak memory or other resources. On most systems, this …


Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

Lupa.cz: Na koho se v Křišťálové Lupě nedostalo?

Na koho se v Křišťálové Lupě nedostalo?

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Podnikatel.cz: Babiš: E-shopy z EET možná vyjmeme

Babiš: E-shopy z EET možná vyjmeme

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Vitalia.cz: Manželka je bio, ale na sex moc není

Manželka je bio, ale na sex moc není

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA