Porttien määrä Verkot. TCP- ja UDP-porttialueet. Tunnettuja esimerkkejä

Verkkoportit voivat antaa tärkeitä tietoja sovelluksista, jotka käyttävät tietokoneita verkon kautta. Kun tiedät verkkoa käyttävät sovellukset ja vastaavat verkkoportit, voit luoda tarkat palomuurisäännöt ja määrittää isäntätietokoneet sallimaan vain hyödyllistä liikennettä. Rakentamalla verkkoprofiilin ja ottamalla käyttöön työkaluja verkkoliikenteen tunnistamiseen, voit havaita tunkeilijat tehokkaammin - joskus yksinkertaisesti analysoimalla heidän tuottamaa verkkoliikennettä. Aloimme pohtia tätä aihetta lehden edellisessä numerossa julkaistun artikkelin ensimmäisessä osassa. Se tarjosi perustiedot TCP/IP-porteista verkon suojauksen perustana. Osassa 2 kuvataan joitakin verkko- ja isäntämenetelmiä, joita voidaan käyttää verkossa kuuntelevien sovellusten tunnistamiseen. Myöhemmin artikkelissa puhumme siitä, kuinka arvioida verkon läpi kulkevaa liikennettä.

Verkkosovellusten estäminen

Verkkohyökkäyspinta on yleinen termi kuvaamaan verkon haavoittuvuutta. Monet verkkohyökkäykset tapahtuvat haavoittuvien sovellusten kautta, ja hyökkäyspintaa voidaan vähentää merkittävästi vähentämällä verkossa olevien aktiivisten sovellusten määrää. Toisin sanoen sinun tulee poistaa käytöstä käyttämättömät palvelut, asentaa palomuuri omistettuun järjestelmään liikenteen laillisuuden tarkistamiseksi ja luoda kattava pääsynhallintaluettelo (ACL) palomuurille verkon kehällä.

Jokainen avoin verkkoportti edustaa sovellusta, joka kuuntelee verkossa. Jokaisen verkkoon kytketyn palvelimen hyökkäyspintaa voidaan pienentää poistamalla käytöstä kaikki tarpeettomat verkkopalvelut ja -sovellukset. Versio Windows Server 2003 ylittää aiemmat versiot käyttöjärjestelmä, koska se mahdollistaa oletusarvoisesti vähemmän verkkopalveluita. Auditointi on kuitenkin vielä tarpeen löytääkseen uudelleen asennetut sovellukset ja konfiguraatiomuutokset, jotka avaavat tarpeettomia verkkoportteja.

Joka avoin portti- Mahdollinen takaovi hyökkääjille, jotka käyttävät hyväkseen isäntäsovelluksen tiloja tai käyttävät sovellusta salaa toisen käyttäjän nimellä ja salasanalla (tai käyttävät muuta laillista todennusmenetelmää). Joka tapauksessa tärkeä ensimmäinen askel verkkosi suojaamiseksi on yksinkertaisesti poistaa käytöstä käyttämättömät verkkosovellukset.

Porttien skannaus

Porttien skannaus on prosessi, jossa havaitaan kuuntelevat sovellukset aktiivisesti pollaamalla tietokoneen tai muun verkkolaitteen verkkoportteja. Mahdollisuus lukea skannaustuloksia ja verrata verkkoraportteja isäntäportin kyselytuloksiin antaa sinulle selkeän kuvan verkon läpi virtaavasta liikenteestä. Verkkotopologian tuntemus on tärkeää laadittaessa strategista suunnitelmaa tiettyjen alueiden skannausta varten. Esimerkiksi skannaamalla useita ulkoisia IP-osoitteita voit kerätä arvokasta tietoa Internet-hyökkääjästä. Siksi sinun tulee tarkistaa verkkosi useammin ja sulkea kaikki tarpeettomat verkkoportit.

Ulkoisen palomuuriportin tarkistus voi havaita kaikki vastaavat palvelut (kuten Web tai sähköposti), joita isännöidään sisäisillä palvelimilla. Nämä palvelimet tulee myös suojata. Määritä tuttu porttiskanneri (esimerkiksi Network Mapper - Nmap) skannaamaan haluttu ryhmä UDP- tai TCP-portit. Tyypillisesti TCP-portin skannaus on luotettavampaa kuin UDP-skannaus sen syvemmälle ottamista varten palautetta yhteyssuuntautuneiden TCP-protokollien kanssa. Nmapista on versioita sekä Windowsille että Unixille. Perusskannauksen aloittaminen on helppoa, vaikka ohjelma tarjoaakin paljon kehittyneempiä ominaisuuksia. Suoritin komennon löytääkseni avoimet portit testitietokoneelta

Nmap 192.168.0.161

Näyttö 1 näyttää tarkistusistunnon tulokset - tässä tapauksessa Windows 2003 -tietokoneen vakiokokoonpanossa. Portin skannauksesta kerätyt tiedot osoittavat, että avoinna on kuusi TCP-porttia.

Näyttö 1: Nmap-perusskannausistunto
  • Porttia 135 käyttää RPC-päätepisteiden kartoitusominaisuus, joka löytyy monista Windows-tekniikoista, kuten COM/DCOM-sovelluksista, DFS:stä, tapahtumien kirjaamisesta, tiedostojen replikaatiosta, viestijonosta ja Microsoft Outlookista. Tämä portti tulee estää palomuurilla verkon kehällä, mutta sitä on vaikea sulkea ja silti säilyttää Windowsin toimivuus.
  • Porttia 139 käyttää NetBIOS-istuntopalvelu, jonka avulla selain voi etsiä muita tietokoneita, palvelu jakaminen tiedostot, verkkokirjautuminen ja palvelinpalvelu. Sitä on vaikea sulkea, kuten portti 135.
  • Windows käyttää porttia 445 tiedostojen jakamiseen. Jos haluat sulkea tämän portin, sinun on estettävä tiedostojen ja tulostimien jakaminen Microsoft Networksissa. Tämän portin sulkeminen ei estä tietokonetta muodostamasta yhteyttä muihin etäresursseihin. muut tietokoneet eivät kuitenkaan voi muodostaa yhteyttä tähän järjestelmään.
  • Portit 1025 ja 1026 avataan dynaamisesti, ja muut järjestelmät käyttävät niitä Windowsin prosesseja, erityisesti erilaisia ​​palveluita.
  • Porttia 3389 käyttää Remote Desktop, joka ei ole oletuksena käytössä, mutta on aktiivinen testitietokoneellani. Sulje portti siirtymällä Järjestelmän ominaisuudet -valintaikkunan Remote-välilehteen ja poistamalla Salli käyttäjien muodostaa etäyhteys tähän tietokoneeseen -valintaruudun valinta.

Muista etsiä avoimet UDP-portit ja sulkea tarpeettomat. Skannausohjelma näyttää tietokoneen avoimet portit, jotka näkyvät verkosta. Samanlaisia ​​tuloksia voidaan saada käyttämällä isäntäjärjestelmässä olevia työkaluja.

Isäntäskannaus

Verkkoporttiskannerin käytön lisäksi isäntäjärjestelmän avoimet portit voidaan havaita käyttämällä seuraavaa komentoa (suorita isäntäjärjestelmässä):

Netstat -an

Tämä komento toimii sekä Windowsissa että UNIXissa. Netstat tarjoaa luettelon tietokoneen aktiivisista porteista. Windows 2003 Windows XP:ssä sinun on lisättävä -o-vaihtoehto saadaksesi vastaava ohjelmatunniste (PID). Kuvassa 2 näkyy Netstat-lähtö samalle tietokoneelle, jonka portti tarkistettiin aiemmin. Huomaa, että useat aiemmin aktiiviset portit on suljettu.

Palomuurilokin tarkastus

Toinen hyödyllinen tapa havaita verkkosovelluksia, jotka lähettävät tai vastaanottavat tietoja verkon kautta, on kerätä ja analysoida lisää tietoja palomuurin lokiin. Estä merkinnät, jotka tarjoavat tietoja palomuurin käyttöliittymästä, eivät todennäköisesti ole hyödyllisiä Internetin tukkivan "meluliikenteen" (esim. madot, skannerit, ping-testit) vuoksi. Mutta jos kirjaat sallitut paketit sisäisestä käyttöliittymästä, näet kaiken tulevan ja lähtevän verkkoliikenteen.

Nähdäksesi verkon raakaliikennetiedot, voit asentaa verkkoanalysaattorin, joka muodostaa yhteyden verkkoon ja tallentaa kaikki havaitut verkkopaketit. Yleisimmin käytetty ilmainen verkkoanalysaattori on Tcpdump for UNIX (Windows-versio on nimeltään Windump), joka on helppo asentaa tietokoneellesi. Ohjelman asennuksen jälkeen sinun tulee määrittää se toimimaan kaikkien verkkopakettien vastaanottotilassa, jotta kaikki liikenne kirjataan, ja kytke se sitten verkkokytkimen porttimonitoriin ja tarkkaile kaikkea verkon kautta kulkevaa liikennettä. Porttimonitorin asentamista käsitellään alla. Tcpdump on erittäin joustava ohjelma, jonka avulla voidaan tarkastella verkkoliikennettä erikoissuodattimilla ja näyttää vain tiedot IP-osoitteista ja porteista tai kaikista paketeista. Suurissa verkoissa verkkovedoksia on vaikea tarkastella ilman asianmukaisten suodattimien apua, mutta on varottava, ettei tärkeitä tietoja menetä.

Komponenttien yhdistäminen

Toistaiseksi olemme harkinneet erilaisia ​​menetelmiä ja työkalut, jotka voivat auttaa sinua löytämään sovelluksia verkkoa käyttävistä. On aika yhdistää ne ja näyttää, kuinka avoimet verkkoportit määritetään. On hämmästyttävää, kuinka chattaiset tietokoneet ovat verkossa! Ensinnäkin on suositeltavaa tutustua Microsoftin asiakirja"Palvelukatsaus ja verkkoporttivaatimukset Windows Server -järjestelmälle" ( http://support.microsoft.com/default.aspx?scid=kb;en-us;832017), joka luettelee sovellusten ja useimpien tärkeimpien protokollien (TCP ja UDP) ja porttinumerot Windows-palvelut Palvelin. Asiakirjassa kuvataan nämä palvelut ja niihin liittyvät verkkoportit, joita ne käyttävät. On suositeltavaa ladata ja tulostaa tämä järjestelmänvalvojille hyödyllinen Windows-verkot viiteopas.

Verkkoanalysaattorin asentaminen

Aikaisemmin todettiin, että yksi tapa määrittää sovellusten käyttämät portit on seurata tietokoneiden välistä liikennettä verkkoanalysaattorin avulla. Jos haluat nähdä kaiken liikenteen, sinun on liitettävä verkkoanalysaattori kytkimen keskittimeen tai porttimonitoriin. Keskittimen jokainen portti näkee kaiken liikenteen jokaiselta keskittimeen liitetyltä tietokoneelta, mutta keskittimet ovat vanhentunutta tekniikkaa ja useimmat yritykset korvaavat ne kytkimillä, jotka tarjoavat hyvän suorituskyvyn, mutta joita on hankala analysoida: kukin kytkinportti hyväksyy vain liikenteen, joka on tarkoitettu yksi tietokone kytketty keskittimeen tähän porttiin. Koko verkon analysoimiseksi sinun on seurattava kuhunkin kytkinporttiin lähetettyä liikennettä.

Tämä edellyttää porttimonitorin (eri valmistajat kutsuvat sitä span-portiksi tai peilatuksi portiksi) asentamista kytkimeen. Porttinäytön asentaminen Cisco Systemsin Cisco Catalyst -kytkimeen on helppoa. Sinun on rekisteröidyttävä kytkimeen ja aktivoitava Enable mode, sitten siirryttävä päätetilan konfigurointiin ja syötettävä kytkinportin liitäntänumero, johon kaikki valvottu liikenne tulee lähettää. Lopuksi sinun on määritettävä kaikki valvotut portit. Esimerkiksi seuraavat komennot valvovat kolmea porttia Nopea Ethernet ja välittää kopion liikenteestä porttiin 24.

Liitäntä FastEthernet0/24-porttimonitori FastEthernet0/1-porttimonitori FastEthernet0/2-porttimonitori FastEthernet0/3-pää

SISÄÄN tässä esimerkissä Porttiin 24 kytketty verkkoanalysaattori näyttää kaiken lähtevän ja saapuvan liikenteen kytkimen kolmeen ensimmäiseen porttiin kytketyistä tietokoneista. Voit tarkastella luotuja määrityksiä kirjoittamalla komennon

Kirjoita muisti

Alkuperäinen analyysi

Katsotaanpa esimerkkiä verkon kautta kulkevien tietojen analysoinnista. Jos käytät Linux-tietokonetta verkkoanalyysiin, voit saada kattavan käsityksen verkon pakettien tyypistä ja tiheydestä käyttämällä ohjelmaa, kuten IPTraf tilastotilassa. Liikennetiedot löytyvät Tcpdump-ohjelman avulla.

Portti sisään Tietokoneverkot on käyttöjärjestelmän viestinnän päätepiste. Tämä termi pätee myös laitteistoihin, mutta ohjelmistoissa se tarkoittaa loogista rakennetta, joka tunnistaa tietyn tyyppisen palvelun tai prosessin. Portti liitetään aina isännän IP-osoitteeseen tai tietoliikenneprotokollatyyppiin. Se suorittaa istunnon osoitteen määrityksen. Jokaiselle protokollalle ja osoitteelle tunnistetaan portti 16-bittisellä numerolla, joka tunnetaan myös porttinumerona. Usein tiettyjä porttinumeroita käytetään tiettyjen palvelujen tunnistamiseen. Useista tuhansista listatuista numeroista 1 024 tunnettua numeroa on suojattu erityisellä sopimuksella. Ne määrittelevät tietyntyyppiset palvelut isännässä. Prosessien ohjaamiseen käytetään protokollia, jotka käyttävät ensisijaisesti portteja. Esimerkki on Transmission Control Protocol (TCP) tai User Datagram Protocol Internet-protokollapaketista.

Merkitys

TCP-portteja ei tarvita suorien point-to-point-linkkien kautta, joissa kummassakin päässä olevat tietokoneet voivat ajaa vain yhtä ohjelmaa kerrallaan. Niiden tarve syntyi, kun nämä koneet osoittautuivat kykeneviksi suorittamaan useampaa kuin yhtä ohjelmaa samanaikaisesti. He huomasivat olevansa yhteydessä nykyaikaisiin pakettikytkentäisiin verkkoihin. Mallissa asiakas-palvelin arkkitehtuuri portit, sovellukset ja verkkoasiakkaat muodostavat yhteyden palvelun käynnistämiseksi. Ne tarjoavat multipleksointipalveluita sen jälkeen, kun ensimmäinen tiedonvaihto on liitetty porttinumeroon. Se vapautetaan vaihtamalla jokainen palvelupyyntö omistettuun linjaan. Yhteys muodostetaan tiettyyn numeroon. Tämän ansiosta lisää asiakkaita voidaan palvella ilman odottelua.

Yksityiskohdat

UDP- ja TCP-tiedonsiirtoprotokollia käytetään osoittamaan kohde- ja lähdeportin numero niiden segmenttiotsikoissa. Porttinumero on etumerkitön 16-bittinen numero. Se voi vaihdella välillä 0 - 65535. TCP-portit eivät kuitenkaan voi käyttää numeroa 0. UDP:ssä lähdeporttia ei vaadita. Arvo, joka on yhtä suuri kuin nolla, tarkoittaa sen puuttumista. Tämä prosessi yhdistää tulo- tai lähtökanavat siirtoprotokollan, portin numeron ja IP-osoitteen avulla Internet-pistokkeen kautta. Tämä prosessi tunnetaan myös nimellä sitominen. Se mahdollistaa tiedon vastaanottamisen ja välittämisen verkon kautta. Käyttöjärjestelmän verkkoohjelmistoa käytetään lähtevän tiedon välittämiseen kaikista sovellusporteista verkkoon. Se myös välittää saapuvat verkkopaketit yhdistämällä numeron ja IP-osoitteen. Vain yksi prosessi voidaan sitoa tiettyyn IP-osoitteeseen ja porttiyhdistelmään käyttämällä samaa siirtoprotokollaa. Sovelluskaatumiset, joita kutsutaan myös sovellusten törmäyksiksi, tapahtuvat, kun useat ohjelmat yrittävät kommunikoida samojen porttinumeroiden kanssa samassa IP-osoitteessa käyttäen samaa protokollaa.

Miten niitä käytetään?

Jaettuja palveluita toteuttavat sovellukset käyttävät melko usein erityisesti varattuja ja kuuluisa lista UDP- ja TCP-portit asiakaspalvelupyyntöjen vastaanottamiseen. Tämä prosessi tunnetaan myös kuunteluna. Se sisältää pyynnön vastaanottamisen tunnetusta portista ja peräkkäisen keskustelun muodostamisen asiakkaan ja palvelimen välillä käyttämällä samaa paikallista porttinumeroa. Muut asiakkaat voivat jatkaa yhteyttä. Tämä on mahdollista, koska TCP-yhteys tunnistetaan ketjuksi, joka koostuu paikallisista ja etäporteista ja osoitteista. Vakio UDP- ja TCP-portit voidaan määrittää sopimuksella IANA:n tai Internet Assigned Numbers Authorityn valvonnassa. Tyypillisesti ydinverkkopalvelut, erityisesti World Wide Web, käyttävät pieniä porttinumeroita, alle 1024. Monissa käyttöjärjestelmissä sovellukset vaativat erityisoikeuksia sitoutuakseen niihin. Tästä syystä niitä pidetään usein kriittisinä IP-verkkojen toiminnan kannalta. Yhteyden loppuasiakas puolestaan ​​pyrkii käyttämään suurempaa määrää lyhytaikaiseen käyttöön varattuna. Tästä syystä on olemassa niin kutsuttuja lyhytaikaisia ​​portteja.

Rakenne

TCP-portit on koodattu kuljetuspaketin pakettiotsikkoon. Ne voidaan helposti tulkita vastaanottavien ja lähettävien tietokoneiden lisäksi myös muiden komponenttien toimesta verkkoinfrastruktuuria. Erityisesti palomuurit on tyypillisesti määritetty erottamaan paketit kohdeporttinumeroiden ja niiden lähteen perusteella. Klassinen esimerkki tästä on uudelleenohjaus. Yritetään yhdistää peräkkäin useisiin saman tietokoneen portteihin tunnetaan myös portin skannauksena. Tällaiset toimenpiteet liittyvät yleensä joko haitallisiin epäonnistumisyrityksiin tai siihen, että verkonvalvojat etsivät erityisesti mahdollisia haavoittuvuuksia tällaisten hyökkäysten estämiseksi. TCP-portin avaamiseen tähtäävät toimet tallennetaan ja ohjataan tietokoneiden avulla. Tämä tekniikka käyttää useita redundantteja yhteyksiä varmistaakseen keskeytymättömän viestinnän palvelimen kanssa.

Esimerkkejä käytöstä

Pääesimerkki, jossa UDP- ja TCP-portteja käytetään aktiivisesti, on Internet-sähköpostijärjestelmä. Palvelinta käytetään sähköpostin kanssa työskentelemiseen. Kaiken kaikkiaan se tarvitsee kaksi palvelua. Ensimmäistä palvelua käytetään kuljetukseen sähköpostitse ja muilta palvelimilta. Tämä saavutetaan käyttämällä SMTP (Simple Mail Transfer Protocol) -protokollaa. SMTP-palvelusovellus kuuntelee tyypillisesti TCP-porttia numero 25 käsitelläkseen saapuvia pyyntöjä. Toinen palvelu on POP tai IMAP. Ne ovat tarpeen sähköpostin asiakassovelluksille käyttäjäkoneissa, jotta ne voivat vastaanottaa viestejä palvelimelta Sähköposti. POP-palvelut kuuntelevat numeroita TCP-portissa 110. Kaikki yllä olevat palvelut voivat toimia samalla isäntätietokoneella. Portin numero, kun tämä tapahtuu, erottaa pyydetyn palvelun etälaite. Jos palvelimen kuunteluportin numero on määritetty oikein, tämä asiakkaan parametri määritetään dynaamisesta alueesta. Asiakkaat ja palvelin erikseen joissakin tapauksissa käyttävät tiettyjä TCP-portteja, jotka on määritetty IANA:ssa. Hyvä esimerkki on DHCP. Tässä asiakas käyttää joka tapauksessa UDP 68:aa ja palvelin UDP 67:ää.

Käyttö URL-osoitteissa

Joskus porttinumerot ovat selvästi näkyvissä Internetissä tai muissa yhtenäisissä kylteissä tietolähteitä, kuten URL-osoite. HTTP käyttää oletusarvoisesti TCP-porttia 80 ja HTTPS porttia 443. On myös muita muunnelmia. Esimerkiksi, URL-osoite http://www.example.com:8080/polku osoittaa, että verkkoselain muodostaa yhteyden numeroon 8080 HTTP-palvelimen sijaan.

Luettelo UDP- ja TCP-porteista

Kuten aiemmin todettiin, IANA tai InternetA:n nimeämä numeroviranomainen on vastuussa DNS-juuren, IP-osoitteiden ja muiden Internet-protokollaresurssien maailmanlaajuisesta koordinoinnista. Näihin toimenpiteisiin kuuluu tunnettujen Internet-palvelujen usein käytettyjen porttien rekisteröinti. Kaikki porttinumerot on jaettu kolmeen alueeseen: tunnettu, rekisteröity ja yksityinen tai dynaaminen. Tunnettuja portteja ovat portit, joiden numerot ovat 0-1023. Niitä kutsutaan myös järjestelmäporteiksi. Vaatimukset tämän alueen uusille arvoille ovat tiukemmat kuin muille rekisteröinneille.

Esimerkkejä

Esimerkkejä tunnetun luettelon porteista ovat:

  • TCP-portti 443 – HTTPS;
  • 21 – Tiedostonsiirtoprotokolla;
  • 22- Secure Shell;
  • 25 – yksinkertainen postinsiirtoprotokolla STMP;
  • 53 – verkkotunnusjärjestelmän DNS;
  • 119 – Network News Transfer Protocol tai NNTP;
  • 80 – Hypertext Transfer Protocol HTTP;
  • 143 – Internet Message Access Protocol;
  • 123 – NTP-verkkoaikaprotokolla;
  • 161 - yksinkertainen verkonhallintaprotokolla SNMP.

Rekisteröityjen porttien numeroiden on oltava 1024-49151. Internet Assigned Numbers Authority ylläpitää virallista luetteloa kaikista tunnetuista ja rekisteröidyistä alueista. Taajuus- tai dynaamiset portit vaihtelevat välillä 29152–65535. Yksi tämän alueen käyttötarkoituksista on väliaikaiset portit.

Luomisen historia

Porttinumeroiden käsitteen ovat kehittäneet ARPANETin varhaiset luojat. Se kehitettiin epävirallisessa yhteistyössä kirjoittajien kesken ohjelmisto ja järjestelmänvalvojat. Tuolloin termiä "portin numero" ei vielä käytetty. Etäisäntänumerosarja oli 40-bittinen numero. Ensimmäiset 32 ​​bittiä muistuttivat tämän päivän IPv4-osoitetta. Merkittävimmät olivat ensimmäiset 8 bittiä. Vähemmän merkitsevä osa luvusta (nämä ovat bittejä 33-40) nimesi objektin nimeltä AEN. Se oli prototyyppi modernista porttinumerosta. Socket-numerohakemiston luomista ehdotettiin ensimmäisen kerran 26. maaliskuuta 1972. Tämän jälkeen verkonvalvojia pyydettiin kuvailemaan kutakin kiinteää numeroa verkkopalvelujen ja sen toimintojen perusteella. Tämä luettelo julkaistiin myöhemmin nimellä RFC 433 talvella 1972. Se sisälsi luettelon isännistä, niiden porttinumeroista ja vastaavan toiminnon, jota käytettiin verkon jokaisessa solmussa. Ensimmäiset viralliset porttinumeroarvot dokumentoitiin toukokuussa 1972. Samalla ehdotettiin erityistä hallinnollista tehtävää tämän rekisterin ylläpitämiseksi. Ensimmäinen TCP-porttien luettelo sisälsi 256 AEN-arvoa, jotka jaettiin seuraaviin alueisiin:

- 0 - 63 - vakio-ominaisuudet koko verkko;

- 64 - 127 - isäntäkohtaiset toiminnot;

— 128–239 – myöhempää käyttöä varten varatut toiminnot;

- 240 - 255 - mikä tahansa kokeellinen funktio.

Termi AEN viittasi ARPANETin alkuaikoina myös sen pistokkeen nimeen, jota käytettiin alkuperäisen yhteysprotokollan ja eli NCP:n kanssa. Tässä tapauksessa NCP edusti TCP/IP-portteja käyttävien nykyaikaisten Internet-protokollien edelläkävijä.

TCP/IP-portit

Tiedonvaihtoa tietokoneiden välillä on kahdenlaisia ​​- datathunders Ja istuntoja. Datagrammi on viesti, joka ei edellytä vastaanottajalta vahvistusta vastaanottamisesta ja jos tällainen vahvistus on tarpeen, vastaanottajan tulee lähettää itse erityinen viesti. Tietojen vaihtamiseksi tällä tavalla vastaanottavien ja lähettävien osapuolten on noudatettava tiukasti tiettyä protokollaa tietojen menettämisen välttämiseksi. Jokainen datasähke on itsenäinen sanoma, ja jos lähiverkossa on useita datasähkeitä, niiden toimittamista vastaanottajalle ei yleisesti ottaen taata. Tässä tapauksessa datagrammi on yleensä osa viestiä, ja useimmilla LAN-verkoilla datagrammien siirtonopeus on paljon suurempi kuin istuntojen viestien.

SISÄÄN istunto oletetaan, että tietokoneiden välistä viestien vaihtoa varten luodaan looginen yhteys ja viestien vastaanotto on taattu. Vaikka datasähkeitä voidaan lähettää milloin tahansa, istunnon aikana istunto lopetetaan ennen viestin lähettämistä, ja istunto on suljettava, kun tiedonvaihto on valmis.

Useimpien tietokoneiden käyttöjärjestelmät tukevat moniohjelmointitilaa, ts. useita ohjelmia on käynnissä samanaikaisesti (useita prosesseja käynnissä rinnakkain). Tietyllä tarkkuudella voimme sanoa, että prosessi on viestin lopullinen kohde. Koska prosessit luodaan ja lopetetaan dynaamisesti, lähettäjällä on harvoin tarpeeksi tietoa tunnistaakseen prosessin toisessa tietokoneessa. Siksi on välttämätöntä määrittää tietojen kohde prosessien suorittamien toimintojen perusteella tietämättä mitään näiden toimintojen toteuttamista prosesseista.

Käytännössä jokaisella tietokoneella ajatellaan olevan joukko kohteita, joita kutsutaan protokollaporteiksi, sen sijaan, että ajatellaan prosessia lopullisena määränpäänä. Jokainen portti tunnistetaan positiivisella kokonaisluvulla (0 - 65535). Tässä tapauksessa käyttöjärjestelmä tarjoaa viestintämekanismin, jota prosessit käyttävät osoittamaan portin, jossa ne toimivat, tai portin, johon ne tarvitsevat pääsyn. Yleensä portit puskuroidaan, ja tiedot, jotka saapuvat tiettyyn porttiin ennen kuin prosessi on valmis vastaanottamaan ne, eivät katoa: ne ovat jonossa, kunnes prosessi hakee ne.

Ymmärtääksesi paremmin satamatekniikkaa, kuvittele, että menet pankkiin tekemään talletuksen. Tätä varten sinun on mentävä tiettyyn ikkunaan, jossa operaattori täyttää asiakirjat ja avaat tilin. Tässä esimerkissä pankki edustaa tietokonetta ja pankkioperaattorit ovat tiettyä työtä suorittavia ohjelmia, mutta ikkunat ovat portteja ja jokainen pankin ikkuna on usein numeroitu (1, 2, 3 ...).

Sama koskee portteja, joten voidakseen kommunikoida toisen tietokoneen portin kanssa lähettäjän on tiedettävä sekä vastaanottavan tietokoneen IP-osoite että portin numero tietokoneessa. Jokainen viesti sisältää sekä sen tietokoneen portin numeron, johon viesti on osoitettu, että sen tietokoneen lähdeportin numeron, johon vastaus tulee lähettää. Tämä mahdollistaa vastaamisen lähettäjälle jokaisesta prosessista.

TCP/IP-portit, joiden numero on 0–1023, ovat etuoikeutettuja, ja niitä käyttävät verkkopalvelut, jotka puolestaan ​​toimivat järjestelmänvalvojan (superkäyttäjän) oikeuksin. Esimerkiksi tiedostojen käyttöpalvelu ja Windowsin kansiot käyttää porttia 139, mutta jos se ei ole käynnissä tietokoneessa, saat virheilmoituksen, kun yrität käyttää tätä palvelua (eli tätä porttia).

TCP/IP-portit 1023–65535 ovat etuoikeutettomia, ja asiakasohjelmat käyttävät niitä vastaanottaakseen vastauksia palvelimilta. Esimerkiksi käyttäjän verkkoselain käyttää verkkopalvelinta käyttäessään tietokoneensa porttia 44587, mutta käyttää verkkopalvelimen porttia 80. Saatuaan pyynnön web-palvelin lähettää vastauksen porttiin 44587, jota selain käyttää.

Kuljetuskerros

Tehtävä kuljetuskerros on tiedonsiirto eri sovellusten välillä, jotka toimivat kaikissa verkon solmuissa. Kun paketti on toimitettu IP:n kautta vastaanottavalle tietokoneelle, tiedot on lähetettävä erityiselle vastaanottajaprosessille. Jokainen tietokone voi suorittaa useita prosesseja, ja sovelluksella voi olla useita sisääntulopisteitä, jotka toimivat datapakettien kohteena.

Käyttöjärjestelmän kuljetuskerrokseen saapuvat paketit järjestetään useisiin jonoihin tulopisteissä erilaisia ​​sovelluksia. TCP/IP-terminologiassa näitä tulopisteitä kutsutaan porteiksi.

Lähetyksen ohjausprotokolla

Lähetyksen ohjausprotokolla(TCP) (Transmission Control Protocol) on TCP/IP-standardin pakollinen protokolla, joka on määritelty RFC 793:ssa "Transmission Control Protocol (TCP)".

TCP on siirtokerroksen protokolla, joka mahdollistaa tietovirran kuljetuksen (lähetyksen), jossa on ensin muodostettava yhteys, mikä takaa luottamus vastaanotetun tiedon eheyteen, ja suorittaa myös toistuvan datapyynnön datan katoamisen sattuessa. tai korruptiota. Lisäksi TCP-protokolla valvoo päällekkäisiä paketteja ja tuhoaa pakettien kaksoiskappaleet, jos se havaitaan.

Toisin kuin UDP-protokolla, se takaa lähetetyn tiedon eheyden ja lähettäjän vahvistuksen siirron tuloksista. Käytetään tiedostojen siirroissa, joissa yhden paketin katoaminen voi vioittaa koko tiedoston.

TCP saavuttaa luotettavuutensa seuraavilla tavoilla:

  • Sovelluksen tiedot on jaettu tietynkokoisiin lohkoihin, jotka lähetetään.
  • Kun TCP lähettää segmentin, se asettaa ajastimen odottamaan, että segmentin kuittaus saapuu etäpäästä. Jos kuittausta ei vastaanoteta ajan kuluttua, segmentti lähetetään uudelleen.
  • Kun TCP vastaanottaa tietoja yhteyden etäpuolelta, se lähettää kuittauksen. Tätä kuittausta ei lähetetä heti, vaan se yleensä viivästyy sekunnin murto-osan.
  • TCP laskee tarkistussumman otsikolleen ja tiedoilleen. Tämä on yhteyden päissä laskettava tarkistussumma, jonka tarkoituksena on havaita tiedon muutos lähetyksen aikana. Jos segmentti saapuu väärällä tarkistussummalla, TCP hylkää sen eikä kuittausta synny. (Lähettäjän odotetaan aikakatkaisun ja lähettävän uudelleen.)
  • Koska TCP-segmentit lähetetään IP-datagrammeina ja IP-datagrammit voivat saapua satunnaisesti, TCP-segmentit voivat saapua myös satunnaisesti. Tietojen vastaanottamisen jälkeen TCP voi järjestellä ne uudelleen tarpeen mukaan, jotta sovellus vastaanottaa tiedot oikeassa järjestyksessä.
  • Koska IP-datagrammi voidaan monistaa, vastaanottavan TCP:n on hylättävä monistetut tiedot.
  • TCP tarjoaa vuonhallinnan. TCP-yhteyden jokaisella puolella on oma puskuritila. Vastaanottopään TCP sallii etäpään lähettää dataa vain, jos vastaanottaja voi sovittaa sen puskuriin. Tämä estää hitaita isäntiä täyttämästä puskurinsa nopeilla isännillä.

  • Järjestysnumerolla on kaksi tarkoitusta:
    • Jos SYN-lippu on asetettu, tämä on järjestysnumeron aloitusarvo - ISN (Initial Sequence Number), ja ensimmäisellä datatavulla, joka lähetetään seuraavassa paketissa, on järjestysnumero, joka on yhtä suuri kuin ISN + 1.
    • Muussa tapauksessa, jos SYN:ää ei ole asetettu, tietyssä paketissa lähetetyn datan ensimmäisellä tavulla on tämä järjestysnumero.
  • Kuittausnumero - Jos ACK-lippu on asetettu, tämä kenttä sisältää järjestysnumeron, jonka vastaanottaja odottaa seuraavan kerran. Merkitsee tämän osan vastaanottovahvistukseksi.
  • Otsikon pituus määritetään 32-bittisillä sanoilla.
  • Ikkunan koko on tavumäärä, jonka vastaanottaja on valmis vastaanottamaan ilman vahvistusta.
  • Tarkistussumma - sisältää pseudo-otsikon, otsikon ja tiedot.
  • Kiireellisyyden ilmaisin - osoittaa viimeisen tavun kiireellistä dataa, johon on vastattava välittömästi.
  • URG - kiireellisyyslippu, sisältää "Kiireellisyysilmaisin"-kentän; jos =0, kenttä ohitetaan.
  • ACK - vahvistuslippu, sisältää "Kuittausnumero"-kentän, jos =0, kenttä ohitetaan.
  • PSH - lippu vaatii push-toiminnon, TCP-moduulin on kiireellisesti siirrettävä paketti ohjelmaan.
  • RST - yhteyden keskeytyslippu, käytetään yhteyden kieltämiseen
  • SYN - järjestysnumeron synkronointilippu, käytetään yhteyden muodostamisessa.
  • FIN - lähetyksen loppu -lippu lähettäjän puolelta

Katsotaanpa otsikkorakennetta TCP käyttämällä Wireshark verkkoanalysaattoria:


TCP-portit

Koska useita ohjelmia voi olla käynnissä samassa tietokoneessa, toimittamaan TCP-paketti erityinen ohjelma, käytetään kunkin ohjelman yksilöllistä tunnistetta tai porttinumeroa.

Porttinumero on ehdollinen 16-bittinen luku väliltä 1 - 65535, joka osoittaa, mille ohjelmalle paketti on tarkoitettu.

TCP-portit käyttävät erityistä ohjelmaporttia TCP (Transmission Control Protocol) -protokollalla lähetetyn tiedon toimittamiseen. TCP-portit ovat monimutkaisempia ja toimivat eri tavalla kuin UDP-portit. Vaikka UDP-portti toimii yksittäisenä viestijonona ja UDP-yhteyden sisääntulopisteenä, kaikkien TCP-yhteyksien viimeinen sisääntulopiste on yksilöllinen yhteys. Jokainen TCP-yhteys tunnistetaan yksilöllisesti kahdella tulopisteellä.

Jokainen yksittäinen TCP-palvelinportti voi tarjota yleinen pääsy useisiin yhteyksiin, koska kaikki TCP-yhteydet tunnistetaan kahdella arvolla: IP-osoite ja TCP-portti (socket).

Kaikki TCP-porttinumerot, jotka ovat alle 1024, on varattu ja rekisteröity Internet Assigned Numbers Authorityn (IANA) toimesta.

UDP- ja TCP-porttien numerot eivät mene päällekkäin.

TCP-ohjelmat käyttävät varattuja tai tunnettuja porttinumeroita, kuten seuraavassa kuvassa näkyy.

TCP-yhteyden muodostaminen

Katsotaan nyt kuinka TCP-yhteydet muodostetaan. Oletetaan, että yhdessä isännässä käynnissä oleva prosessi haluaa muodostaa yhteyden toiseen prosessiin toisessa isännässä. Muista, että isäntä, joka aloittaa yhteyden, kutsutaan "asiakkaaksi", kun taas toista isäntä kutsutaan "palvelimeksi".

Ennen tietojen lähettämistä osapuolten on muodostettava yhteys TCP-protokollan mukaan. Yhteys muodostetaan kolmessa vaiheessa (TCP "triple handshake" -prosessi).

  • Pyytäjä (yleensä asiakas) lähettää SYN-segmentin, joka osoittaa sen palvelimen porttinumeron, johon asiakas haluaa muodostaa yhteyden, ja asiakkaan alkuperäisen järjestysnumeron (ISN).
  • Palvelin vastaa SYN-segmentillä, joka sisältää palvelimen alkuperäisen järjestysnumeron. Palvelin myös kuittaa asiakkaan SYN:n saapumisen ACK:lla (ISN + 1). Yhtä SYN:ää kohti käytetään yhtä järjestysnumeroa.
  • Asiakkaan tulee kuitata SYN:n saapuminen palvelimelta sen SYN-segmenteillä, jotka sisältävät asiakkaan alkuperäisen järjestysnumeron (ISN+1) ja käyttämällä ACK:ta (ISN+1). SYN-bitti on asetettu arvoon 0, koska yhteys on muodostettu.

Kun TCP-yhteys on muodostettu, nämä kaksi isäntää voivat lähettää tietoja toisilleen, koska TCP-yhteys on kaksisuuntainen, ne voivat lähettää tietoja samanaikaisesti.

TCP/IP-protokolla on Internetin perusta, jonka kautta tietokoneet lähettävät ja vastaanottavat tietoa mistä päin maailmaa tahansa maantieteellisestä sijainnista riippumatta. Toisessa maassa olevan TCP/IP-tietokoneen käyttäminen on yhtä helppoa kuin viereisen huoneen tietokoneen käyttäminen. Pääsymenettely on identtinen molemmissa tapauksissa, vaikka yhteyden muodostaminen toisessa maassa olevaan koneeseen voi kestää muutaman millisekunnin kauemmin. Tämän seurauksena minkä tahansa maan kansalaiset voivat helposti tehdä ostoksia Amazon.comissa; loogisen läheisyyden vuoksi tehtävästä tulee kuitenkin monimutkaisempi tietoturva: Kuka tahansa Internetiin yhdistetyn tietokoneen omistaja kaikkialla maailmassa voi yrittää muodostaa luvattoman yhteyden mihin tahansa muuhun koneeseen.

IT-ammattilaisten vastuulla on asentaa palomuurit ja järjestelmät epäilyttävän liikenteen havaitsemiseksi. Pakettianalyysi hakee tietoja lähde- ja kohde-IP-osoitteista ja mukana olevista verkkoporteista. Verkkoporttien arvo ei ole huonompi kuin IP-osoitteiden; nämä ovat tärkeimmät kriteerit hyödyllisen liikenteen erottamiseksi verkkoon saapuvista ja sieltä lähtevistä vääristä ja haitallisista viesteistä. Suurin osa Internet-verkkoliikenteestä koostuu TCP- ja UDP-paketteista, jotka sisältävät tietoa verkkoporteista, joita tietokoneet käyttävät reitittämään liikennettä sovelluksesta toiseen. Palomuurin ja verkon suojauksen edellytyksenä on, että järjestelmänvalvojalla on perusteellinen käsitys siitä, kuinka tietokoneet ja verkkolaitteet käyttävät näitä portteja.

Satamien opiskelu

Verkkoporttien toiminnan perusperiaatteiden tuntemus on hyödyllistä kaikille Järjestelmänvalvoja. Perustietonsa TCP- ja UDP-porteista järjestelmänvalvoja voi itsenäisesti diagnosoida epäonnistuneen verkkosovelluksen tai suojata Internetiä käyttävän tietokoneen soittamatta verkkosuunnittelijalle tai palomuurikonsultille.

Tämän artikkelin ensimmäisessä osassa (joka koostuu kahdesta osasta) kuvataan peruskäsitteet, joita tarvitaan verkkoporttien käsittelemiseen. Verkkoporttien paikka yleisessä verkkomallissa sekä verkkoporttien ja NAT:n (Network Address Translation) rooli näytetään. verkko-osoitteita) palomuuri yrityksen tietokoneiden Internet-yhteyksissä. Lopuksi ilmoitetaan verkkopisteet, joissa on kätevää tunnistaa ja suodattaa verkkoliikenne vastaavissa verkkoporteissa. Osassa 2 tarkastellaan joitain yleisten sovellusten ja käyttöjärjestelmien käyttämiä portteja ja esitellään työkaluja avointen verkkoporttien löytämiseen.

Lyhyt katsaus verkkoprotokolliin

TCP/IP on joukko verkkoprotokollia, joiden kautta tietokoneet kommunikoivat keskenään. TCP/IP-paketti ei ole muuta kuin käyttöjärjestelmään asennettua ohjelmistokoodia, joka mahdollistaa pääsyn näihin protokolliin. TCP/IP on standardi, joten TCP/IP-sovellukset ovat päällä Windows-tietokone pitäisi kommunikoida onnistuneesti samanlaisen sovelluksen kanssa UNIX-koneessa. Verkottumisen alkuaikoina, vuonna 1983, insinöörit kehittivät seitsemänkerroksisen OSI-yhteenkytkentämallin kuvaamaan tietokoneverkkoprosesseja kaapelista sovellukseen. OSI malli koostuu fyysisistä, kanava-, verkko-, siirto-, istuntotietojen esityksestä ja sovelluskerroksista. Jatkuvasti Internetin ja TCP/IP:n kanssa työskentelevät järjestelmänvalvojat käsittelevät ensisijaisesti verkko-, kuljetus- ja sovelluskerroksia, mutta onnistuneeseen diagnostiikkaan tarvitaan muiden kerrosten tunteminen. OSI-mallin pitkästä iästä huolimatta monet asiantuntijat käyttävät sitä edelleen. Esimerkiksi kun verkkosuunnittelija puhuu Layer 1- tai Layer 2 -kytkimistä tai palomuuritoimittaja Layer 7 -ohjauksesta, he puhuvat OSI-mallissa määritellyistä tasoista.

Tämä artikkeli käsittelee verkkoportteja, jotka sijaitsevat kerroksessa 4 - kuljetus. TCP/IP-paketissa näitä portteja käyttävät TCP- ja UDP-protokollat. Mutta ennen kuin pääsemme Yksityiskohtainen kuvaus Yksi kerros, sinun on tutustuttava lyhyesti seitsemään OSI-kerrokseen ja niiden rooliin nykyaikaisissa TCP/IP-verkoissa.

Tasot 1 ja 2: Fyysiset kaapelit ja MAC-osoitteet

Layer 1, fyysinen, edustaa todellista välinettä, jonka läpi signaali kulkee, kuten kuparikaapeli, valokuitukaapeli tai radiosignaalit (Wi-Fi-verkon tapauksessa). Kerros 2, datalinkki, kuvaa fyysisessä välineessä lähetettävän datamuodon. Layer 2:ssa paketit järjestetään kehyksiin ja voidaan toteuttaa perusvirtauksen ohjaus- ja virheenkäsittelytoiminnot. IEEE 802.3, joka tunnetaan paremmin nimellä Ethernet, on tämän päivän laajimmin käytetty Layer 2 -standardi. paikalliset verkot. Tyypillinen verkkokytkin on Layer 2 -laite, jonka kautta useat tietokoneet muodostavat fyysisen yhteyden ja vaihtavat tietoja keskenään. Joskus kaksi tietokonetta ei saa yhteyttä toisiinsa, vaikka IP-osoitteet näyttävät olevan oikeita: ongelma voi johtua Address Resolution Protocol (ARP) -välimuistin virheistä, jotka osoittavat ongelman kerroksessa 2. Lisäksi jotkut langattomat pisteet tukiasemat (Access Point, AP) tarjoavat suodatuksen MAC-osoitteet, sallii yhteyden vain langattomaan tukiasemaan Verkkosovittimet tietyllä MAC-osoitteella.

Tasot 3 ja 4: IP-osoitteet ja verkkoportit

Taso 3, verkko, tukee reititystä. TCP/IP:ssä reititys toteutetaan IP:ssä. Paketin IP-osoite kuuluu tasolle 3. Verkkoreitittimet ovat Layer 3 -laitteita, jotka analysoivat pakettien IP-osoitteita ja välittävät paketit toiselle reitittimelle tai toimittavat paketteja paikalliset tietokoneet. Jos verkossa havaitaan epäilyttävä paketti, ensimmäinen vaihe on tarkistaa paketin IP-osoite paketin alkuperän selvittämiseksi.

Yhdessä verkkokerroksen kanssa kerros 4 (kuljetus) on hyvä lähtökohta verkko-ongelmien diagnosoinnissa. Internetissä Layer 4 sisältää TCP- ja UDP-protokollat ​​ja tiedot verkkoportista, joka yhdistää paketin tiettyyn sovellukseen. Tietokoneen verkkopino käyttää TCP- tai UDP-verkkoporttiyhdistystä sovelluksen kanssa verkkoliikenteen ohjaamiseksi kyseiseen sovellukseen. Esimerkiksi TCP-portti 80 on liitetty Web-palvelinsovellukseen. Tämä porttien yhdistäminen sovelluksiin tunnetaan palveluna.

TCP ja UDP ovat erilaisia. Pohjimmiltaan TCP tarjoaa luotettava yhteys tietojen vaihtamiseen kahden sovelluksen välillä. Ennen kuin tietoliikenne voi alkaa, kahden sovelluksen on muodostettava yhteys suorittamalla kolmivaiheinen TCP-kättelyprosessi. UDP on enemmän tule ja unohda -lähestymistapa. Yhteyden luotettavuus TCP-sovelluksille varmistetaan protokollalla, mutta UDP-sovelluksen on itse tarkastettava yhteyden luotettavuus.

Verkkoportti on numero väliltä 1 - 65535, joka on määritetty ja tiedossa molemmille sovelluksille, joiden välillä yhteys muodostetaan. Esimerkiksi asiakas lähettää tyypillisesti salaamattoman pyynnön palvelimelle kohdeosoitteeseen TCP-portissa 80. Tyypillisesti tietokone lähettää DNS-pyynnön DNS-palvelimelle kohdeosoitteeseen UDP-portissa 53. Asiakkaalla ja palvelimella on lähde. ja kohde-IP-osoite sekä lähde- ja kohdeverkkoportti, jotka voivat vaihdella. Historiallisesti kaikkia 1024:n alapuolella olevia porttinumeroita kutsutaan "tunnetuiksi porttinumeroiksi" ja ne on rekisteröity Internet Assigned Numbers Authoritylle (IANA). Vain joissakin käyttöjärjestelmissä järjestelmäprosessit voi käyttää tämän alueen portteja. Lisäksi organisaatiot voivat rekisteröidä portit 1024–49151 IANA:ssa liittääkseen portin sovellukseensa. Tämä rekisteröinti tarjoaa rakenteen, joka auttaa välttämään ristiriidat sovellusten välillä, jotka yrittävät käyttää samaa porttinumeroa. Yleisesti ottaen mikään ei kuitenkaan estä sovellusta pyytämästä tiettyä porttia niin kauan kuin se ei ole toisen aktiivisen ohjelman käytössä.

Historiallisesti palvelin saattoi kuunnella pieninumeroisia portteja, ja asiakas pystyi muodostamaan yhteyden suurinumeroiseen porttiin (yli 1024). Esimerkiksi Web-asiakas voi avata yhteyden Web-palvelimeen kohdeportissa 80, mutta liittää satunnaisesti valitun lähdeportin, kuten TCP-portin 1025. Vastatessaan asiakkaalle Web-palvelin osoittaa paketin asiakkaalle lähteen kanssa. portti 80 ja kohdeportti 1025. IP-osoitteen ja portin yhdistelmää kutsutaan socketiksi, ja sen on oltava yksilöllinen tietokoneessa. Tästä syystä, kun määrität Web-palvelimen, jossa on kaksi erillistä Web-sivustoa samassa tietokoneessa, sinun on käytettävä useita IP-osoitteita, kuten osoite1:80 ja osoite2:80, tai määritettävä Web-palvelin kuuntelemaan useita verkkoportteja, esim. osoitteena 1:80 ja osoitteena 1:81. Jotkut Web-palvelimet sallivat useiden Web-sivustojen ajamisen yhdessä portissa pyytämällä isäntäotsikkoa, mutta Web-palvelinsovellus suorittaa tämän toiminnon itse asiassa useamman kuin yhden portin kautta. korkeatasoinen 7.

Kun verkkoominaisuudet tulivat saataville käyttöjärjestelmissä ja sovelluksissa, ohjelmoijat alkoivat käyttää 1024:ää suurempia porttinumeroita rekisteröimättä kaikkia sovelluksia IANA:ssa. Kun etsit Internetistä mitä tahansa verkkoporttia, voit yleensä löytää nopeasti tietoja kyseistä porttia käyttävistä sovelluksista. Tai voit etsiä tunnettuja portteja ja löytää monia sivustoja, joissa luetellaan yleisimmät portit.

Kun estät tietokoneen verkkosovelluksia tai etsit palomuurivirheitä, suurin osa työstä tulee luokittelemalla ja suodattamalla Layer 3 IP-osoitteita ja Layer 4 -protokollia ja verkkoportteja. Jotta voit nopeasti erottaa laillisen ja epäilyttävän liikenteen, sinun tulee oppia tunnistamaan 20 suurinta laajalti käytettyjä yritysten TCP- ja UDP-portteja.

Verkkoporttien tunnistamisen ja niihin perehtymisen oppiminen on muutakin kuin palomuurisääntöjen määrittäminen. Esimerkiksi jotkin Microsoftin tietoturvakorjaukset kuvaavat NetBIOS-porttien sulkemista. Tämä toimenpide auttaa rajoittamaan käyttöjärjestelmän haavoittuvuuksien kautta tunkeutuvien matojen leviämistä. Kun tiedät, miten ja missä nämä portit suljetaan, voit vähentää verkon tietoturvariskejä valmistautuessasi kriittisen korjaustiedoston asentamiseen.

Ja suoraan tasolle 7

Layer 5:stä (istunto) ja Layer 6:sta (esitys) on nykyään harvinaista kuulla, mutta Layer 7 (sovellus) on kuuma aihe palomuuritoimittajien keskuudessa. Uusin trendi verkon palomuurien kehittämisessä on Layer 7 -tarkastus, joka kuvaa tekniikat, joilla analysoidaan sovelluksen suorituskykyä vastaan. verkkoprotokollat. Analysoimalla verkkopaketin hyötykuormaa palomuuri voi määrittää, onko sen läpi kulkeva liikenne laillista. Esimerkiksi Web-pyyntö sisältää GET-käskyn Layer 4 -paketin sisällä (TCP-portti 80). Jos palomuurissasi on Layer 7 -toiminto, voit varmistaa, että GET-lause on oikea. Toinen esimerkki on, että monet peer-to-peer (P2P) -tiedostonjako-ohjelmat voivat kaapata portin 80. Tämän seurauksena ulkopuolinen voi määrittää ohjelman käyttämään valitsemaansa porttia - todennäköisesti porttia, joka tulisi jättää auki. tietty palomuuri. Jos yrityksen työntekijät tarvitsevat pääsyä Internetiin, portti 80 on avattava, mutta jotta laillinen Web-liikenne voidaan erottaa jonkun porttiin 80 ohjaamasta P2P-liikenteestä, palomuurin on tarjottava kerroksen 7 ohjaus.

Palomuurin rooli

Kun verkkokerrokset on kuvattu, voimme siirtyä kuvaamaan verkkosovellusten välistä viestintämekanismia palomuurien kautta keskittyen Erityistä huomiota käytetyt verkkoportit. SISÄÄN seuraava esimerkki Asiakasselain kommunikoi palomuurin toisella puolella olevan Web-palvelimen kanssa, aivan kuten yrityksen työntekijä kommunikoi Web-palvelimen kanssa Internetissä.

Useimmat Internetin palomuurit toimivat kerroksilla 3 ja 4 tutkiakseen ja salliakseen tai estääkseen saapuvan ja lähtevän verkkoliikenteen. Yleensä järjestelmänvalvoja kirjoittaa pääsynvalvontaluetteloita (ACL), jotka määrittelevät estetyn tai sallitun liikenteen IP-osoitteet ja verkkoportit. Jos haluat esimerkiksi käyttää Internetiä, sinun on käynnistettävä selain ja osoitettava se Web-sivustoon. Tietokone aloittaa lähtevän yhteyden lähettämällä IP-pakettien sarjan, joka koostuu otsikosta ja hyötykuormatiedoista. Otsikko sisältää reittitietoja ja muita pakettimääritteitä. Palomuurisäännöt kirjoitetaan usein reititystiedot mielessä ja sisältävät yleensä lähde- ja kohde-IP-osoitteet (taso 3) ja pakettiprotokollan (kerros 4). Liikkuessaan Webin IP-osoite Kohde kuuluu Web-palvelimelle, ja protokolla ja kohdeportti (oletuksena) ovat TCP 80. Lähteen IP-osoite on sen tietokoneen osoite, josta käyttäjä käyttää verkkoa, ja lähdeportti on yleensä dynaamisesti määritetty numero. suurempi kuin 1024. Hyödyllistä tietoa otsikosta riippumaton ja käyttäjän sovelluksen luoma; tässä tapauksessa se on pyyntö Web-palvelimelle tarjota Web-sivu.

Palomuuri analysoi lähtevän liikenteen ja sallii sen palomuurin sääntöjen mukaisesti. Monet yritykset sallivat kaiken lähtevän liikenteen verkosta. Tämä lähestymistapa yksinkertaistaa määritystä ja käyttöönottoa, mutta heikentää turvallisuutta, koska verkosta lähteviä tietoja ei voida hallita. Esimerkiksi Troijan hevonen voi tartuttaa tietokoneen yritysverkossa ja lähettää tietoja kyseisestä tietokoneesta toiseen tietokoneeseen Internetissä. On järkevää luoda pääsynhallintaluetteloita tällaisten lähtevien tietojen estämiseksi.

Toisin kuin monet palomuurit, useimmat niistä on määritetty estämään saapuva liikenne. Tyypillisesti palomuurit sallivat saapuvan liikenteen vain kahdessa tilanteessa. Ensimmäinen on liikenne, joka saapuu vastauksena käyttäjän aiemmin lähettämään lähtevään pyyntöön. Jos esimerkiksi määrität Web-sivun osoitteen selaimessa, palomuuri sallii pääsyn verkkoon ohjelmakoodi HTML ja muut Web-sivun osat. Toinen tapaus on sisäisen palvelun sijoittaminen Internetiin, kuten esim sähköpostipalvelin, Web- tai FTP-sivusto. Tällaisen palvelun isännöintiä kutsutaan yleensä porttikäännökseksi tai palvelinjulkaisuksi. Portin kääntämisen toteutus vaihtelee palomuuritoimittajilla, mutta taustalla on sama periaate. Järjestelmänvalvoja määrittää palvelun, kuten TCP-portin 80 Web-palvelimelle ja taustapalvelimen palvelun isännöimiseksi. Jos paketit tulevat palomuuriin tätä palvelua vastaavan ulkoisen liitännän kautta, portin käännösmekanismi välittää ne tietylle verkon tietokoneelle, joka on piilotettu palomuurin taakse. Portin käännöstä käytetään yhdessä alla kuvatun NAT-palvelun kanssa.

NAT perusasiat

NAT:n avulla useat yrityksen tietokoneet voivat jakaa pienen julkisen IP-osoitetilan. Yrityksen DHCP-palvelin voi allokoida IP-osoitteen yhdestä yksityisestä, Internetin reitittämättömästä IP-osoitelohkosta, joka on määritelty Request for Comments (RFC) nro 1918:ssa. Useat yritykset voivat myös jakaa saman yksityisen IP-osoitetilan. Esimerkkejä yksityisistä IP-aliverkoista ovat 10.0.0.0/8, 172.16.0.0/12 ja 192.168.0.0/16. Internet-reitittimet estävät kaikki paketit, jotka on suunnattu johonkin yksityisistä osoitteista. NAT on palomuuriominaisuus, jonka avulla yksityisiä IP-osoitteita käyttävät yritykset voivat kommunikoida muiden Internetissä olevien tietokoneiden kanssa. Palomuuri osaa kääntää saapuvan ja lähtevän liikenteen yksityisiksi sisäisiksi IP-osoitteiksi, jotta jokainen tietokone pääsee Internetiin.