GNU/Linux >> Znalost Linux >  >> Linux

Spravujte zabezpečení sítě pomocí brány firewall pomocí příkazových řádků

Udržování zabezpečení sítě je pro správce systému klíčové a konfigurace brány firewall pomocí příkazového řádku je základní dovedností, kterou je třeba se naučit. Článek zdůrazní, jak spravovat firewall pomocí firewall-cmd v příkazovém řádku Linuxu.

Firewall je v podstatě software, který můžete nakonfigurovat pro řízení příchozího a odchozího síťového provozu. Brány firewall mohou ostatním uživatelům bránit v používání síťových služeb na systému, který používáte. Většina systémů Linux se dodává s výchozím firewallem. Dřívější verze systémů Linux používaly iptables jako démona pro filtrování paketů. Novější verze Fedory, RHEL/CentOS, openSUSE se dodávají s Firewalld jako výchozím démonem brány firewall. Firewalld můžete nainstalovat také v distribucích Debian a Ubuntu.


Doporučuji, abyste místo iptables používali Firewalld. Neberte mě za slovo. Další informace naleznete v našem komplexním průvodci dostupnými bránami firewall s otevřeným zdrojovým kódem pro váš systém Linux.

Firewalld je dynamický démon pro správu firewallů s podporou sítí nebo zón firewallu. Zóny brány firewall definují úrovně důvěryhodnosti síťového zabezpečení síťových rozhraní, služeb nebo připojení. Správci systému zabezpečení sítě zjistili, že Firewalld skvěle funguje s IPv4, IPv6, sadami IP a ethernetovými mosty. Ke správě brány Firewalld můžete použít terminálový příkaz firewall-cmd nebo konfigurační nástroj grafického uživatelského rozhraní firewall-config.

Tato příručka bude využívatcmd firewallu pro správu zabezpečení sítě a naším testovacím prostředím bude Fedora Workstation 33.

Než se pustíme do všech technických záležitostí, naučíme se několik základů sítě.

Základy sítě

Počítač připojený k síti má přidělenu IP adresu, která se používá pro směrování dat. Počítače mají také porty v rozsahu 0-65535, které fungují jako spojovací body na IP adrese. Aplikace si mohou rezervovat konkrétní porty. Webové servery obvykle rezervují port 80 pro zabezpečenou komunikaci HTTP. Rozsahy portů 0 – 1024 jsou v podstatě vyhrazeny pro dobře známé účely a systém.

Dva hlavní internetové protokoly přenosu dat (TCP a UDP) používají tyto porty během síťové komunikace. Hostitelský počítač naváže spojení mezi zdrojovou IP adresou a portem (port 80 pro nezabezpečený HTTP) a cílovou adresou a portem.

Ke správě zabezpečení sítě může software brány firewall povolit nebo blokovat přenos dat nebo komunikaci na základě pravidel, jako jsou porty nebo adresy IP.

Instalace brány firewall

Fedora, RHEL/CentOS 7/8, openSUSE

Firewalld je standardně nainstalován ve Fedoře, RHEL/CentOS 7/8 a openSUSE. Pokud ne, můžete jej nainstalovat pomocí následujícího příkazu:

# yum nainstalovat firewalld -y
NEBO
#dnf nainstalovat firewalld -y

Debian/Ubuntu

Systémy Ubuntu se standardně dodávají s nekomplikovaným firewallem. Chcete-li používat firewalld, musíte povolit vesmírné úložiště a deaktivovat nekomplikovaný firewall.

sudo add-apt-repository universe
sudo apt install firewalld

Deaktivace nekomplikované brány firewall:

sudo systemctl vypnout ufw

Povolit firewall při spouštění:

povolení sudo systemctl – nyní firewalld

Ověřte, že je spuštěna brána firewall:

sudo firewall-cmd –state
běží

Zóny brány firewall

Firewalld usnadňuje konfiguraci vašeho firewallu vytvořením výchozích zón. Zóny jsou sada pravidel, která vyhovují každodenním potřebám většiny správců Linuxu. Zóna brány firewall může definovat důvěryhodné nebo zakázané úrovně pro služby a porty.

  • Důvěryhodná zóna: Všechna síťová připojení jsou přijímána a používána pouze v důvěryhodných prostředích, jako je rodinný dům nebo testovací laboratoř.
  • Veřejná zóna: Pravidla můžete definovat pouze tak, aby umožnila konkrétním portům otevírat připojení, zatímco ostatní připojení budou zrušena. Může být použit ve veřejných prostorách, když nedůvěřujete jiným hostitelům v síti.
  • Domov, Interní, Pracovní zóny: Většina příchozích spojení je přijímána v těchto třech zónách. Příchozí připojení vylučují provoz na portech, které neočekávají žádná připojení nebo aktivitu. Můžete jej použít v domácích připojeních, kde je všeobecná důvěra ostatních uživatelů v síti. Umožňuje pouze vybraná příchozí připojení.
  • Blokovat zónu: Toto je extrémně paranoidní nastavení brány firewall, kde jsou možná pouze připojení iniciovaná ze sítě nebo serveru. Všechna příchozí připojení k síti jsou odmítnuta a je vydána zpráva o zákazu hostitele ICMP.
  • Zóna DMZ: Demilitarizovanou zónu lze využít k umožnění přístupu k některým službám veřejnosti. Jsou akceptována pouze vybraná spojení. Je to nezbytná možnost pro určité typy serverů v síti organizace.
  • Vnější zóna: Když je tato zóna povolena, bude fungovat jako router a lze ji používat v externích sítích s povoleným maskováním. IP adresa vaší privátní sítě je mapována a skryta za veřejnou IP adresou. Jsou přijímána pouze vybraná příchozí připojení, včetně SSH.
  • Zóna přetažení: Všechny příchozí pakety jsou zahazovány bez odpovědi. Tato zóna umožňuje pouze odchozí síťová připojení.

Příklad výchozích zón definovaných pracovní stanicí Fedora 33

cat /usr/lib/firewalld/zones/FedoraWorkstation.xml


Fedora Workstation
Nevyžádané příchozí síťové pakety jsou odmítnuty z portu 1 až 1024, s výjimkou vybraných síťových služeb. [firewall ] Příchozí pakety související s odchozími síťovými připojeními jsou přijímány. Odchozí síťová připojení jsou povolena.





Získejte svou aktuální zónu:
Můžete použít – – get-active-zones příznak pro kontrolu aktuálně aktivních zón ve vašem systému.

sudo firewall-cmd --get-active-zones
[sudo] heslo pro tuts:
FedoraWorkstation
rozhraní:wlp3s0
libvirt
rozhraní:virbr0

Výchozí zóna na Fedora Workstation 33 v zóně FedoraWorkstation

Získat výchozí zónu a všechny definované zóny:

sudo firewall-cmd --get-default-zone
[sudo] heslo pro tuts:
FedoraWorkstation
[tuts@fosslinux ~]$ sudo firewall-cmd --get-zones
FedoraServer Fedora Workstation blok dmz drop externí domácí interní libvirt nm sdílené veřejné důvěryhodné dílo

Seznam služeb:

Služby, ke kterým firewall umožňuje přístup jiným systémům, můžete získat pomocí  – -list-services vlajka.

[tuts@fosslinux ~]$ sudo firewall-cmd --list-services
dhcpv6-client mdns samba-client ssh

Na Fedora Linux 33 firewall umožňuje přístup ke čtyřem službám (dhcpv6-client mdns samba-client ssh) s dobře známými čísly portů.

Seznam nastavení portů brány firewall:
Můžete použít – -list-ports příznakem zobrazíte další nastavení portu v jakékoli zóně.

tuts@fosslinux ~]$ sudo firewall-cmd --list-ports --zone=FedoraWorkstation
Heslo [sudo] pro tuts:
1025-65535/udp 1025-65535/tcp

Určili jsme zónu ke kontrole pomocí volby – -zone=FedoraWorkstaion.

Správa zón, portů a služeb

Konfigurace brány firewall lze nakonfigurovat jako běhové nebo trvalé. Všechny akce firewall-cmd přetrvávají pouze do restartování počítače nebo brány firewall. Musíte vytvořit trvalé nastavení s příznakem –permanent.

Vytvořte zónu

Chcete-li vytvořit zónu, musíte použít – -new-zone flag.
Příklad:
Vytvořte novou trvalou zónu s názvem fosscorp:

[tuts@fosslinux ~]$ sudo firewall-cmd --new-zone fosscorp --permanent
[sudo] heslo pro tuts:
úspěch

Znovu načtěte pravidla brány firewall pro aktivaci nové zóny:

[tuts@fosslinux ~]$ sudo firewall-cmd --reload

Přidejte službu ssh do zóny fosscorp, abyste k ní měli vzdálený přístup:

[tuts@fosslinux ~]$ sudo firewall-cmd --zone fosscorp --add-service ssh --permanent
[sudo] heslo pro tuts:
úspěch

Potvrďte, že je vaše nová zóna „fosscorp“ aktivní:

[tuts@fosslinux ~]$ sudo firewall-cmd --get-zones
FedoraServer FedoraWorkstation block dmz drop external fosscorp domácí interní libvirt veřejná důvěryhodná práce sdílená nm

Vaše nová zóna fosscorp je nyní aktivní a odmítá všechna příchozí spojení kromě provozu SSH.

Použijte rozhraní – -change-interface příznak, aby se zóna fosscorp stala aktivní a výchozí zónou pro síťové rozhraní (wlp3s0), které chcete chránit:

[tuts@fosslinux ~]$ sudo firewall-cmd --change-interface wlp3s0 \
> --zone fosscorp --permanent
Rozhraní je pod kontrolou [ firewallu ] NetworkManageru, nastavení zónu na 'fosscorp'.
úspěch

Pokud chcete nastavit fosscorp jako výchozí a primární zónu, spusťte následující příkaz:

[tuts@fosslinux ~]$ sudo firewall-cmd --set-default fosscorp
úspěch

Zobrazte zóny aktuálně přiřazené ke každému rozhraní pomocí – -get-active-zones příznak:

[tuts@fosslinux ~]$ sudo firewall-cmd --get-active-zones
fosscorp
rozhraní:wlp3s0

Přidat a odebrat služby:

Rychlý způsob, jak povolit provoz přes váš firewall, je přidat předdefinovanou službu.

Seznam dostupných předdefinovaných služeb:

tuts@fosslinux ~]$ sudo firewall-cmd --get-services
[sudo] heslo pro tuts:
RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc
bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine kokpit condor-collector ctdb dhcp dhcpv6 dhcpv6-klient
]

Odblokujte předdefinovanou službu

Prostřednictvím brány firewall můžete povolit provoz HTTPS (nebo jakoukoli jinou předdefinovanou službu) pomocí – -add-service vlajka.

[tuts@fosslinux ~]$ sudo firewall-cmd --add-service https --permanent
úspěch
[tuts@fosslinux ~]$ sudo firewall-cmd --reload

Službu můžete také odebrat pomocí – -remove-service příznak:

[tuts@fosslinux ~]$ sudo firewall-cmd --remove-service https --permanent
úspěch
[tuts@fosslinux ~]$ sudo firewall-cmd --reload

Přidat a odebrat porty

Můžete také přidat číslo portu a prototyp přímo pomocí příznaku –add-port. Přímé přidání čísla portu se může hodit, když předdefinovaná služba neexistuje.

Příklad:
Můžete přidat nestandardní port 1717 pro SSH do vaší vlastní zóny pomocí následujícího příkazu:

[tuts@fosslinux ~]$ sudo firewall-cmd --add-port 1717/tcp --permanent
[sudo] heslo pro tutory:
úspěch
[tuts@fosslinux ~ ]$ sudo firewall-cmd –reload

Odeberte port pomocí volby –remove-port flag:

[tuts@fosslinux ~]$ sudo firewall-cmd --remove-port 1717/tcp --permanent
úspěch
[tuts@fosslinux ~]$ sudo firewall-cmd –reload

Můžete také určit zónu pro přidání nebo odebrání portu přidáním příznaku –zone do příkazu:
Přidat port 1718 pro připojení TCP do zóny FedoraWorstation:

[tuts@fosslinux ~]$ sudo firewall-cmd --zone=FedoraWorkstation --permanent --add-port=1718/tcp
úspěch
[tuts@fosslinux ~]$ sudo firewall- cmd --reload
úspěch

Potvrďte, zda se změny projevily:

[tuts@fosslinux ~]$ sudo firewall-cmd --list-all
FedoraWorkstation (aktivní)
cíl:výchozí
icmp-block-inversion:žádné
rozhraní :wlp3s0
zdroje:
služby:dhcpv6-client mdns samba-client ssh
porty:1025-65535/udp 1025-65535/tcp 1718/tcp
protokoly:
masquerade:no
forward-ports:
source-ports:
icmp-blocks:
bohatá pravidla:

Poznámka:Pod porty jsme přidali číslo portu 1718 pro povolení TCP provozu.

Můžete odebrat port 1718/tcp spuštěním následujícího příkazu:

[tuts@fosslinux ~]$ sudo firewall-cmd --zone=FedoraWorkstation --permanent --remove-port=1718/tcp
úspěch
[tuts@fosslinux ~]$ sudo firewall- cmd --reload
úspěch

Poznámka:Pokud chcete, aby byly změny trvalé, musíte přidat – -permanent příznak k vašim příkazům.

Rekapitulace

Firewalld je skvělý nástroj pro správu zabezpečení vaší sítě. Nejlepší způsob, jak zvýšit své schopnosti správce systému, je získat praktické zkušenosti. Vřele doporučuji nainstalovat Fedoru na váš oblíbený virtuální stroj (VM) nebo do Boxů, abyste mohli experimentovat se všemi dostupnými funkcemi firewall-cmd. Další funkce firewall-cmd se můžete dozvědět z oficiální domovské stránky Firewallu.


Linux
  1. Použití příkazu systemctl ke správě jednotek systemd

  2. Použití Stratisu ke správě linuxového úložiště z příkazového řádku

  3. Použití Logrotate v linuxu ke správě souborů protokolu (s příklady)

  1. Používáte zalamování slov s Mc?

  2. Použití –exclude With The Du Command?

  3. Příklady použití příkazu tcpdump pro řešení problémů se sítí

  1. Spravujte síťová připojení z příkazového řádku Linuxu pomocí nmcli

  2. Použití více vzorů najednou pomocí příkazu Sed

  3. Jak monitorovat využití sítě pomocí nload v Linuxu?