Programiranje

Trkanje v vrata: Varnostna ideja, katere čas je napočil

Veliko, veliko novosti prihaja iz sveta Linuxa in Unixa. Le malo mi je bolj zanimivih kot trkanje v vrata. Kot globalni varnostni vtičnik za zaščito storitev zahteva veliko in malo slabosti. Vendar pa iz enega ali drugega razloga trpi zaradi pomanjkanja uporabe in razumevanja. Veliko skrbnikov je morda že slišalo zanj, a le redki vedo, kako to izvesti. Še manj jih je uporabljalo.

Trkanje vrat deluje na konceptu, da morajo uporabniki, ki se želijo priključiti na omrežno storitev, sprožiti vnaprej določeno zaporedje povezav vrat ali poslati edinstven niz bajtov, preden se oddaljeni odjemalec lahko poveže z morebitno storitvijo. V svoji najosnovnejši obliki se mora odjemalska programska oprema oddaljenega uporabnika najprej povezati z enim ali več vrati, preden se poveže s končnimi ciljnimi vrati.

Denimo, da se želi oddaljeni odjemalec povezati s strežnikom SSH. Skrbnik predčasno konfigurira zahteve za trkanje vrat in zahteva, da se povezovanje oddaljenih odjemalcev najprej poveže z vrati 3400, 4000 in 9887, preden se poveže s končnimi ciljnimi vrati, 22. Skrbnik vsem legitimnim odjemalcem pove pravilno "kombinacijo" za povezavo ; zlonamernim hekerjem, ki se želijo povezati s storitvijo SSH, bo onemogočen dostop brez kombinacije. Trkanje v pristanišča bo oviralo celo navdušence nad skeniranjem in pasicami.

Ker je mogoče uporabiti katero koli kombinacijo vrat in transportnih protokolov, je število možnih zaporedij, ki bi jih napadalci moral uganiti, veliko. Tudi če je heker vedel, da gre le za tri trke vrat, kot v zelo preprostem primeru zgoraj, s 64.000 možnimi vrati TCP, UDP in ICMP (Internet Control Message Protocol), lahko nastali nabor možnih kombinacij za hekerja poskusite na milijone. Port skenerji bodo razočarani, ker trkanje vrat za poslušanje uporablja zaprta vrata (več o tem spodaj).

Največja prednost vsega je, da trkanje vrat ni odvisno od platforme, storitve in aplikacije: Vsak operacijski sistem s pravilno odjemalsko in strežniško programsko opremo lahko izkoristi svojo zaščito. Čeprav je trkanje vrat v glavnem izvedba Linux / Unix, obstajajo orodja Windows, ki lahko storijo isto. Podobno kot IPSec in drugi zaščitni mehanizmi tudi nobena od vključenih storitev ali aplikacij ne sme biti pozorna na vrata.

Strežniška programska oprema za trkanje vrat deluje tako, da nadzira dnevnik požarnega zidu in išče povezave z zaprtimi vrati ali nadzor IP sklada. Prejšnja metoda zahteva, da se vsi zavrnjeni poskusi povezave hitro zapišejo v dnevnik požarnega zidu, storitev trkanja vrat (demon) pa nadzira in povezuje legitimne kombinacije trkanja vrat. Pri overjenih kombinacijah trkanja storitev strežnika za trkanje vrat nato pove požarnemu zidu, naj odpre končna zahtevana vrata samo za zakonitega odjemalca, ki trka na vrata - ki mu običajno sledi naslov IP.

Naprednejše izvedbe trkanja vrat delujejo na kupu IP in poslušajo in snemajo povezave do zaprtih vrat ali pa uporabljajo bolj dovršen mehanizem. Nekatere izvedbe iščejo določeno serijo bajtov v prvem poskusu povezave. Ti bajti so lahko celo "skriti" znotraj preprostega ping-ja za odmev ICMP. Še močnejše metode pogajanj o trčenju vrat vključujejo šifriranje ali asimetrično preverjanje pristnosti.

Trkanje vrat lahko služi tudi kot dodatna plast varnosti za zaščito visoko tveganih storitev daljinskega upravljanja, kot sta SSH in RDP (Remote Desktop Protocol). Na žalost je trkanje vrat uporabljalo več kot nekaj rootjanskih trojancev, saj njihovi ustvarjalci hekerjev skušajo obdržati nadzor nad svojimi zlonamernimi stvaritvami.

Kritiki pogosto opozarjajo na dejstvo, da bi hekerji, ki bi prisluškovali, lahko zajeli in predvajali uspešno zaporedje ali niz bajtov, ki potrkajo na vrata. Čeprav bi to lahko veljalo za osnovne izvedbe, bi napade, kot so ti, zmešali z uporabo bolj dovršenih načinov preverjanja pristnosti ali zmanjšali z uporabo sekundarnih trdo kodiranih dovoljenih naslovov IP, kot so ovojniki TCP.

Če hekerju uspe ugotoviti vašo kombinacijo, je najslabši scenarij, da vsiljivec obide zaščito pred trkanjem vrat in se mora zdaj soočiti z vašimi običajnimi varnostnimi ukrepi storitve - pozivi za geslo za prijavo itd. Kolikor vem, lahko uporaba trkanja v pristanišče samo okrepi katero koli poglobljeno obrambno strategijo in ji ne škoduje.

Želim si, da bi imel Windows privzeto vgrajene mehanizme za trkanje vrat. To bi bilo lepo dopolnilo Microsoftovim tržno preizkušenim implementacijam IPSec in Kerberos. V svetu Linux / Unix lahko izbirate med številnimi izvedbami trkanja vrat, od katerih nobena ne zahteva neverjetnega strokovnega znanja za konfiguriranje ali uporabo.

Za več informacij o trkanju vrat obiščite www.portknocking.org ali en.wikipedia.org/wiki/Port_knocking. Za podrobnosti o konfiguraciji iz enega primera izvedbe si oglejte gentoo-wiki.com/HOWTO_Port_Knocking.

Odlično zbirko programske opreme in pripomočkov za trkanje vrat najdete na spletnem mestu www.portknocking.org/view/implementations, drug strežnik in odjemalec za trkanje vrat na Windows pa www.security.org.sg/code/portknock1 .html.

$config[zx-auto] not found$config[zx-overlay] not found