V Linuxu je firewall nezbytný pro řízení příchozího a odchozího síťového provozu. Je velmi snadné povolit nebo zablokovat IP adresy a porty pomocí brány firewall. Zde jsou příkazy pro povolení nebo blokování IP adres a portů pomocí různých firewallů.
Firewall
Firewalld je nástroj pro správu brány firewall v operačním systému Linux. Je konfigurován pomocí souborů XML. Ke konfiguraci a manipulaci s pravidly brány firewall můžeme použít rozhraní příkazového řádku firewall-cmd.
- Povolit příchozí provoz na portu 80. Níže uvedený příkaz povolí provoz na portu 80.
# sudo firewall-cmd --zone=public --add-port=80/tcp
- Povolte příchozí port 80 v trvalé bráně firewall.
# sudo firewall-cmd --zone=public --permanent --add-port=80/tcp
- Odmítnout odchozí port číslo 25. Níže uvedený příkaz zablokuje všechna odchozí připojení z portu 25.
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p tcp -m tcp -d 127.0.0.1 --dport=25 -j ACCEPT
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport=25 -j REJECT
# firewall-cmd --reload - Odmítnout příchozí port číslo 80. Níže uvedený příkaz odmítne veškerý provoz pro port 80.
# sudo firewall-cmd --remove-port=80/tcp --permanent
- Spusťte níže uvedený příkaz a zablokujte IP adresu v bráně Firewalld. Nahraďte 173.248.192.11 svou IP adresou.
# sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='173.248.192.11' reject"
- Otevřete port pro konkrétní adresu IP v bráně firewall. Přidejte zdrojovou IP adresu a port (3306), který chcete otevřít na místním serveru Linux. Poté znovu načtěte nastavení brány firewall, aby se změny projevily.
# firewall-cmd --zone=mariadb-access --add-source=173.248.192.11 --permanent
# firewall-cmd --zone=mariadb-access --add-port=3306/tcp --permanent
# firewall-cmd --reload
Iptables
Iptables používají sadu tabulek, které mají řetězce obsahující sadu vestavěných nebo uživatelem definovaných pravidel. Pomocí těchto pravidel můžeme filtrovat síťový provoz na počítačích se systémem Linux.
- Spusťte níže uvedený příkaz a povolte všechna příchozí připojení HTTP (port 80).
# sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Druhý příkaz povoluje odchozí provoz navázaných připojení HTTP, což je vyžadováno, pokud odchozí zásada není nastavena na ACCEPT.
# sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT - Spuštěním níže uvedeného příkazu povolte více příchozích portů. Níže uvedený příkaz bude přijímat provoz z portů 22,53 a 80.
# /sbin/iptables -A INPUT -p tcp --match multiport --dports 22,53,80 -j ACCEPT
- Zakázat příchozí port 80 pomocí IPtables. Níže uvedený příkaz odmítne všechna příchozí spojení pro port 80.
# /sbin/iptables -A OUTPUT -p tcp --dport 80 -j DROP
# /sbin/service iptables save - Zablokujte IP adresu v IPtables. Nahraďte 173.248.192.11 svou IP adresou.
# sudo iptables -A INPUT -s 173.248.192.11 -j DROP
- Otevřete port pro konkrétní adresu IP v tabulkách IP. Povolit příchozí SSH z konkrétní IP adresy nebo podsítě.
# sudo iptables -A INPUT -p tcp -s 173.248.192.11 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
# sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
UFW – Nekomplikovaný firewall
UFW je také známý jako Uncomplicated Firewall. Je vhodný pro hostitelské firewally. Podporuje oba protokoly IPv4 a IPv6.
- Povolit příchozí port 80. Níže uvedený příkaz povolí veškerý provoz z portu 80.
# sudo ufw allow 80
- Povolit více příchozích portů. Níže uvedený příkaz povolí příchozí provoz z portů 53, 80 a 443.
# sudo ufw allow 53,80,443
- Odmítnout příchozí port 80. Níže uvedený příkaz odmítne veškerý příchozí provoz pro porty 80.
# sudo ufw deny 22
- Zakázat odchozí port 25. Níže uvedený příkaz odmítne veškerý odchozí provoz z portu 25.
# sudo ufw deny out 25
- Blokovat IP adresu v UFW. Pro příchozí provoz na vašem počítači můžete zablokovat jakoukoli IP adresu.
# sudo ufw deny from 173.248.192.11
- Otevřete port pro konkrétní IP adresu v UFW. Níže uvedený příkaz otevře port 80 pro uvedenou IP adresu. Můžete ji nahradit svou IP adresou.
# sudo ufw allow from 173.248.192.11 to any port 80