Filtrování protokolu HTTPS

Štefan Fedor

Filtrování protokolu HTTPS
« kdy: 04. 05. 2011, 12:27:34 »
Mám problém v lokálnej sieti.
Žiaci prišli na to, ako obchádzať niektoré stránky (napr. facebook a iné), keď jednoducho stránku načítajú cez protokol https.
Šikovní žiaci, resp. to čítali na nejakom fóre.

Chcel by som poprosiť niekoho, kto sa tým už zaoberal,
resp. kto to vie vyriešiť promptnejšie ako ja so svojím pomalým
štúdiom a nedostatkom času:

1. Nemôžem zablokovať https protokol, v škole ho niektoré PC používajú.
2. používam server Debian, Squid a iptables firewall, ktorý vytvára transparentné
proxy tak, že presmerúje všetky požiadavky http protokolu na port Squida.


3. PREDPOKLADANÉ RIEŠENIA:

   A, Ideálne by bolo pridať do firewallu pravidlo, ktoré by
      odmietlo konkrétnu stránku, resp. doménové meno, ale keďže
      stránok bude asi viacej, tak aby zoznam stránok
      firewallove pravidlo načítalo z externého textového súboru,
      niečo ako:

           iptables -A INPUT -s facebook.com -j DROP
 alebo     iptables -A INPUT -s facebook.com -p tcp --sport www -j DROP
 alebo     iptables -A OUTPUT -d facebook.com -j DROP
 alebo     iptables -A OUTPUT -d facebook.com -j REJECT
 alebo     iptables -A FORWARD -d facebook.com -j DROP
 alebo     iptables -A FORWARD -p tcp --dport 443 -m set --match-set "/etc/home/Blacklist.txt" dst -j DROP


   B, Firewall by presmeroval všetky požiadavky na stránky,
      ktoré by načítal z textového súboru, z protokolu https
      na protokol http

   C, Firewall by odmietol prístup konkrétnym ip adresám - rozsahom,
      resp. MAC adresám, ktoré by načítal z textového súboru), k
      protokolu  https.


   D, sú určite aj iné riešenia na báze iptables.


Za pomoc, pripomienky a elegantné riešenia
Vám vopred Ďakujem.

Štefan Fedor
« Poslední změna: 04. 05. 2011, 12:59:27 od Petr Krčmář »


Pindal

Re: Nastavenie IPTABLES - filtrovanie https protokolu
« Odpověď #1 kdy: 04. 05. 2011, 12:44:26 »
Jen takový "detail" iptables nepracuje s doménovými jmény, ale používá IP adresy. A zrovna takový facebook.com jich má více a navíc se mění.

Co takhle automaticky nastavovat proxy na počítačích?

Re: Filtrování protokolu HTTPS
« Odpověď #2 kdy: 04. 05. 2011, 13:05:40 »
Mohou žáci nastavit na PC DNS server? Pochybuji - nejjednodušší mi přijde prostě přesměrovat na školním DNS facebook.com na localhost (či cokoliv jiného). A než přijdou na to, že si stačí doma opsat IP, tak se může řešit nějaký bezpečnější způsob.

PCnity

  • *****
  • 680
    • Zobrazit profil
    • E-mail
Re: Filtrování protokolu HTTPS
« Odpověď #3 kdy: 04. 05. 2011, 14:06:59 »
OFFTOPIC:
Presne koli takemuto adminovi si mohlo vela ludi u nas na strednej precitat osobnu postu (maily) dost vela zamestnanov skoly.
Pretoze admin bol buzerant a vsetko blokoval. Tiez sme to obchadzali cez HTTPS a pokial nam blokol DNS, tak stacilo vediet konkretne IPcky webov... Vacsinou neboliu name based.

Ked nam zablokoval este aj vsemozne IPcky (cely vracany A zaznam) pripadne aj nejake subdomeny, presli sme na nieco ako vtedy mala katedrala.cz, moj skript -- dokonalejsi :)

Ked mi tupelo zacalo blokovat vsetky IPcky kde som mal pristup, dokonca aj moju staticku domacu verejnu... Pozreli sme sa mu na system a konfiguraciu az sa raz nasiel exploit.

Poucenie: NEROBTE ZLE STUDENTOM.

Logik

  • *****
  • 993
    • Zobrazit profil
    • E-mail
Re: Filtrování protokolu HTTPS
« Odpověď #4 kdy: 04. 05. 2011, 14:13:06 »
To s tim ručnim opsánim IP není zas tak jednoduchý - dost serverů má virtualhosty, popř. na ip adrese maj redirekt na doménový jméno... Takže i čistý vyřazení z dns by asi pomohlo. Ale samozřejmě firewall je nejlepší řešení...

A co se týče chytrých studentů: to řešení by mělo být udělané tak, aby ho mohl učitel při hodině zapnout a vypnout, jinak je to IMHO nefér (a viz PCnity).


PCnity

  • *****
  • 680
    • Zobrazit profil
    • E-mail
Re: Filtrování protokolu HTTPS
« Odpověď #5 kdy: 04. 05. 2011, 14:39:11 »
[Nejde mi edit] Logik ma point! Nejde o to browsovat web cez hodinu, vtedy nech je blokovane kludne co len chce. Ale robit to nastavenie perzistentne je velmi zle.

Ad. Facebook. Ak chcete studentov "odhovorit" od facebooku na skolskej sieti, staci si odchytit ich session. (Velka vacsina bezi po HTTP, kedze FB neforcuje HTTPS) Nasledne sa prihlasit cez ich account a napisat: Som neposlsny student co cez hodinu chodi na Facebook a tu verejne vyhlasujem ze za trest napisem 20x na tabulu "Nebudem cez hodinu chodit na facebook".

A budete mat malych Bartov :)

Nassir

Re: Filtrování protokolu HTTPS
« Odpověď #6 kdy: 04. 05. 2011, 18:10:21 »
OpenDNS vie blokovat typy a skupiny ip adries aj s rucne pisanym zoznamom. Takze (ak je to mozne) nastavit ich na opendns. Pravo zmenit dns by ziaci mat nemali - ak ho maju, tak su na kompoch adminmi a potom si mozete viete co...
Tieto nastavenia sa daju zapinat a vypinat asi do 5 minut, takze cez prestavku zapnem a o par minut sa uz nikam nikto nedostane. Ak chcu pouzivat ip adresy namiesto mien, tak nech sa paci - prvy obrazok, ktori pojde na facebooku z poddomeny im uz nenabehne, takze osobne sa nebojim, ze by ich bavilo si prepisovat stranky.
A mimochodom - jedna vec je porusovat skolske pravidla o nebrowsovani cez hodinu a nieco ine je vstupovat ziakom do komunikacie, prepisovat a hackovat ich ucty. Admin nie je svina, ani zlocinec! Admin je policajt, ktory vsetko vidi a vsetko moze - ale rovnako ako nepredavam cisla kreditiek a sukromne fotky mojich zakaznikov a kolegov tak rovnako im nebudem vypisovat pod ich menom na facebook.
Takze nastavenie firewallu, squidu, dns, browserov, heslovanie pristupu a logovanie navstev je v poriadku (za pouzitie siete je ciastocne trestne zodpovedny admin), tak citanie (a pisanie) sukromnej posty uz urcite v poriadku nie je.

McFly

  • ****
  • 464
    • Zobrazit profil
    • E-mail
Re: Filtrování protokolu HTTPS
« Odpověď #7 kdy: 04. 05. 2011, 21:56:18 »
Nelze přesměrovat komunikaci pro https na transparentní proxy? V práci máme SQUIDa (ne však transparentního) a teče přes něj i https a Facebook blokujeme (ne všem, jen "vyvoleným".. nařízení z vyšších míst).

mattv

  • ***
  • 123
    • Zobrazit profil
    • E-mail
Re: Filtrování protokolu HTTPS
« Odpověď #8 kdy: 04. 05. 2011, 23:36:11 »
Taky spravuju jednu střední školu. Politiku mám takovou, že net mají povolený (krom zakázaných stránek s erot. obsahem) jen o přestávkách, jinak celý bloklý a nějaké HTTPS neřešim. Mám to bloklé tak, že prostě musí používat proxy a jediná věc, co projde ven je ICMP protokol. Jinak vše bez pardonu zahazuju.

Proxy mám nastavené přes GPO na celou doménu a když si ho nějaký šikovný žáček vyhodí z prohlížeče, má prostě smůlu :-) Nepomůže mu ani HTTPS či jiné ptákoviny, protože to si zase ošetří SQUID => vykašlete se na transparentní proxy :-)

Jenda

Re: Filtrování protokolu HTTPS
« Odpověď #9 kdy: 05. 05. 2011, 00:00:59 »
Štefan Fedor: Internet nelze „částečně blokovat“, vždycky se nějaká cestička najde. DNS tunel, HTTP tunel, mail proxy…

PCnity: Za odposlech a ukradnutí session je v zemi, kde žiju, pár let vězení, tučná pokuta nebo alespoň zákaz činnosti.

Matěj Vaňátko: https://secure.wikimedia.org/wikipedia/en/wiki/ICMP_tunnel

Štefan Fedor

Re: Filtrování protokolu HTTPS
« Odpověď #10 kdy: 05. 05. 2011, 08:16:02 »
Zdravím.

Server spravujem na diaľku a momentálne nemám príležitosť testovať
a skúšať vhodné riešenie. Možno cez víkend sa k tomu dostanem.
Aj z dôvodu tejto situácie som napísal o radu
Ďakujem všetkým, ktorí sa do diskusie zapojili.

Na root.cz som napísal nie preto, aby ma niekto poúčal o
morálke a buzerácii a podobne. Od nepamäti je server, ktorý spravujem,
nastavený tak, že po vyučovaní, keď sú PC učebne prístupné žiakom
aj verejnosti sa Squid prepne do režimu nefiltrovania stránok ako chat,
facebook a iné (okrem porna ...).

Aj ja som bol študentom, aj ja mám doma internet
a hnevám sa keď ma niekto rýchlostne alebo inak obmedzuje
podľa svojho FUP, aj ja nemám rád nedemokratickosť a ľudskú hlúposť.

Študentom určite nerobím zle, od každého človeka (aj nadriadeného)
vyžadujem, aby robil to, čo má v náplni práce (resp. štúdia) a aby bol
zodpovedný za to, čo robí. Zisťujem však, že takýto prístup
je veľmi náročný a že sa ešte mnohokrát stretnem s prekážkami.
A že od ľudí, teda aj študentov, vyžadujem až príliš veľa.
Ale je to vážne veľa, keď chcem aby si každý robil to, čo má
a aby za svoju prácu niesol plnú zodpovednosť?

Ale poďme späť k téme:
Momentálne mi zo situácie, vyplýva nasledujúce:
1. vo firewalle nepovolím https port - nezakážem ho, ale nepovolím
   NAT pre tento port.

2. Následne povolím port 443 (https default port) pre konkrétnu MAC
   adresu v sieti nasledujúcim pravidlom: (vytvoril som to pravidlo
   dobre? Malo by fungovať?)

iptables -A FORWARD -p tcp --destination-port 443 -m mac --mac-source 00:00:00:00:00:00 -j ACCEPT




Ešte zopár komentárov:

1. Mojím problémom nie je facebook, ale to, že sa naň pripínajú
   cez https.
   
2. FACEBOOK - pohodlne funguje aj cez protokol https,
   vyskúšal som to na inej sieti a je plne funkčný.
3. OPENDNS - tým som sa doteraz nezaoberal, ale asi o istý čas začnem.
   Ak má niekto skúsenosti s OpenDNS, môže sa o ne podeliť. Ale to
   len ak chce a má čas, v súčastnosti, kedy kumulovaná funkcia
   vládne pracovným svetom, je toho na nás akosi veľa.
4. viem, že je mnoho ciest, ako obísť pravidlá. ale aspoň sa cibrím
   v myslení a riešení problémov. S vyriešením každého problému
   som o niečo bohatší a dáva mi to veľa, pretože viem, že tým nikomu
   neubližujem (viz. vyššie, o pravidlách a povoľovaní pravidiel v čase
   mimovyučovacom).


Ďakujem za zaujímavú a plodnú diskusiu.
Cez víkend budem riešiť problém.

Štefan Fedor

P

Re: Filtrování protokolu HTTPS
« Odpověď #11 kdy: 05. 05. 2011, 10:25:14 »
taktez se priklanim k hledani technickeho reseni a ne poucovani proc to nedelat apod...

ja bych si asi napsal skript na zjistovani IP adres z hostname (ktery chci blokovat) a pres nej vkladal vysledne IP do iptables (+ d-port 443). a tento skript spoustel pres crona..

Ivan

Re: Filtrování protokolu HTTPS
« Odpověď #12 kdy: 05. 05. 2011, 10:41:41 »
Proxy mám nastavené přes GPO na celou doménu a když si ho nějaký šikovný žáček vyhodí z prohlížeče, má prostě smůlu :-) Nepomůže mu ani HTTPS či jiné ptákoviny, protože to si zase ošetří SQUID => vykašlete se na transparentní proxy :-)

Vasi studenti asi lezou jen na ten FB, jinak by vedeli, ze existuji takove veci jako
OpenVPN over HTTPS
IP over ICMP
nebo dokonce IP over DNS

kdo opravdu chce tak si vzdy nejakou cestu ven najde.


P

Re: Filtrování protokolu HTTPS
« Odpověď #13 kdy: 05. 05. 2011, 10:50:43 »
Ivane,
a nejaka technicka reakce na autora vlakna by nebyla?
pomalu se tu z toho stava diskuze ala idnes - vsichni maji co rict ale nic co by pomohlo..

Emmkey

Re: Filtrování protokolu HTTPS
« Odpověď #14 kdy: 05. 05. 2011, 17:13:46 »
Zvláštní je, že zde na diskuzích čítám, jak tu či jinde žáci obchází omezení více či méně sofistikovaná blokování webových stránek a přitom u nás na škole již druhým rokem úspěšně používám pouze add-on do Firefoxu, kterým omezuji přístup na stránky podle domény.
Je to sice primitivní a snadno překonatelné, ale nejsme střední škola technického zaměření a zatím se to nikomu nepovedlo překonat.
Nicméně poslední dobou používám jiný, méně restriktivní přístup. Pravidelně se mi kontroluje, zda běží prohlížeč (jen podle jména procesu). Pokud ano a není nutný k práci, následuje sankce pro provinilce. Situací, kdy je potřeba k práci prohlížeč po celou dobu zas tolik není.
Kdo má již hotovou zadanou práci, není důvod, aby seděl a koukal do zdi a může klidně jít i na Facebook.