Tietopankki Yksinkertaiset ohjeet työskentelemään Profitserver-palvelun kanssa
tärkein Tietopankki Palomuurin määrittäminen Linuxissa

Palomuurin määrittäminen Linuxissa


Linuxin palomuurilla on keskeinen rooli tietokonejärjestelmän turvaamisessa. Se toimii esteenä, joka hallitsee ja suodattaa verkkoliikennettä ja suojaa järjestelmää luvattomalta käytöltä, hyökkäyksiltä ja muilta uhilta. Ilman oikein määritettyä palomuuria palvelin voi olla alttiina erilaisille kyberhyökkäyksille, mikä voi johtaa vakaviin seurauksiin tietoturvalle ja luottamuksellisuuteen.

Tässä artikkelissa tarkastellaan kahta päätyökalua Linux-palomuurin määrittämiseen: palomuuri ja iptables. Teemme vertailevan analyysin niiden ominaisuuksista, toimivuudesta ja eduista. Lisäksi annamme yksityiskohtaiset ohjeet kunkin näiden työkalujen määrittämiseen ja käyttöön sekä keskustelemme parhaista käytännöistä järjestelmän suojaamiseksi palomuurilla Linux-alustalla. Kaikki toimet esitellään a Virtual Server pääkäyttäjillä.

Palomuurin määrittäminen Linuxissa

Firewalld (Firewall Daemon) on ohjelma palomuurien hallintaan Linux-käyttöjärjestelmissä. Se tarjoaa käyttöliittymän palomuurisääntöjen määrittämiseen, verkkosovellusten yhteyksien sallimiseen tai estoon. Se on esiasennettu oletuksena useimmissa palvelinjakeluissa. Jos Firewalldia ei ole esiasennettu, se voidaan asentaa itsenäisesti jakelun virallisista arkistoista.

Red Hat -järjestelmissä (kuten RHEL, CentOS, Fedora) asennus suoritetaan komennolla:

yum install firewalld

Debian/Ubuntu:

apt-get install firewalld

Asennuksen jälkeen se voidaan käynnistää ja aktivoida välittömästi komennolla:

systemctl start firewalld

Seuraavaksi sinun on lisättävä palvelu käynnistystä varten:

systemctl enable firewalld
Palomuurin lisääminen Linuxin automaattiseen lataukseen

Tässä vaiheessa suosittelemme ufw:n poistamista käytöstä, koska tämän työkalun samanaikainen käyttö palomuurin tai iptablesin kanssa ei ole suositeltavaa. Tarkista tila:

systemctl status ufw
Tarkistetaan ufw linuxia

Pysäytä se antamalla komento:

systemctl stop ufw

Täydellinen deaktivointi:

ufw disable

Näiden toimien jälkeen voit jatkaa palomuurin määrittämistä.

Ensinnäkin on tarpeen määritellä luottamusvyöhykkeet. Firewalld käyttää vyöhykkeiden käsitettä määrittääkseen verkkoliitäntöjen luottamustason. Jokaiselle rajapinnalle on määritetty yksi vyöhyke, ja palomuurisääntöjä sovelletaan vyöhykkeen perusteella. Luettelo kaikista käytettävissä olevista vyöhykkeistä avataan komennolla:

firewall-cmd --get-zones

Tyypillisesti käytetään 4 päävyöhykettä:

  1. julkinen: Tämä vyöhyke on tarkoitettu verkoille, jotka eivät ole mielestäsi turvallisia;
  2. yksityinen: Koskee kotiverkkoja tai muita luotettuja verkkoyhteyksiä;
  3. Sisäinen: Käytetään sisäisissä verkoissa, kuten organisaation tai yritysverkon sisällä;
  4. DMZ: Tämä vyöhyke on paikka, johon yleensä sijoitetaan palvelimia, joiden pitäisi olla käytettävissä Internetistä.

Tämä on kuitenkin vain yksi esimerkki. Voit lisätä oman vyöhykkeesi komennolla:

firewall-cmd --permanent --new-zone=nameyourzone

Lisäyksen jälkeen vaaditaan uudelleenlataus:

firewall-cmd --reload

Vyöhykkeen poistamiseen käytetään samanlaista menetelmää

firewall-cmd --permanent --delete-zone=nameyourzone

Vyöhykkeiden määrittämisen jälkeen on tarpeen sallia liikenne tarvittaville palveluille ja satamille. Voit sallia tietyn palvelun käyttämällä komentoa:

firewall-cmd --zone=public --add-service=name

Missä nimi on palvelun nimi. Esimerkiksi, jos haluat sallia liikenteen Apachelle:

firewall-cmd --zone=public --add-service=http

Voit määrittää sallitut portit komennolla:

firewall-cmd --zone=public --add-port=number/protocol

Esimerkiksi SSH:n standardi 22-portti näyttäisi tältä:

firewall-cmd --zone=public --add-port=22/tcp

Tässä vaiheessa pääsäännöt on jo luotu. Määritä seuraavaksi, kuinka liikennettä käsitellään lähteen, määränpään, portin ja muiden kriteerien mukaan. Säännön lisääminen (käyttäen julkinen vyöhyke esimerkkinä):

firewall-cmd --zone=public rule

Esimerkiksi, jos haluat sallia saapuvan liikenteen mistä tahansa lähteestä porttiin 80 (HTTP):

firewall-cmd --zone=public --add-port=80/tcp --permanent

Säännön poistaminen:

firewall-cmd --permanent --remove-rule=rule_specification

Missä sulje on säännön tyyppi (esim. portti, palvelu, rikas-sääntö jne.) ja säännön_määritys on itse säännön määrittely.

Kun olet tehnyt muutoksia palomuurin kokoonpanoon, ne on tallennettava ja otettava käyttöön. Tallenna muutokset käyttämällä komentoa:

firewall-cmd --runtime-to-permanent

Muutosten käyttöönotto:

firewall-cmd --reload

Kun asennus on valmis, voit tarkistaa valitut parametrit avaamalla luettelon kaikista säännöistä:

firewall-cmd --list-all
palomuuri Linuxin säännöt

Jos ongelmia ilmenee, tarkista Firewalld-lokit komennolla:

journalctl -u firewalld

Huomautus: Olemme käsitelleet vain yleisen yhteyden muodostamisalgoritmin. Työkalussa on laaja toiminnallisuus. Saat täydelliset tiedot kaikista käytettävissä olevista vaihtoehdoista käyttämällä virallisia asiakirjoja tai avaa ohje:

firewall-cmd --help

Iptablesin määrittäminen Linuxissa

Toisin kuin Firewalld, iptables on vanhempi, mutta edelleen laajalti käytetty työkalu palomuurin hallintaan Linuxissa. Se tarjoaa suoremman ja joustavamman lähestymistavan pakettisuodatussääntöihin Linux-ytimen tasolla. Iptables vaatii kuitenkin edistyneempää tietoa ja kokemusta kuin Firewall, mikä tekee siitä vähemmän saatavilla aloittelijoille. Tarkista työkalun esiasennettu versio komennolla:

iptables -V

Jos työkalua ei ole asennettu, se on asennettava. Asennuskomento Ubuntuun, Debianiin:

apt install iptables

Red Hat -järjestelmät (esim. CentOS, Fedora):

yum install iptables

Aktivointikomento asennuksen jälkeen:

systemctl start iptables

Jos haluat lisätä käynnistykseen, suorita:

systemctl enable iptables

Ennen kuin aloitat iptables-määrityksen, on tärkeää ymmärtää, miten se toimii. Tätä auttaa ohjelman syntaksi. Se näyttää seuraavalta:

iptables -t table action chain additional_parameters

Syvennytään jokaiseen kohteeseen.

Iptablesissa on neljä päätaulukkoa: suodatin, nat, mangle ja raaka. Jokainen on suunniteltu käsittelemään tietyntyyppisiä paketteja, ja sillä on omat sääntöketjunsa:

  1. suodattaa: Tämä on useimmin käytetty taulukko, joka sisältää pakettisuodatussäännöt. Sitä käytetään päätösten tekemiseen pakettien sallimisesta vai estämisestä.
  2. NAT: Tätä taulukkoa käytetään verkko-osoitteiden ja porttien muokkaamiseen paketeissa. Sitä käytetään usein naamioinnin (NAT) määrittämiseen.
  3. mankeli: Tässä taulukossa voit muokata pakettien otsikoita. Sitä käytetään erikoistuneisiin pakettitoimintoihin, kuten merkintään.
  4. raaka: Tätä taulukkoa käytetään sääntöjen määrittämiseen, jotka ovat voimassa ennen kuin ne kulkevat yhteyden seurantajärjestelmän läpi. Sitä käytetään yleensä sellaisten sääntöjen määrittämiseen, joita seurantajärjestelmän ei pitäisi muuttaa, kuten pakettien pudottaminen tietyistä osoitteista.

Jokainen taulukko sisältää sarjan ketjuja. Ketjut ovat sarja sääntöjä, jotka tarkistetaan peräkkäin. On kolme ennalta määritettyä ketjua:

  1. INPUT (saapuva). Tämän ketjun säännöt määräävät, mitä tulee tehdä saapuville paketeille.
  2. OUTPUT (lähtevä). Tämä ketju koskee kaikkia paketteja, jotka tietokoneesi lähettää muille verkon laitteille tai tietokoneille.
  3. Eteenpäin (edelleenlähetys). Tämän ketjun säännöt määrittelevät, mitä edelleen lähetetyille paketeille tulee tehdä.

Lopuksi jokaisella ketjulla on jokin toiminta (kohde). Käytännössä käytetään 5 päätoimintoa:

  1. HYVÄKSYÄ: Anna paketin kulkea palomuurin läpi.
  2. DROP: Hylkää paketti ja hylkää se ilman vastausta.
  3. HYLÄTÄ: Hylkää paketti ja lähetä lähettäjälle ICMP-virhesanoma.
  4. LOG: Kirjaa paketti järjestelmälokiin ja suorita toinen toiminto (esim. ACCEPT tai DROP).
  5. PALATA: Lopeta nykyisen ketjun sääntöjen tarkistaminen ja palaa kutsuketjuun (jos mahdollista).

Aloita asennus avaamalla olemassa olevien sääntöjen luettelo komennolla:

iptables -L
Palomuurin määrittäminen Linuxissa

Katsotaanpa oppaaksi Iptablesin määrittämiseen käytännön esimerkkejä yleisimmin käytetyistä komennoista. Mukavuuden vuoksi jaamme esimerkit kolmeen ryhmään tietystä ketjusta riippuen.

Ketju INPUT:

  1. Salli saapuva liikenne TCP-protokollan kautta portissa 80:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

2. Salli saapuva liikenne UDP-protokollan kautta portissa 22:

iptables -A INPUT -p udp --dport 22 -j ACCEPT

3. Estä tuleva liikenne tietystä IP-osoitteesta:

iptables -A INPUT -s 192.168.1.100 -j DROP

Ketju LÄHTÖ:

  1. Salli lähtevä liikenne TCP-protokollan kautta portissa 443:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

2. Salli lähtevä liikenne UDP-protokollan kautta portissa 80:

iptables -A OUTPUT -p udp --dport 80 -j ACCEPT

3. Estä lähtevä liikenne tiettyyn porttiin (esimerkiksi 21):

iptables -A OUTPUT -p tcp --dport 21 -j DROP

Ketju ETEENPÄIN:

  1. Estä edelleenlähetetty liikenne tietystä IP-osoitteista:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP

2. Estä pakettien edelleenlähetys tietystä verkkoliittymästä:

iptables -A FORWARD -i eth1 -j DROP

3. Rajoita tietyn portin samanaikaisten yhteyksien määrää (tässä esimerkissä 10 yhteyttä minuutissa portissa 80):

iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT

Kuten näet, jokaisessa erillisessä tapauksessa käytetään lisäargumenttia (komentoa). Saat täydellisen luettelon mahdollisista argumenteista ja yleisen tuen työkalun toiminnalle kirjoittamalla:

iptables -h
iptables linux setup -komentoluettelo

Varmistaaksesi, että asetukset ovat oikein, anna komento uudelleen nähdäksesi sääntöluettelon:

iptables -L
Iptables linuxin sääntöjen tarkistaminen

Jos haluat poistaa tietyn säännön, käytä komentoa:

iptables -D chain rule_number

Jos esimerkiksi haluat poistaa säännön numero 1 INPUT-ketjusta, komento näyttää tältä:

iptables -D INPUT 1

Kaikkien sääntöjen poistaminen yhdellä komennolla:

iptables -F

Tärkeä huomautus: iptables-sääntöjä ei tallenneta automaattisesti järjestelmän tai palvelun uudelleenkäynnistyksen jälkeen. Sääntöjen tallentamiseksi ne on lisättävä määritystiedostoon ja palautettava uudelleenkäynnistyksen jälkeen. The iptables-save ja iptables-restore apuohjelmat voivat auttaa tässä. Tallenna säännöt antamalla komento:

iptables-save > /etc/iptables/rules.v4

Tämä tallentaa nykyiset iptables-säännöt rules.v4-tiedostoon. Palauta uudelleenkäynnistyksen jälkeen kirjoittamalla:

iptables-restore < /etc/iptables/rules.v4

Tämä komento palauttaa säännöt säännöt.v4-tiedostosta.

Yhteenveto

Palomuurin määrittäminen Linuxissa palomuurin tai iptablesin avulla on tärkeä osa palvelimen turvallisuuden varmistamista. Molemmat työkalut tarjoavat luotettavan tavan hallita verkkoliikennettä ja suojata järjestelmää luvattomalta käytöltä ja kyberhyökkäyksiltä. Valinta palomuurin ja iptablesin välillä riippuu käyttäjän erityistarpeista ja mieltymyksistä ottaen huomioon niiden erilaiset toiminnallisuudet ja vahvuudet.

❮ Edellinen artikkeli Linux-käyttäjät: Hallinta ja käyttöoikeudet
Seuraava artikkeli ❯ Palvelimen kuormituksen diagnostiikka

Kysy meiltä VPS:stä

Olemme aina valmiita vastaamaan kysymyksiisi milloin tahansa päivällä tai yöllä.