- perjantai, 27. heinäkuuta 2018
- Uncategorized
Kun luet palvelimen konfigurointia ja palomuureja käsitteleviä opetusohjelmia, törmäät usein IP-osoitteisiin tässä muodossa:
Ensimmäinen osa saattaa olla sinulle tuttu, mutta kaksoispisteen (:) jälkeinen osa ei ehkä ole. Tämä numero (8080) edustaa verkkoporttia.
IP-osoite on yksilöllinen numerosarja, joka edustaa liitäntää verkossa, usein internetissä. IP-osoitteen avulla verkko voi reitittää datapaketteja tietyn laitteen verkkoliitäntään, joka voi olla palvelin tai reititin tai jopa puhelimesi.
Näissä laitteissa pyörii paljon ohjelmia, jotka saattavat olla kiinnostuneita vastaanottamaan dataa verkosta ja lähettämään dataa muille laitteille. IP-osoite ei kuitenkaan kerro vastaanottavalle laitteelle mitään siitä, mille ohjelmalle data on tarkoitettu. Se on verkkoportin tehtävä.
Jokaisen TCP- tai UDP-yhteyden (mukaan lukien HTTP (verkko), SSH, FTP, DNS ja useimmat muut tutut protokollat) kautta lähetettävän datakimpaleen sisällä on lähdeportin numero ja kohdeportin numero.
Nämä numerot eivät edusta laitetta tai fyysistä porttia, kuten ethernet- tai salamaporttia. Ne ovat ohjelmistorakenne, joka yhdistää palvelua tarjoavan prosessin datapaketteihin, joilla on kyseinen kohdeportti.
Prosessi on palvelimella suoritettava ohjelmisto. Verkkopalvelin on prosessi, samoin SSH-palvelimet, FTP-palvelimet ja DNS-palvelimet. Jokainen palvelimella suoritettava ohjelma on prosessi.
Palvelimen käyttöjärjestelmä käyttää portteja varmistaakseen, että tiedot menevät oikeaan prosessiin, usein toimittamalla ne sitä varten kartoitettuun muistinpalaan. Prosessit on sidottu tiettyyn porttiin, ja TCP-yhteyksien tapauksessa kuhunkin porttiin voi sitoutua vain yksi prosessi. Jos useampi kuin yksi prosessi on sidottu porttiin, syntyy ristiriita, eikä dataa välttämättä toimiteta oikealle prosessille.
Portit esitetään numeroilla, jotka vaihtelevat 0:sta 65535:een, joka on suurin 16-bittiseen merkitsemättömään kokonaislukuun mahtuva luku. Jotkin näistä numeroista liittyvät tietyntyyppisiin palveluihin. Portteja 0-124 kutsutaan tunnetuiksi porteiksi, ja ne liitetään tavanomaisesti yleisimpiin verkkopalvelutyyppeihin. Verkkopalvelimet käyttävät porttia 80, SSH-palvelimet porttia 22 ja niin edelleen.
Portit 1024-49151 ovat rekisteröityjä portteja. Organisaatiot voivat rekisteröidä ne ICANN:lle ohjelmistojensa käyttöä varten. Portit yli 49151 ovat yksityisiä portteja, joita voidaan käyttää mielivaltaisiin tarkoituksiin.
Jos suoritat seuraavan komennon CentOS-palvelimellasi, näet luettelon porteista ja palveluista, joita ne vastaavat.
less /etc/services
Portaiden toiminnan ymmärtäminen on hyödyllistä monissa tilanteissa. Esimerkiksi monet brute force -botit kohdistuvat SSH-palvelimiin portin 22 kautta. Saatat haluta liittää SSH:n eri porttiin, jotta palvelimesi ei joudu käsittelemään tuhansia laittomia kirjautumispyyntöjä. Voit vaihtaa SSH-portin johonkin yksityisistä porteista (yli 49151) muokkaamalla ”Port”-asetusta kohdassa ”/etc/ssh/sshd_config”. Brute force -botit eivät enää pysty löytämään sitä. Jos muutat SSH-porttia, varmista, että muistat, mihin muutit sen, tai et myöskään pysty kirjautumaan sisään.
Portit ovat hyödyllisiä myös palomuurien konfiguroinnissa ja kehityspalvelimien pyörittämisessä: on yleistä käyttää porttia 8080 vaihtoehtona portille 80 web-palvelimissa.
Tulevassa tulevassa artikkelissa tarkastelemme, miten portteja käytetään CentOS-palvelimien suojaamiseen iptables-palomuurin avulla.