Muokataan sivua FirewallD

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 10: Rivi 10:
[[Tiedosto:Firewalld ja iptables.png|right|thumb|FirewallD- ja iptables-palvelut juttelevat kernelin netfilter-pakettisuodattimelle iptables-työkalun välityksellä]]
[[Tiedosto:Firewalld ja iptables.png|right|thumb|FirewallD- ja iptables-palvelut juttelevat kernelin netfilter-pakettisuodattimelle iptables-työkalun välityksellä]]


'''FirewallD''' (''Dynamic Firewall'') on [[Red Hat]]in kehittämä dynaaminen [[palomuuri]]. FirewallD on dynaamisena palomuurina monipuolisempi ja tehokkaampi verrattuna perinteiseen staattiseen palomuuriin, kuten [[iptables]]. Vanhan tyylisessä staattisessa palomuurissa uudet asetukset otetaan käyttöön käynnistämällä palomuuri uudelleen, jolloin luetaan uudet asetukset. FirewallD sen sijaan sallii asetusten muuttamisen suoraan lennosta. Kuten iptables, myös FirewallD on vain työkalu joka käyttää linux-kernelin [[netfilter]]iä.
'''FirewallD''' ('''Dynamic Firewall''') on [[Red Hat]]in kehittämä dynaaminen [[palomuuri]]. FirewallD on dynaamisena palomuurina monipuolisempi ja tehokkaampi verrattuna perinteiseen staattiseen palomuuriin, kuten [[iptables]]. Vanhan tyylisessä staattisessa palomuurissa uudet asetukset otetaan käyttöön käynnistämällä palomuuri uudelleen, jolloin luetaan uudet asetukset. FirewallD sen sijaan sallii asetusten muuttamisen suoraan lennosta. Kuten iptables, myös FirewallD on vain työkalu joka käyttää linux-kernelin [[netfilter]]iä.


==Asennus==
==Asennus==
Rivi 17: Rivi 17:
==Käyttö==
==Käyttö==
{{Oikeudet}}
{{Oikeudet}}
FirewallD:n asetuksia voidaan säätää graafisella <tt>firewall-config</tt>-ohjelmalla tai tekstipohjaisella <tt>firewall-cmd</tt>-ohjelmalla. [[Systemd]] hallitsee FirewallD:tä <tt>firewalld.service</tt>:n avulla, eli FirewallD voidaan käynnistää ja asettaa käynnistymään tietokoneen käynnistyessä komennoilla:
FirewallD:n asetuksia voidaan säätää graafisella <tt>firewall-config</tt>-ohjelmalla tai tekstipohjaisella <tt>firewall-cmd</tt>-ohjelmalla. [[Systemd]] hallitsee FirewallD:tä <tt>firewalld.service</tt>:n avulla, eli FirewallD voidaan käynnistää komennolla:
  # systemctl start firewalld.service
  # systemctl start firewalld.service
# systemctl enable firewalld.service


Lisätietoa systemd:n käytöstä löytyy [[systemd|systemd:n omasta artikkelista]].
Lisätietoa systemd:n käytöstä löytyy [[systemd|systemd:n omasta artikkelista]].
Rivi 26: Rivi 25:
  $ firewall-cmd --state
  $ firewall-cmd --state


===Alueet===
===Asetusten tarkastelu===
FirewallD käyttää eri ''alueita'' (engl. ''zones''). Oletusalue on määritelty <tt>/etc/firewalld/firewalld.conf</tt> -tiedostossa.
FirewallD käyttää ''alueita'' (''zones'') asetusten hallintaan. Oletusalue saadaan komennolla:
{| class=wikitable
! colspan="2" | Alueet järjestettynä tiukimmasta sallivimpaan
|-
! Alue (''zone'')
! Kuvaus
|-
| '''drop'''
| Alimman luottamustason alue. Kaikki sisääntulevat yhteydet pudotetaan ilman vastausta. Ainoastaan ulospäin menevät yhteydet sallitaan.
|-
| '''block'''
| Samankaltainen kuin '''drop''', mutta sisääntuleviin yhteyksiin vastataan <tt>icmp-host-prohibited</tt> tai <tt>icmp6-adm-prohibited</tt> -viestillä.
|-
| '''public'''
| Tarkoitettu julkisiin epäluotettaviin verkkoihin, kuten avoimiin WLAN-verkkoihin, joissa ei luoteta muihin verkon laitteisiin.
|-
| '''external'''
| Tarkoitettu erityisesti ulkoverkkoihin reitittimiin jotka tekevät osoitteenmuutosta.
|-
| '''dmz'''
| Käytetään laitteissa jotka sijaitsevat [[wikipedia:fi:Demilitarisoitu alue (tietotekniikka)|DMZ-alueella]].
|-
| '''work'''
| Tarkoitettu työpaikan verkkoihin joissa voidaan luottaa pääosin muihin laitteisiin.
|-
| '''home'''
| Tarkoitettu kodin verkkoihin joissa voidaan luottaa pääosin muihin laitteisiin.
|-
| '''internal'''
| Tarkoitettu sisäverkkoihin, joissa voidaan luottaa pääosin muihin laitteisiin.
|-
| '''trusted'''
| Kaikki yhteydet sallitaan.
|}
 
===Alueiden tarkastelu===
Käytössä oleva oletusalue saadaan komennolla:
  $ firewall-cmd --get-default-zone
  $ firewall-cmd --get-default-zone


Rivi 76: Rivi 39:
  $ firewall-cmd --list-all-zones
  $ firewall-cmd --list-all-zones


===Alueiden hallinta===
===Asetusten säätäminen===
Oletuksena kaikki verkkoliitännät lisätään oletusalueen alle, yleensä tämä oletusalue on <tt>public</tt>. Usein kuitenkin halutaan lisätä oma koti- tai työverkko sallivammalle alueelle. Erityisen kätevä ominaisuus tämä on esimerkiksi kannettavien tietokoneiden kanssa, jotka liitetään usein avoimiin WLAN-verkkoihin julkisilla paikoilla. Epäluotettaville verkoille, joissa saattaa olla vihamielisiä laitteita, tulee käyttää tiukempia asetuksia, kuten esimerkiksi <tt>drop</tt> -aluetta, joka pudottaa kaikki sisääntulevat yhteydet suoraan ilman vastausta.
Oletuksena kaikki verkkoliitännät lisätään oletusalueen alle, yleensä tämä oletusalue on <tt>public</tt>. Usein kuitenkin halutaan lisätä oma koti- tai työverkko sallivammalle alueelle. Erityisen kätevä ominaisuus tämä on esimerkiksi kannettavien tietokoneiden kanssa, jotka liitetään usein avoimiin WLAN-verkkoihin julkisilla paikoilla. Epäluotettaville verkoille, joissa saattaa olla vihamielisiä laitteita, tulee käyttää tiukempia asetuksia, kuten esimerkiksi <tt>drop</tt> -aluetta, joka pudottaa kaikki sisääntulevat yhteydet suoraan ilman vastausta.


Rivi 92: Rivi 55:
  # firewall-cmd --set-default-zone=home
  # firewall-cmd --set-default-zone=home


===Palvelut===
Asetukset voidaan tallentaa kahdella tavalla. Ne voidaan tallentaa pysyviksi, jolloin ne säilyvät vaikka tietokone tai palomuuri käynnistettäisiin uudelleen tai väliaikaisiksi, jolloin asetukset nollautuvat kun tietokone tai palomuuri sammutetaan. Suurin osa <tt>firewall-cmd</tt>:n operaatioista osaa ottaa vastaan <tt>--permanent</tt> parametrin, jolloin asetukset tallentuvat eivätkä katoa uudelleenkäynnistyksen yhteydessä.  
Lista käytettävissä olevista palveluista saadaan <tt>--get-services</tt> -parametrilla.
$ firewall-cmd --get-services


Enemmän tietoa yksittäisistä palveluista löytyy <tt>/usr/lib/firewalld/services</tt> -hakemistosta, jossa eri palvelut ovat [[XML]]-tiedostoissa. Kun halutaan lisätä jokin palvelu haluttuun alueeseen, voidaan se tehdä <tt>--add-service=PALVELU</tt>-parametrilla. Esimerkiksi oletusalueelle voitaisiin avata portti http-palvelimelle näin:
===Alueet===
# firewall-cmd --add-service=http
FirewallD käyttää eri ''alueita'' (engl. ''zones''). Oletusalue on määritelty <tt>/etc/firewalld/firewalld.conf</tt> -tiedostossa.
 
{| class=wikitable
Halutulle alueelle voidaan avata portti <tt>--zone=ALUE</tt> -parametrilla.
! Alue (''zone'')
# firewall-cmd --zone=public --add-service=http
! Kuvaus
 
|-
Nyt voidaan tarkistaa <tt>--list-services</tt> -parametrilla että haluttu palvelu löytyy alueelta johon se lisättiin.
| '''drop'''
$ firewall-cmd --zone=public --list-services
| Alimman luottamustason alue. Kaikki sisääntulevat yhteydet pudotetaan ilman vastausta. Ainoastaan ulospäin menevät yhteydet sallitaan.
 
|-
Asetukset voidaan tallentaa kahdella tavalla. Ne voidaan tallentaa pysyviksi, jolloin ne säilyvät vaikka tietokone tai palomuuri käynnistettäisiin uudelleen tai väliaikaisiksi, jolloin asetukset nollautuvat kun tietokone tai palomuuri sammutetaan. Suurin osa <tt>firewall-cmd</tt>:n operaatioista osaa ottaa vastaan <tt>--permanent</tt> parametrin, jolloin asetukset tallentuvat eivätkä katoa uudelleenkäynnistyksen yhteydessä. Esimerkiksi edellinen voitaisiin tehdä pysyväksi näin:
| '''block'''
# firewall-cmd --zone=public --permanent --add-service=http
| Samankaltainen kuin '''drop''', mutta sisääntuleviin yhteyksiin vastataan <tt>icmp-host-prohibited</tt> tai <tt>icmp6-adm-prohibited</tt> -viestillä.
 
|-
===Portit===
| '''public'''
Joskus tarjolla olevista palveluista ei löydy sopivaa. Tällöin tulee avata halutut portit manuaalisesti itse. Esimerkiksi jos joku oma ohjelma kuuntelisi porttia 5875 ja käyttäisi [[TCP]]-protokollaa, voitaisiin portti avata <tt>--add-port=PORTTI/PROTOKOLLA</tt> -parametrilla.
| Tarkoitettu julkisiin epäluotettaviin verkkoihin, kuten avoimiin WLAN-verkkoihin. Ei luoteta muihin verkon laitteisiin.
# firewall-cmd --zone=public --add-port=5875/tcp
|-
 
| '''external'''
Tietyltä alueelta voidaan avata kaikki portit määrittelemällä tuon alueen alku- ja loppuportit. Avataan esimerkiksi portit 2000-2100 [[UDP]]-protokollalle.
|
# firewall-cmd --zone=public --add-port=2000-2100/udp
|-
 
| '''internal'''
Avoimet portit voidaan katsoa <tt>--list-ports</tt> -parametrilla.
|
$ firewall-cmd --list-ports
|-
5875/tcp 2000-2100/udp
| '''dmz'''
 
| Käytetään laitteissa jotka sijaitsevat [[wikipedia:fi:Demilitarisoitu alue (tietotekniikka)|DMZ-alueella]].
Portteja ei tulisi avata turhaan. Yleisesti hyvä tapa on pitää kaikki portit kiinni ja avata niitä vasta tarpeen vaatiessa.
|-
 
| '''work'''
===Palveluiden määrittäminen===
| Tarkoitettu työpaikan verkkoihin joissa voidaan luottaa pääosin muihin laitteisiin
Yksittäisiä portteja avatessa saattaa unohtua mikä portti liittyy mihinkin ohjelmaan. Tämän takia palvelut on kehitetty helpottamaan eri porttien muistamista. Palvelut ovat periaatteessa vain kokoelmia portteja, joille on annettu joku nimi ja kuvaus. Omat palvelut määritellään <tt>/etc/firewalld/services</tt> -hakemistoon. Luodaan esimerkkinä uusi tiedosto <tt>esimerkki.xml</tt>, joka määrittää uuden palvelun.
|-
# vim /etc/firewalld/services/esimerkki.xml
| '''home'''
 
| Tarkoitettu kodin verkkoihin joissa voidaan luottaa pääosin muihin laitteisiin
Tiedoston tulee olla XML-muodossa, jotta FirewallD osaa parsia sen oikein.
|-
<syntaxhighlight lang="xml">
| '''trusted'''
<?xml version="1.0" encoding="utf-8"?>
| Kaikki yhteydet sallitaan
<service>
|}
  <short>esimerkki</short>
  <description>Tämä palvelu on esimerkki jonka tarkoitus on havainnollistaa palveluiden luomista FirewallD-palomuurille.</description>
  <port protocol="tcp" port="6666"/>
  <port protocol="udp" port="5555"/>
</service>
</syntaxhighlight>
 
Jotta palomuuri näkisi uuden palvelun, tulee se ladata uudelleen:
# firewall-cmd --reload
 
===Alueiden määrittäminen===
Joissain tapauksissa valmiiksi määritellyt alueet eivät ole riittäviä vaan tarvitaan lisäksi oma alueita. Esimerkiksi omalle aliverkolle voidaan määrittää oma alue. Kun alue määritellään, tehdään se <tt>--new-zone=ALUE</tt> -parametrilla, tähän tarvitaan myös <tt>--permanent</tt> -parametria.
# firewall-cmd --permanent --new-zone=omaverkko
 
Nyt uudelle alueelle voidaan lisätä halutut palvelut ja verkkoliitännät. Palomuurin asetukset tulee ladata uudestaan jotta uusi alue näkyisi nykyisessä istunnossa.
# firewall-cmd --reload


[[Tiedosto:firewall-config 0.3.9.png|thumb|none|500px|firewall-config on graafinen työkalu FirewallD:n asetusten säätämiseen]]
[[Tiedosto:firewall-config 0.3.9.png|thumb|none|500px|firewall-config on graafinen työkalu FirewallD:n asetusten säätämiseen]]
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)

Tämä sivu kuuluu seuraavaan piilotettuun luokkaan:

Noudettu kohteesta ”https://www.linux.fi/wiki/FirewallD