Ohjelmointi

Sataman koputtaminen: Turvaideo, jonka aika on tullut

Monet, monet innovaatiot tulevat Linux- ja Unix-maailmasta. Harvat ovat mielenkiintoisempia minulle kuin sataman koputtaminen. Globaalina tietoturvalaajennuksena palvelujen suojaamiseksi sillä on paljon tehtävää ja vähän haittoja. Jostain syystä se kärsii käytön ja ymmärryksen puutteesta. Monet järjestelmänvalvojat ovat saattaneet kuulla siitä, mutta harvat tietävät, miten se toteutetaan. Vielä harvemmat ovat käyttäneet sitä.

Portin koputus toimii siinä mielessä, että käyttäjien, jotka haluavat liittyä verkkopalveluun, on aloitettava ennalta määrätty satamayhteyksien sarja tai lähetettävä ainutlaatuinen tavujono ennen kuin etäasiakas voi muodostaa yhteyden mahdolliseen palveluun. Perusmuodossaan etäkäyttäjän asiakasohjelmiston on ensin muodostettava yhteys yhteen tai useampaan porttiin ennen yhteyden muodostamista lopulliseen kohdeporttiin.

Oletetaan esimerkiksi, että etäasiakas haluaa muodostaa yhteyden SSH-palvelimeen. Järjestelmänvalvoja määrittää portin koputusvaatimukset etukäteen ja edellyttää, että etäasiakkaat muodostavat yhteyden ensin portteihin 3400, 4000 ja 9887 ennen yhteyden muodostamista lopulliseen kohdeporttiin, 22. Järjestelmänvalvoja kertoo kaikille laillisille asiakkaille oikean "yhdistelmän" yhteyden muodostamiseksi ; haitallisilta hakkereilta, jotka haluavat muodostaa yhteyden SSH-palveluun, pääsy evätään ilman yhdistelmää. Sataman koputtaminen häiritsee jopa sataman skannaamista ja lippujen nappaamista harrastajia.

Koska mitä tahansa porttien ja kuljetusprotokollien yhdistelmää voidaan käyttää, hyökkääjän pitäisi arvata mahdollisten sekvenssien määrä suuri. Vaikka hakkeri tietäisikin, että mukana oli vain kolme portin koputusta, kuten yllä olevassa hyvin yksinkertaisessa esimerkissä, 64 000 mahdollisen TCP-, UDP- ja ICMP-portin (Internet Control Message Protocol) välillä oli valittavissa, tuloksena oleva joukko mahdollisia yhdistelmiä hakkeri yrittää törmää miljooniin. Satamaskannerit ovat turhautuneita, koska porttien koputtaminen käyttää suljettuja portteja kuunteluun (lisätietoja tästä alla).

Suurin etu on, että portin koputus on alustasta, palvelusta ja sovelluksesta riippumaton: Jokainen käyttöjärjestelmä, jolla on oikea asiakas- ja palvelinohjelmisto, voi hyödyntää sen suojausta. Vaikka portin koputus on pääasiassa Linux / Unix-toteutus, on olemassa Windows-työkaluja, jotka voivat tehdä saman. Ja kuten IPSec ja muut suojamekanismit, mikään mukana olevista palveluista tai sovelluksista ei tarvitse olla tietoinen satamista.

Portin koputtava palvelinohjelmisto toimii seuraamalla palomuurilokia ja etsimällä yhteyksiä suljettuihin portteihin tai seuraamalla IP-pinoa. Edellinen menetelmä edellyttää, että kaikki evätyt yhteysyritykset kirjoitetaan nopeasti palomuurilokiin, ja portin koputuspalvelu (daemon) valvoo ja korreloi laillisia portin koputtavia yhdistelmiä. Todennettujen koputusyhdistelmien tapauksessa portin koputtava palvelinpalvelu palaa palomuurin avaamaan lopullisen pyydetyn portin vain lailliselle portin koputtamisasiakkaalle - yleensä IP-osoitteen perusteella.

Porttien koputtamisen edistyneemmät toteutukset IP-pinossa ja joko kuuntele ja tallenna yhteyksiä suljettuihin portteihin tai käytä kehittyneempää mekanismia. Jotkut toteutukset etsivät tiettyä tavusarjaa ensimmäisellä yhteysyrityksellä. Nämä tavut voidaan jopa piilottaa yksinkertaisessa ICMP-kaikupyynnön pingissä. Vielä vahvempiin portin koputtamisneuvottelumenetelmiin sisältyy salaus tai epäsymmetrinen todennus.

Portin koputtaminen voi toimia myös ylimääräisenä tietoturvakerroksena korkean riskin etähallintapalvelujen, kuten SSH: n ja RDP: n (Remote Desktop Protocol) suojaamiseksi. Valitettavasti useat muutamat rootkit-troijalaiset ovat käyttäneet portin koputtamista, kun heidän hakkereidensa luojat yrittävät pitää hallinnan omasta haitallisesta luomuksestaan.

Kriitikot viittaavat usein siihen, että salakuunteluhakkerit saattavat pystyä kaappaamaan ja toistamaan onnistuneen sataman koputussarjan tai tavusarjan. Vaikka tämä saattaa olla totta perusasetusten yhteydessä, tällaiset hyökkäykset puristettaisiin käyttämällä kehittyneempiä todennustapoja tai minimoidaan käyttämällä toissijaisia ​​kovakoodattuja sallittuja IP-osoitteita, kuten TCP-kääreitä.

Jos hakkeri onnistuu selvittämään yhdistelmän, pahimmassa tapauksessa skenaario on se, että tunkeilija ohittaa portin koputtamisen suojauksen ja joutuu nyt kohtaamaan normaalit palvelun turvatoimet - kirjautumissalasanan kysely ja niin edelleen. Sikäli kuin voin kertoa, sataman koputtaminen voi vain vahvistaa mitä tahansa syvällistä puolustusta koskevaa strategiaa eikä tee mitään vahingoittamaan sitä.

Toivon, että Windowsilla olisi oletusarvoisesti sisäänrakennettu portin koputusmekanismeja. Se olisi mukava täydennys Microsoftin markkinapaikkatestattuihin IPSec- ja Kerberos-toteutuksiin. Linux / Unix-maailmassa on valittavissa lukuisia portin koputtavia toteutuksia, joista kukaan ei vaadi uskomatonta asiantuntemusta kokoonpanossa tai käytössä.

Lisätietoja sataman koputuksesta on osoitteessa www.portknocking.org tai en.wikipedia.org/wiki/Port_knocking. Katso konfigurointitiedot yhdestä toteutusesimerkistä osoitteesta gentoo-wiki.com/HOWTO_Port_Knocking.

Erinomainen kokoelma portin koputtavia ohjelmistoja ja apuohjelmia löytyy osoitteesta www.portknocking.org/view/implementations ja toinen Windows-pohjainen portin koputtava palvelin ja asiakas löytyy osoitteesta www.security.org.sg/code/portknock1 .html.

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