Ako nastaviť ukladanie webových stránok na školský server

Jednou s ďalších služieb, ktoré je možné nainštalovať na školský server je Proxy server. Proxy server je niečo ako prostredník v komunikácii medzi klientmi a servermi. Pre klientov sa tvári ako server a pre server ako klient.

Situácia bez použitia proxy servera:

+-------------+   požiadavka                           +--------+
| klient      |--------------------------------------> | server |
| (lok. sieť) |<-------------------------------------- |        |
+-------------+                             odpoveď    +--------+

Situácia s použitím proxy servera:

+-------------+ požiadavka  +--------+ požiadavka      +--------+
| klient      |-----------> | proxy  |---------------> | server |
| (lok. sieť) |<----------- | server |<--------------- |        |
+-------------+   odpoveď   +--------+      odpoveď    +--------+

Výhodou takéhoto prístupu je niekoľko:

  1. Oddelenie sietí - bezpečnosť
  2. Ukladanie obsahu (WWW) - zrýchlenie komunikácie
  3. Filtrovanie požiadaviek

O konfigurácii proxy servera Squid priamo v konfiguračnom súbore sa dozviete vo Vixovej príručke Systémového administrátora, tu sa zameriam na popis nastavenia pomocou webového rozhrania Webmin.


Inštalácia proxy servera Squid

Najskôr musíme Proxy server nainštalovať. Otvorte preto v rozhraní Webmin vetvu Others a ťuknite na odkaz Príkazový riadok, do poľa zadajte príkaz

sudo apt-get update

aby sa zaktualizovali informácie o dostupných balíkoch a potom zadajte

sudo apt-get install -f -y --force-yes squid 

a stlačte tlačidlo Vykonaj príkaz. Potom ešte treba chvíľu počkať kým sa proxy server Squid nainštaluje. Potom ako bude inštalácia hotová, zjaví sa priebeh inštalácie.


Nastavenie proxy servera Squid

Po nainštalovaní treba prispôsobiť nastavenieproxy servera Squid podmienkam našej siete:

Načúvací port

Najprv je potrebnénastaviť číslo portu, na ktorom bude Squid očakávať pripojenia od klientov. Štandardné nastavenie je port číslo 3128 a nie je potrebné to meniť - iba ak by ste port 3128 chceli využiť na niečo iné. V rozhraní Webmin otvoríme vetvu Servery a kliknúť na odkaz Squid Proxy Server. Na stránke ktorá sa zobrazí potom klikneme na Ports and Networking. Na stránke ktorá sa otvorí uvidíte prepínač v polohe Default (usually 3128).

Po nastavení príslušného čísla portu, je samozrejme potrebné nastaviť firewall tak, aby požiadavky klientov prepúšťal nášmu proxy serveru - toto už nemusíte nastavovať ak ste sa riadili podľa predchádzajúcich častí návodu.

Nastavenie vyrovnávacej pamäte

Predvolená inštalácia Squid má nastavenú cestu aj veľkosť vyrovnávacej pamäte, ale to nemusí vyhovovať všetkým, preto pomocou webmin zmeňte nastavenia podľa svojich potrieb. Pri nastavovaní veľkosti dajte pozor na to, že čím väčšia vyrovnávacia pamäť, tým viac súborov je v nej uchovaných, čo môže urýchliť zobrazovanie stránok, ale zároveň to zvyšuje počet prístupov na disk, čo zase zobrazovanie stránok môže spomaliť.

Ak chcete zmeniť tieto nastavenia klknite na odkaz Cache Options

V nastaveniach môžete nastaviť umiestnienie vyrovnávacej pamäte jej veľkosť, a ďalšie nastavenia. Nezabudnite prepnúť prepínač do polohy Listed.. a nakoniec nastavenia uložiť kliknutím na tlačítko Save.

Webmin - Ukladanie DNS 5

Nastavenie parametrov vlastnej siete

Squid používa prepracovaný systém riadenia prístupu, ktorý umožňuje precízne nastavenie, ktroré stanice môžu jeho služby využívať, a ktorým bude prístup do vonkajšej siete zamietnutý. V predvolenej konfigurácii po inštalácii však umožňuje prístup všetkým klientom lokálnej siete, jemu však potrebné nastaviť parametre lokálnej siete, a to IP adresu a masku siete. Aj toto nastavenie je potrebné urobiť cez Riadenie prístupu (Access control), takže ťukneme teda na Access Control.

Pod zoznamom pravidiel prístupu v rozbaľovacom poli vyberieme Client Address a ťukneme na tlačidlo Create new ACL.

Na stránke, ktorá sa zobrazí, zadajte do poľa ACL Name názov pravidla (napr. vnutorna_siet) a zadefinujte rozsah IP adries, ktoré budú mocť k proxy serveru pristupovať. Ako som už spomínal, nastavujeme povolenie pre všeky stanice v našej sieti, takže do poľa From IP zadáme IP adresu našej siete (napríklad 192.168.1.0) a do poľa Netmask zadáme hodnotu 24 (čo zodpovdá sieťovej maske 255.255.255.0).

Webmin - nastavenie prístupu k proxy 3

Teraz sa hore prepneme na záložku Proxy restriction a pod zoznamom pravidiel ťukneme na odkaz Add proxy restrictions

V ľavom stĺpci vyberieme pravidlo vnutorna_siet, ktoré sme si pred chvílou vytvorili, prepínač prepneme do polohy Allow a uložíme stlačením tlačidla Save.

Teraz pomocou šipky naše pravidlo posunieme nad pravidlo Denny All.

 

Na koniec ešte reštartujeme Squid.


Nastavenie klientov

Na začiatku sme si nastavili číslo portu, na ktorom proxy server očakáva požiadavky na webové stránky, a to port číslo 3128. Webový klienti však používajú pre komunikáciu iné (štandardné) porty:

  • http komunikácia - 80
  • https komunikácia - 443
  • ftp komunikácia - 21

Všetky tieto služby dokáže Squid obslúžiť, ale je potrebné aby boli posielané na port číslo 3128, to je nutné nastaviť individuálne na každom klientovi. Klientov však ešte nenastavujte, ak chcete používať filtrovanie obsahu stránok, ktorému sa venuje ďalšia kapitola (museli by ste ich potom nastaviť znova).

Napríklad:

Nastavenie v prehliadači Internet Explorer

V hornej ponuke vyberte Nástroje > Možnosti siete internet

Prepnite sa na kartu Pirpojenia a stlačte tlačítko Nastavenie siete LAN.

Proxy server IE 1

V časti Server proxy zaškrtnite pole a vyplnte príslušné údaje. 

Proxy server IE 2

Nastavenie v prehliadači Firefox

V hornej ponuke vyberte Nástroje > Možnosti (MS Windows) alebo Upraviť > Možnosti (Linux)

Prepnite sa na kartu Sieť a ťuknite na tlačítko Nastavenia.

Firefox nastavenie proxy1

Prepínač prepnite do polohy Ručné nastavenie parametrov a do okienok vyplnte príslušné údaje:

Firefox nastavenie proxy2

Nastavenie v prehliadači Opera

V hornej ponuke vyberte Nástroje > Nastavenia. Prepnite sa na kartu Pokročilé voľby, v ľavej časti ťuknite na Pripojenie a potom ťuknite na tlačítko Proxy servery.

Opera nastavenie Proxy

V okne, ktoré sa otvorí nastavte príslušné hodnoty:

Opera nastavenie Proxy


Nastavenie transparentného proxy servera

Nastavenie, ktoré sme si zatiaľ vytvorili funguje a je pripravené na ďalšie vylepšenia, ako riadenie prístupu, či filtrovanie prevádzky. Ale určite sa zhodneme, že je veľmi pracné nastavoavť všetky klienty samostatne. Riešenie (hoci len čiastočné) tohoto problému je využitie tzv. transparentného proxy servera.

Transparentný proxy server nie je priehľadný, ako by to mohlo navádzať slovo transparent, ale taký proxy server, o ktorom klienti ani nevedia. Naďalej posielajú svoje požiadavky na štandardný port číslo 80 a o zvyšok sa postará server. Pozornejší si určite všimli malú drobnosť, a to že protokoly HTTPS a FTP nemožno týmto spôsobom obslúžiť, preto pre nichplatia naďalej nastavenia predchádzajúcich odsekov.

Pre funkčné nastavenie tohoto riešenia proxy servera je potrebné zmeniť nastavenia na dvoch miestach:

  1. nastaviť samotný proxy server
  2. nastaviť preklad portov vo firewalle

Začneme natavením proxy - vo Webmin otvoríme vetvu Servery a kliknúť na odkaz Squid Proxy Server. Na stránke ktorá sa zobrazí potom klikneme na Ports and Networking.

Na stránke ktorá sa otvorí prepneme prepínač Proxy addresses and ports do polohy Listed below.., do poľa Port zadáme 3128 a do poľa Options for port napíšeme transparent. Nakoniec nastavenia uložte ťuknutím na tlačidlo Save.

Webmin - nastavenie transparentného proxy 2

Pokračovať budeme nastavením firewallu - v ľavej časti otvoríme vetvu Sieť a ťukneme na odkaz Linux Firewall. V rozbaľovacom poli vyberieme Network address translation (nat) a ťukneme na tlačidlo Show IPtable. Na stránke, ktorá sa zobrazí v časti PREROUTING ťuknite na modrú šipku v stĺpci Add aby sa nové pravidlo pridalo pred prvé pravidlo.

Teraz zadefinujeme pravidlo, ktoré požiadavky presmeruje:

  1. prepneme prepinač Action to take do polohy Redirect,
  2. do poľa Source address or network nastavíme Equals 192.168.1.0/24,
  3. Incoming interface nastavíme na Equals eth1,
  4. Network protocol na Equals TCP a
  5. Destination TCP or UDP na Equals Port(s) 80.
  6. do poľa Additional parameters zadáme --to-port 3128

a nakoniec nastavenie uložíme ťuknutím na tlačidlo Uložiť.

Teraz je ešte potrebné na stánke firewallu Aplikovať nastavenia

a spustiť script webmin-ipt, aby sa nové pravidlo pre firewall načítalo. Otvoríme položku Systém a klikneme na Štart a vypnutie. Zaškrtneme políčko webmin-ipt a ťukneme na tlačítko Start Selected.


Riadenie prístupu klientov a filtrovanie prevádzky

O tejto možnosti sa dozviete viac v podkapitole

Ako blokovať určité webové stránky v jednotlivých učebniach počas vyučovania