Introduction to Amazon Web Services by Leo Zhadanovsky
Obsah:
- Předpoklady
- Základní koncepty Firewallu
- Zóny firewallu
- Firewallové služby
- Firewalld Runtime a trvalé nastavení
- Povolení brány firewall
- Zóny firewallu
- Změna cíle zóny
- Přiřazení rozhraní jiné zóně
- Změna výchozí zóny
- Vytváření nových zón
- Firewalld Services
- Vytvoření nové služby FirewallD
- Otevření portů a zdrojových IP
- Otevření zdrojové IP
- Otevření zdrojového portu
- Předávání portů
- Přesměrovat přenos z jednoho portu na druhý na IP adrese
- Přeposlat přenos na jinou IP adresu
- Přeposlat přenos na jiný server na jiném portu
- Závěr
Firewall je metoda pro monitorování a filtrování příchozího a odchozího síťového provozu. Funguje tak, že definuje sadu bezpečnostních pravidel, která určují, zda povolit nebo blokovat konkrétní přenos. Správně nakonfigurovaný firewall je jedním z nejdůležitějších aspektů celkového zabezpečení systému.
CentOS 8 je dodáván s démonem firewall s názvem firewalld. Jedná se o kompletní řešení s rozhraním D-Bus, které vám umožňuje dynamicky spravovat bránu firewall systému.
V tomto tutoriálu si povíme o tom, jak nakonfigurovat a spravovat firewall na CentOS 8. Vysvětlíme také základní koncepty Firewallu.
Předpoklady
Chcete-li nakonfigurovat službu firewall, musíte být přihlášeni jako root nebo uživatel s právy sudo.
Základní koncepty Firewallu
firewalld používá koncepty zón a služeb. Na základě zón a služeb, které konfigurujete, můžete určit, jaký provoz je povolen nebo blokován do a ze systému.
Firewalld lze konfigurovat a spravovat pomocí obslužného programu příkazového řádku
firewall-cmd
.
V CentOS 8 je iptables nahrazen nftables jako výchozí backend firewallu pro démona firewalld.
Zóny firewallu
Zóny jsou předdefinované sady pravidel, která určují úroveň důvěryhodnosti sítí, ke kterým je počítač připojen. K zóně můžete přiřadit síťová rozhraní a zdroje.
Níže jsou uvedeny zóny poskytované bránou FirewallD seřazené podle úrovně důvěryhodnosti zóny od nedůvěryhodných k důvěryhodným:
- drop: Všechna příchozí připojení jsou zrušena bez upozornění. Povoleny jsou pouze odchozí spojení. blok: Všechna příchozí připojení jsou odmítnuta
icmp-host-prohibited
proIPv4
aicmp6-adm-prohibited
pro IPv6n. Povoleny jsou pouze odchozí spojení. public: Pro použití ve nedůvěryhodných veřejných prostorách. Nevěříte ostatním počítačům v síti, ale můžete povolit vybraná příchozí připojení. externí: Pro použití v externích sítích s povoleným maskováním NAT, když váš systém funguje jako brána nebo router. Povoleny jsou pouze vybrané příchozí připojení. interní: Pro použití v interních sítích, když váš systém funguje jako brána nebo router. Ostatní systémy v síti jsou obecně důvěryhodné. Povoleny jsou pouze vybrané příchozí připojení. dmz: Používá se pro počítače umístěné ve vaší demilitarizované zóně, které mají omezený přístup ke zbytku vaší sítě. Povoleny jsou pouze vybrané příchozí připojení. práce: Používá se pro pracovní stroje. Ostatní počítače v síti jsou obecně důvěryhodné. Povoleny jsou pouze vybrané příchozí připojení. home: Používá se pro domácí stroje. Ostatní počítače v síti jsou obecně důvěryhodné. Povoleny jsou pouze vybrané příchozí připojení. důvěryhodné: Všechna síťová připojení jsou přijata. Důvěřujte všem počítačům v síti.
Firewallové služby
Firewalld služby jsou předdefinovaná pravidla, která platí v rámci zóny a definují nezbytná nastavení umožňující příchozí provoz pro konkrétní službu. Služby vám umožňují snadno provádět několik úkolů v jednom kroku.
Služba může například obsahovat definice o otevírání portů, předávání provozu a další.
Firewalld Runtime a trvalé nastavení
Firewalld používá dvě oddělené konfigurační sady, runtime a permanentní konfiguraci.
Konfigurace runtime je skutečná spuštěná konfigurace a při restartu netrvá. Po spuštění démona firewallu načte trvalou konfiguraci, která se stane runtime konfigurací.
Ve výchozím nastavení jsou při provádění změn v konfiguraci brány Firewalld pomocí nástroje
firewall-cmd
použity změny v konfiguraci runtime. Aby změny byly trvalé, připojte k
--permanent
volbu
--permanent
.
Chcete-li použít změny v obou konfiguračních sadách, můžete použít jednu z následujících dvou metod:
-
Změňte konfiguraci běhového modulu a nastavte ho jako trvalý:
sudo firewall-cmd
sudo firewall-cmd --runtime-to-permanent
Změňte trvalou konfiguraci a znovu načtěte démona firewallu:
sudo firewall-cmd --permanent
sudo firewall-cmd --reload
Povolení brány firewall
Na CentOS 8 je firewalld standardně nainstalován a povolen. Pokud z nějakého důvodu není nainstalován ve vašem systému, můžete démona nainstalovat a spustit zadáním:
sudo dnf install firewalld
sudo systemctl enable firewalld --now
Stav brány firewall můžete zkontrolovat pomocí:
sudo firewall-cmd --state
Pokud je firewall povolen, příkaz by měl být
running
. Jinak uvidíte, že
not running
.
Zóny firewallu
Výchozí zóna je ta, která se používá pro vše, co není explicitně přiřazeno k jiné zóně.
Výchozí zónu můžete zobrazit zadáním:
sudo firewall-cmd --get-default-zone
public
Chcete-li získat seznam všech dostupných zón, zadejte:
sudo firewall-cmd --get-zones
block dmz drop external home internal public trusted work
Zobrazení aktivních zón a síťových rozhraní, která jsou jim přiřazena:
sudo firewall-cmd --get-active-zones
Následující výstup ukazuje, že rozhraní
eth0
a
eth1
jsou přiřazena do
public
zóny:
public interfaces: eth0 eth1
Nastavení konfigurace zóny můžete vytisknout pomocí:
sudo firewall-cmd --zone=public --list-all
public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Z výše uvedeného výstupu vidíme, že veřejná zóna je aktivní a používá výchozí cíl, kterým je
REJECT
. Výstup také ukazuje, že zóna je používána rozhraními
eth0
a
eth1
a umožňuje provoz DHCP klienta a SSH.
sudo firewall-cmd --list-all-zones
Příkaz vytiskne obrovský seznam s nastavením všech dostupných zón.
Změna cíle zóny
Cíl definuje výchozí chování zóny pro příchozí provoz, který není specifikován. Lze ji nastavit na jednu z následujících možností:
default
,
ACCEPT
,
REJECT
a
DROP
.
Chcete-li nastavit cíl zóny, zadejte zónu s volbou
--zone
a cíl s volbou
--zone
--set-target
.
Chcete-li například změnit cíl
public
zóny na
DROP
měli byste spustit:
sudo firewall-cmd --zone=public --set-target=DROP
Přiřazení rozhraní jiné zóně
Můžete vytvořit specifické sady pravidel pro různé zóny a přiřadit jim různá rozhraní. To je užitečné zejména v případě, že na svém počítači máte více rozhraní.
Chcete-li přiřadit rozhraní jiné zóně, zadejte zónu s volbou
--zone
a rozhraní s volbou
--change-interface
.
Například následující příkaz přiřadí rozhraní
eth1
work
zóně:
sudo firewall-cmd --zone=work --change-interface=eth1
Změny ověřte zadáním:
sudo firewall-cmd --get-active-zones
work interfaces: eth1 public interfaces: eth0
Změna výchozí zóny
Chcete-li změnit výchozí zónu, použijte volbu
--set-default-zone
následovanou názvem zóny, kterou chcete nastavit jako výchozí.
Chcete-li například změnit výchozí zónu na
home
, spustíte následující příkaz:
sudo firewall-cmd --set-default-zone=home
Ověřte změny pomocí:
sudo firewall-cmd --get-default-zone
Vytváření nových zón
Firewalld vám také umožňuje vytvořit si vlastní zóny. Toto je užitečné, pokud chcete vytvořit pravidla pro jednotlivé aplikace.
V následujícím příkladu vytvoříme novou zónu s názvem
memcached
, otevřete port
11211
a povolíme přístup pouze z IP adresy
192.168.100.30
:
-
Vytvořte zónu:
sudo firewall-cmd --new-zone=memcached --permanent
Přidejte pravidla do zóny:
sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent
sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent
Znovu načtěte démona firewallu a aktivujte změny:
sudo firewall-cmd --reload
Firewalld Services
S firewallem můžete povolit provoz pro konkrétní porty nebo zdroje na základě předdefinovaných pravidel nazývaných služby.
Chcete-li získat seznam všech výchozích dostupných typů služeb:
sudo firewall-cmd --get-services
Další informace o každé službě najdete otevřením přidruženého souboru.xml v adresáři
/usr/lib/firewalld/services
. Například služba HTTP je definována takto:
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
Chcete-li povolit příchozí provoz HTTP (port 80) pro rozhraní ve veřejné zóně, pouze pro aktuální typ relace (runtime konfigurace):
sudo firewall-cmd --zone=public --add-service=http
Pokud upravujete výchozí zónu, můžete vynechat volbu
--zone
.
Chcete-li ověřit, že služba byla úspěšně přidána, použijte volbu
--list-services
:
sudo firewall-cmd --zone=public --list-services
ssh dhcpv6-client
Chcete-li zachovat port 80 otevřený i po restartu, spusťte znovu stejný příkaz pomocí volby
--permanent
nebo proveďte:
sudo firewall-cmd --runtime-to-permanent
K ověření změn použijte volbu
--list-services
spolu s
--permanent
:
sudo firewall-cmd --permanent --zone=public --list-services
ssh dhcpv6-client
Syntaxe pro odebrání služby je stejná jako při přidávání služby. Stačí použít
--remove-service
místo
--add-service
:
sudo firewall-cmd --zone=public --remove-service=http --permanent
Výše uvedený příkaz odebere službu
http
z trvalé konfigurace veřejné zóny.
Vytvoření nové služby FirewallD
Jak jsme již zmínili, výchozí služby jsou uloženy v adresáři
/usr/lib/firewalld/services
. Nejjednodušší způsob, jak vytvořit novou službu, je zkopírovat existující soubor služeb do adresáře
/etc/firewalld/services
, což je umístění pro služby vytvořené uživatelem a upravit nastavení souboru.
Chcete-li například vytvořit definici služby pro server Plex Media Server, můžete použít servisní soubor SSH:
sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml
Otevřete nově vytvořený soubor
plexmediaserver.xml
a změňte zkrácený název a popis služby v rámci
port
, která definuje číslo portu a protokol, který chcete otevřít.
V následujícím příkladu otevíráme porty
1900
UDP a
32400
TCP.
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
Uložte soubor a znovu načtěte službu FirewallD:
sudo firewall-cmd --reload
Nyní můžete ve svých zónách používat službu
plexmediaserver
stejně jako jakoukoli jinou službu.
Otevření portů a zdrojových IP
Firewalld také umožňuje rychle povolit veškerý provoz z důvěryhodné adresy IP nebo z určitého portu bez vytvoření definice služby.
Otevření zdrojové IP
Chcete-li povolit veškerý příchozí provoz z konkrétní adresy IP (nebo rozsahu), zadejte zónu s volbou
--zone
a zdrojovou IP s
--add-source
.
Chcete-li například povolit veškerý příchozí provoz z 192.168.1.10 ve
public
zóně, spusťte:
sudo firewall-cmd --zone=public --add-source=192.168.1.10
Nastavit trvalé pravidlo:
sudo firewall-cmd --runtime-to-permanent
Ověřte změny pomocí následujícího příkazu:
sudo firewall-cmd --zone=public --list-sources
192.168.1.10
Syntaxe pro odebrání zdrojové IP je stejná jako při přidávání. Stačí použít
--remove-source
místo volby
--add-source
:
sudo firewall-cmd --zone=public --remove-source=192.168.1.10
Otevření zdrojového portu
Chcete-li povolit veškerý příchozí provoz na daném portu, zadejte zónu s volbou
--zone
a port a protokol s
--add-port
.
Například pro otevření portu
8080
ve veřejné zóně pro aktuální relaci, kterou jste spustili:
sudo firewall-cmd --zone=public --add-port=8080/tcp
Protokol může být buď
tcp
,
udp
,
sctp
nebo
dccp
.
Ověřte změny:
sudo firewall-cmd --zone=public --list-ports
8080
Chcete-li zachovat port otevřený i po restartu, přidejte pravidlo do trvalého nastavení spuštěním stejného příkazu pomocí příznaku
--permanent
nebo provedením:
sudo firewall-cmd --runtime-to-permanent
Syntaxe pro odebrání portu je stejná jako při přidávání portu. Stačí použít
--remove-port
místo volby
--add-port
.
sudo firewall-cmd --zone=public --remove-port=8080/tcp
Předávání portů
Chcete-li přesměrovat provoz z jednoho portu na druhý, nejprve povolte maškarádu do požadované zóny pomocí volby
--add-masquerade
. Chcete-li například povolit maskování pro
external
zónu, zadejte:
sudo firewall-cmd --zone=external --add-masquerade
Přesměrovat přenos z jednoho portu na druhý na IP adrese
V následujícím příkladu předáváme provoz z portu
80
na port
8080
na stejném serveru:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080
Přeposlat přenos na jinou IP adresu
V následujícím příkladu předáváme provoz z portu
80
na port
80
na serveru s IP
10.10.10.2
:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.10.10.2
Přeposlat přenos na jiný server na jiném portu
V následujícím příkladu předáváme provoz z portu
80
na port
8080
na serveru s IP
10.10.10.2
:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=10.10.10.2
Chcete-li, aby pravidlo pro předávání bylo trvalé, použijte:
sudo firewall-cmd --runtime-to-permanent
Závěr
Naučili jste se, jak konfigurovat a spravovat službu firewall ve vašem systému CentOS 8.
Nezapomeňte povolit všechna příchozí připojení, která jsou nezbytná pro správné fungování systému, a zároveň omezte všechna zbytečná připojení.
firewall centos zabezpečení centraJak nainstalovat a nakonfigurovat sambu na centech 7

V tomto tutoriálu si ukážeme, jak nainstalovat Sambu na CentOS 7 a nakonfigurovat ji jako samostatný server pro sdílení souborů v různých operačních systémech v síti.
Jak nainstalovat a nakonfigurovat zabbix na centech 7

Zabbix je plně vybavený software pro monitorování otevřeného zdroje. Tento tutoriál popisuje, jak nainstalovat a konfigurovat nejnovější verzi Zabbix 4.0 na serveru CentOS 7.
Jak nastavit firewall s firewallem na centech 7

FirewallD je kompletní řešení brány firewall, které řídí pravidla systému iptables a poskytuje rozhraní D-Bus pro jejich provozování. V tomto tutoriálu vám ukážeme, jak nastavit firewall s FirewallD v systému CentOS 7 a vysvětlit vám základní koncepty FirewallD.