Tento článek ukazuje, jak nainstalovat a používat UFW na vašem Ubuntu 20.04 Systém LTS.
Instalace
UFW je předinstalován na většině systémů Ubuntu. Pokud vaše sestavení nemá tento program již nainstalovaný, můžete jej nainstalovat pomocí snap nebo apt správců balíčků.$ sudo snap install ufw
$ sudo apt install ufwJá osobně dávám přednost použití apt správce balíčků, protože snap je méně populární a nechci mít tuto extra složitost. V době psaní tohoto článku je verze publikovaná pro UFW 0.36 za 20.04 vydání.
Příchozí vs. Odchozí provoz
Pokud jste ve světě sítí začátečník, první věcí, kterou si musíte ujasnit, je rozdíl mezi příchozím a odchozím provozem.
Když instalujete aktualizace pomocí apt-get, procházíte internet nebo kontrolujete svůj e-mail, posíláte „odchozí“ požadavky na servery, jako jsou Ubuntu, Google atd. Pro přístup k těmto službám nepotřebujete ani veřejnou IP. Obvykle je pro veřejný širokopásmové připojení přidělena jedna veřejná adresa IP a každé zařízení získá vlastní soukromou adresu IP. Směrovač poté zpracovává provoz pomocí takzvaného NAT nebo překladu síťových adres.
Podrobnosti o NAT a soukromých IP adresách přesahují rámec tohoto článku, ale výše odkazované video je vynikajícím výchozím bodem. Vrátíme-li se zpět k UFW, ve výchozím nastavení UFW umožní veškerý běžný odchozí webový provoz. Vaše prohlížeče, správci balíčků a další programy vybírají náhodné číslo portu - obvykle číslo nad 3000 - a tak může každá aplikace sledovat své připojení.
Pokud provozujete servery v cloudu, obvykle přicházejí s veřejnou IP adresou a výše uvedená pravidla umožňující odchozí provoz stále platí. Protože stále budete používat nástroje, jako jsou správci balíčků, kteří mluví se zbytkem světa jako „klient“, UFW to ve výchozím nastavení umožňuje.
Zábava začíná příchozím provozem. Aplikace, jako je server OpenSSH, který používáte k přihlášení k virtuálnímu počítači, naslouchají na konkrétních portech (jako 22) přicházející stejně jako jiné aplikace. Webové servery potřebují přístup k portům 80 a 443.
Součástí práce brány firewall je umožnit konkrétním aplikacím naslouchat v určitém příchozím provozu a blokovat všechny nepotřebné. Na svém virtuálním počítači můžete mít nainstalovaný databázový server, ale obvykle nemusí naslouchat příchozím požadavkům na rozhraní s veřejnou IP. Obvykle poslouchá požadavky na rozhraní zpětné smyčky.
Na webu je mnoho robotů, kteří neustále bombardují servery falešnými požadavky, aby se dostali hrubou silou nebo provedli jednoduchý útok Denial of Service. Dobře nakonfigurovaný firewall by měl být schopen blokovat většinu těchto shenanigans pomocí pluginů třetích stran, jako je Fail2ban.
Ale prozatím se zaměříme na velmi základní nastavení.
Základní použití
Nyní, když máte ve svém systému nainstalované UFW, se podíváme na některá základní použití tohoto programu. Vzhledem k tomu, že pravidla brány firewall jsou použita v celém systému, jsou níže uvedené příkazy spouštěny jako uživatel root. Pokud chcete, můžete pro tento postup použít sudo se správnými oprávněními.
# ufw statusStav: neaktivní
Ve výchozím nastavení je UFW v neaktivním stavu, což je dobrá věc. Nechcete blokovat veškerý příchozí provoz na portu 22, což je výchozí port SSH. Pokud jste přihlášeni ke vzdálenému serveru přes SSH a zablokujete port 22, budete ze serveru uzamčeni.
UFW nám usnadňuje vystrčit díru jen pro OpenSSH. Spusťte následující příkaz:
[chráněno e-mailem]: ~ # ufw seznam aplikacíDostupné aplikace:
OpenSSH
Všimněte si, že jsem stále nepovolil bránu firewall. Nyní přidáme OpenSSH do našeho seznamu povolených aplikací a poté povolíme bránu firewall. Chcete-li tak učinit, zadejte následující příkazy:
# ufw povolit OpenSSHPravidla byla aktualizována
Pravidla aktualizována (v6)
# ufw povolit
Příkaz může narušit stávající připojení SSH. Pokračovat v operaci (y | n)? y.
Brána firewall je nyní aktivní a povolená při spuštění systému.
Gratulujeme, UFW je nyní aktivní a běží. UFW nyní umožňuje pouze OpenSSH naslouchat na příchozí požadavky na portu 22. Chcete-li kdykoli zkontrolovat stav brány firewall, spusťte následující kód:
# ufw statusStav: aktivní
K akci od
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Jak vidíte, OpenSSH nyní může přijímat požadavky odkudkoli na internetu, pokud k němu dojde na portu 22. Řádek v6 označuje, že pravidla jsou použita i pro IPv6.
Samozřejmě můžete zakázat konkrétní rozsahy IP nebo povolit pouze určitý rozsah IP, v závislosti na bezpečnostních omezeních, ve kterých pracujete.
Přidávání aplikací
U nejpopulárnějších aplikací příkaz ufw seznam aplikací automaticky aktualizuje seznam zásad po instalaci. Například po instalaci webového serveru Nginx se zobrazí následující nové možnosti:
# apt nainstalovat nginx# ufw seznam aplikací
Dostupné aplikace:
Nginx plný
Nginx HTTP
Nginx HTTPS
OpenSSH
Pokračujte a zkuste experimentovat s těmito pravidly. Všimněte si, že můžete jednoduše povolit čísla portů, místo čekání na zobrazení profilu aplikace. Chcete-li například povolit port 443 pro přenos HTTPS, jednoduše použijte následující příkaz:
# ufw povolit 443# ufw status
Stav: aktivní
K akci od
-- ------ ----
OpenSSH ALLOW Anywhere
443 POVOLIT kdekoli
OpenSSH (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
Závěr
Nyní, když máte seřazené základy UFW, můžete prozkoumat další výkonné funkce brány firewall, počínaje povolením a blokováním rozsahů IP. Díky jasným a zabezpečeným zásadám brány firewall budou vaše systémy zabezpečeny a chráněny.