Šta je firewalld
firewalld
je dinamički firewall menadžer koji se koristi na mnogim Linux distribucijama kako bi se upravljalo sigurnosnim politikama i pravilima firewall-a. firewalld
je dizajniran da bude jednostavan za upotrebu i omogućava korisnicima da konfigurišu firewall pravila za zaštitu sistema od neovlašćenog mrežnog saobraćaja.
Ovde su neke od glavnih karakteristika i funkcija firewalld
-a:
-
Dinamička rekonfiguracija: firewalld
omogućava dinamičku promenu firewall pravila bez potrebe za ručnim ponovnim pokretanjem firewall-a. To znači da možete dodavati, izmenjivati i uklanjati pravila dok je firewall aktivan.
-
Zone: firewalld
koristi koncept zona kako bi organizovao sigurnosne politike. Svaka zona ima svoja pravila koja se primenjuju na mrežni saobraćaj koji prolazi kroz određeni mrežni interfejs. Primeri zona uključuju "Public" (Javna), "Internal" (Unutrašnja) i "DMZ" (Demilitarizovana zona).
-
Servisi i portovi: Možete lako omogućiti ili onemogućiti određene servise i portove za mrežni saobraćaj u okviru firewalld
-a. To omogućava preciznu kontrolu nad aplikacijama i uslugama koje su dostupne preko mreže.
-
Rich Rules: firewalld
podržava "Rich Rules" koje omogućavaju složenije uslove za filtriranje saobraćaja, uključujući specifične adrese, portove, protokole i mnoge druge faktore.
-
CLI i GUI podrška: Možete konfigurisati firewalld
putem komandne linije koristeći firewall-cmd
, ali takođe mnoge Linux distribucije nude i grafičke korisničke interfejse (GUI) za konfiguraciju firewall-a.
-
Integracija sa D-Bus: firewalld
se integriše sa D-Bus sistemom, omogućavajući aplikacijama da lako komuniciraju sa firewall-om.
firewalld
je postao popularan izbor za upravljanje firewall-om na Linux sistemu jer omogućava korisnicima da efikasno konfigurišu sigurnosne politike bez potrebe za naprednim znanjem o firewall-ima.
Instalacija Firewalld
Instalacija firewalld
na Linux sistemu zavisi od distribucije koju koristite. Evo kako se može instalirati na nekoliko popularnih distribucija:
1. Za CentOS i RHEL (Red Hat Enterprise Linux):
Koristite yum
za instalaciju:
sudo yum install firewalld
Zatim aktivirajte servis i postavite ga da se pokreće pri svakom pokretanju sistema:
sudo systemctl start firewalld
sudo systemctl enable firewalld
2. Za Fedora:
Koristite dnf
za instalaciju:
sudo dnf install firewalld
Aktivirajte servis i postavite ga da se pokreće pri svakom pokretanju sistema:
sudo systemctl start firewalld
sudo systemctl enable firewalld
3. Za Ubuntu:
Na Ubuntu, firewalld
nije standardno dostupan, već se umesto toga koristi ufw
(Uncomplicated Firewall). Možete instalirati ufw
i koristiti ga umesto firewalld
. Ako ipak želite instalirati firewalld
, možete to uraditi ovako:
sudo apt update
sudo apt install firewalld
Aktivirajte servis i postavite ga da se pokreće pri svakom pokretanju sistema:
sudo systemctl start firewalld
sudo systemctl enable firewalld
Nakon što instalirate firewalld
, možete ga konfigurisati korišćenjem firewall-cmd
komandi za postavljanje sigurnosnih pravila i zona prema vašim potrebama.
Napomena: Uvek budite pažljivi pri konfigurisanju firewall-a kako ne biste slučajno onemogućili neophodan mrežni saobraćaj. Preporučuje se da pravilno konfigurišete sigurnosne politike i zone u skladu sa potrebama vašeg sistema i mreže.
Konfiguracioni fajlovi
Konfiguracioni fajlovi za firewalld
se obično nalaze u određenim direktorijumima na Linux sistemu. Ovi fajlovi se koriste za postavljanje globalnih opcija za firewalld
, definisanje pravila za zone i druge konfiguracije. Evo glavnih direktorijuma i fajlova za konfiguraciju firewalld
:
-
Glavni direktorijum konfiguracije:
/etc/firewalld/
: Ovaj direktorijum sadrži glavne konfiguracione fajlove za firewalld
.
/etc/firewalld/firewalld.conf
: Ovde se nalazi glavni konfiguracioni fajl za firewalld
, u kojem možete postaviti globalne opcije za firewalld
.
-
Zone konfiguracioni fajlovi:
/etc/firewalld/zones/
: Ovaj direktorijum sadrži fajlove za svaku pojedinačnu zonu koja se koristi u firewalld
. Na primer, "public.xml" za zonu "Public".
- Ovi fajlovi definiraju pravila i konfiguracije za svaku zonu. Ako želite prilagoditi pravila za određenu zonu, možete uređivati odgovarajući XML fajl u ovom direktorijumu.
-
Custom servis fajlovi:
/etc/firewalld/services/
: Ovaj direktorijum sadrži fajlove koji opisuju custom servise koje možete koristiti u firewalld
pravilima.
- Custom servis fajlovi su obično u XML formatu i definišu portove, protokole i druge karakteristike servisa.
-
Druge konfiguracione datoteke:
/etc/sysconfig/
: Ovaj direktorijum sadrži dodatne konfiguracijske datoteke koje utiču na način na koji firewalld
radi. Na primer, /etc/sysconfig/firewalld
sadrži dodatne globalne opcije za firewalld
.
Nakon što izmenite bilo koji od ovih konfiguracionih fajlova, preporučuje se ponovno pokretanje firewalld
servisa kako bi se promene primenile. To možete učiniti komandom systemctl restart firewalld
na većini Linux distribucija.
firewall-cmd komande
1. Da biste prikazali sve definisane zone u firewalld
, možete koristiti sledeću komandu:
sudo firewall-cmd --get-zones
Ovo će prikazati listu svih zona koje su trenutno dostupne na vašem sistemu. Na primer, možete očekivati da će se prikazati zone kao što su "public", "internal", "external", "dmz" i druge, u zavisnosti od vaše specifične konfiguracije firewall-a.
2. Da biste prikazali podrazumevanu zonu (default zone) u firewalld
, koristite sledeću komandu
sudo firewall-cmd --get-default-zone
Ova komanda će prikazati koja zona je postavljena kao podrazumevana za sve mrežne interfejse na vašem sistemu.
3. Da biste prikazali aktivne zone na svim mrežnim interfejsima na vašem sistemu, koristite sledeću komandu:
sudo firewall-cmd --get-active-zones
Ova komanda će prikazati liste zona koje su trenutno aktivne na svim mrežnim interfejsima. Na primer, možete dobiti informacije o tome koje zone su dodeljene interfejsima kao što su "public," "internal," i druge.
4. Da biste prikazali konfiguraciju za određenu zonu, kao što je "public" zona, možete koristiti sledeću komandu:
sudo firewall-cmd --zone=public --list-all
Ova komanda će prikazati sve pravila, servise i opcije konfiguracije koji su postavljeni za "public" zonu na vašem sistemu. Možete zamijeniti "public" sa imenom druge zone ako želite pregledati konfiguraciju za drugu zonu.
5. Za prikaz konfiguracije svih zona koristite sledeću komandu:
sudo firewall-cmd --list-all-zones
Ova komanda će prikazati konfiguraciju svih definisanih zona na sistemu, uključujući pravila, servise i druge opcije konfiguracije za svaku zonu.
6. Da biste prikazali listu servisa za određenu zonu, možete koristiti sledeću komandu:
sudo firewall-cmd --zone=public --list-services
Ova komanda će prikazati sve servise (portove) koji su konfigurisani za odabranu zonu.
7. Da biste postavili podrazumevanu zonu na vašem sistemu, koristite sledeću komandu:
sudo firewall-cmd --set-default-zone=your_zone
Zamenite "your_zone" sa imenom zone koju želite postaviti kao podrazumevanu. Na primer, ako želite postaviti "public" zonu kao podrazumevanu, koristite:
sudo firewall-cmd --set-default-zone=public
Nakon izvršenja ove komande, "public" zona će postati podrazumevana za sve mrežne interfejse na vašem sistemu.
8. Da biste ponovo učitali pravila firewall-a na Linux sistemu koristeći firewall-cmd
, koristite sledeću komandu:
sudo firewall-cmd --reload
Ova komanda će primeniti sve promene u konfiguraciji firewall-a bez potrebe za ponovnim pokretanjem samog firewall servisa. Pravila će biti odmah ažurirana i primenjena na vašem sistemu.
9. Da biste dodali servis (port) određenoj zoni na vašem sistemu, koristite sledeću komandu:
sudo firewall-cmd --zone=internal --add-service=http
Ova komanda će dodati servis "http" u odabranu zonu i omogućiti saobraćaj na portu 80 za tu zonu.x
10. Da biste dodali port (servis) public zoni na vašem sistemu, koristite sledeću komandu:
sudo firewall-cmd --zone=public --add-port=8080/tcp
Ova komanda će dodati port 8080 u public zonu i omogućiti saobraćaj na tom portu za tu zonu.
11. Da biste trajno sačuvali pravila koja dodate u firewall-cmd
, koristite opciju --permanent
zajedno sa komandama za dodavanje pravila. Na primer, ako želite trajno sačuvati pravilo za dodavanje servisa u zonu, koristite sledeću komandu:
sudo firewall-cmd --zone=your_zone --add-service=your_service --permanent
Ova komanda će dodati servis u odabranu zonu i sačuvati promene kao trajne, što znači da će se ta pravila očuvati i nakon ponovnog pokretanja sistema ili firewall servisa.
Obratite pažnju na upotrebu opcije --permanent
kada želite sačuvati pravila, kako biste bili sigurni da će vaše konfiguracije ostati nepromenjene čak i nakon ponovnog pokretanja sistema.
12. Da biste trajno sačuvali promene iz runtime konfiguracije (konfiguracije koja se primenjuje tokom trenutnog sesije) u permanentnu konfiguraciju (koja će opstati i nakon ponovnog pokretanja sistema), koristite sledeću komandu:
sudo firewall-cmd --runtime-to-permanent
Ova komanda će kopirati sve promene iz runtime konfiguracije u permanentnu konfiguraciju i sačuvati ih. Ovo je korisno kada želite da zadržite promene koje ste napravili tokom trenutne sesije i da ih očuvate kao trajne, tako da će ostati i nakon ponovnog pokretanja sistema ili firewall servisa.
13. Da biste dodali opciju timeout
(vreme isteka) za određeni port u zoni, koristite sledeću komandu:
sudo firewall-cmd --zone=public --add-port=8080/tcp --timeout=3600
Ova komanda će dodati port 8080 sa vremenom isteka od jednog sata u public zonu. Nakon isteka vremena, pravilo će biti automatski uklonjeno iz zone.
14. Da biste obrisali određeni port iz odabrane zone, koristite sledeću komandu:
sudo firewall-cmd --zone=your_zone --remove-port=your_port/tcp
Zamenite "your_zone" sa imenom zone iz koje želite ukloniti port i "your_port" sa brojem porta koji želite ukloniti. Na primer, ako želite ukloniti port 8080 iz zone "internal," koristite:
sudo firewall-cmd --zone=internal --remove-port=8080/tcp
Ova komanda će ukloniti port 8080 iz odabrane zone na vašem sistemu.