ืžื”ื“ื•ืจืช Firewall 1.0

ืžื•ืฆื’ืช ื’ืจืกื” ืฉืœ ื—ื•ืžืช ื”ืืฉ 1.0 ื”ื ืฉืœื˜ืช ื‘ืื•ืคืŸ ื“ื™ื ืžื™, ื”ืžื™ื•ืฉืžืช ื‘ืฆื•ืจื” ืฉืœ ืžืขื˜ืคืช ืขืœ ืžืกื ื ื™ ืžื ื•ืช nftables ื•-iptables. Firewalld ืคื•ืขืœ ื›ืชื”ืœื™ืš ืจืงืข ื”ืžืืคืฉืจ ืœืš ืœืฉื ื•ืช ื‘ืื•ืคืŸ ื“ื™ื ืžื™ ื›ืœืœื™ ืกื™ื ื•ืŸ ืžื ื•ืช ื‘ืืžืฆืขื•ืช D-Bus ืžื‘ืœื™ ืœื˜ืขื•ืŸ ืžื—ื“ืฉ ืืช ื›ืœืœื™ ืžืกื ืŸ ื”ืžื ื•ืช ืื• ืœืฉื‘ื•ืจ ื—ื™ื‘ื•ืจื™ื ืฉื ื•ืฆืจื•. ื”ืคืจื•ื™ืงื˜ ื›ื‘ืจ ื ืžืฆื ื‘ืฉื™ืžื•ืฉ ื‘ื”ืคืฆื•ืช ืœื™ื ื•ืงืก ืจื‘ื•ืช, ื›ื•ืœืœ RHEL 7+, Fedora 18+ ื•-SUSE/openSUSE 15+. ืงื•ื“ ื—ื•ืžืช ื”ืืฉ ื›ืชื•ื‘ ื‘-Python ื•ื”ื•ื ืžื•ืจืฉื” ืชื—ืช ืจื™ืฉื™ื•ืŸ GPLv2.

ืœื ื™ื”ื•ืœ ื—ื•ืžืช ื”ืืฉ, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ื›ืœื™ ื”ืฉื™ืจื•ืช Firewall-cmd, ืืฉืจ, ื‘ืขืช ื™ืฆื™ืจืช ื›ืœืœื™ื, ืžื‘ื•ืกืก ืœื ืขืœ ื›ืชื•ื‘ื•ืช IP, ืžืžืฉืงื™ ืจืฉืช ื•ืžืกืคืจื™ ื™ืฆื™ืื•ืช, ืืœื ืขืœ ืฉืžื•ืช ื”ืฉื™ืจื•ืชื™ื (ืœื“ื•ื’ืžื”, ื›ื“ื™ ืœืคืชื•ื— ื’ื™ืฉื” ืœ-SSH ืืชื” ืฆืจื™ืš ื”ืคืขืœ ืืช "firewall-cmd โ€”add โ€”service= ssh", ื›ื“ื™ ืœืกื’ื•ืจ ืืช SSH - "firewall-cmd -remove -service=ssh"). ื›ื“ื™ ืœืฉื ื•ืช ืืช ืชืฆื•ืจืช ื—ื•ืžืช ื”ืืฉ, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื’ื ื‘ืžืžืฉืง ื”ื’ืจืคื™ ืฉืœ ื—ื•ืžืช ื”ืืฉ (GTK) ื•ื‘ื™ื™ืฉื•ืžื•ืŸ ื—ื•ืžืช ื”ืืฉ (Qt). ืชืžื™ื›ื” ื‘ื ื™ื”ื•ืœ ื—ื•ืžืช ืืฉ ื‘ืืžืฆืขื•ืช ื—ื•ืžืช ื”ืืฉ ืฉืœ D-BUS API ื–ืžื™ื ื” ื‘ืคืจื•ื™ืงื˜ื™ื ื›ื’ื•ืŸ NetworkManager, libvirt, podman, docker ื•-fail2ban.

ืฉื™ื ื•ื™ ืžืฉืžืขื•ืชื™ ื‘ืžืกืคืจ ื”ื’ืจืกื” ืงืฉื•ืจ ืœืฉื™ื ื•ื™ื™ื ื”ืฉื•ื‘ืจื™ื ืชืื™ืžื•ืช ืœืื—ื•ืจ ื•ืžืฉื ื™ื ืืช ื”ืชื ื”ื’ื•ืช ื”ืขื‘ื•ื“ื” ืขื ืื–ื•ืจื™ื. ื›ืœ ืคืจืžื˜ืจื™ ื”ืกื™ื ื•ืŸ ื”ืžื•ื’ื“ืจื™ื ื‘ืื–ื•ืจ ืžื™ื•ืฉืžื™ื ื›ืขืช ืจืง ืขืœ ืชืขื‘ื•ืจื” ื”ืžื•ืคื ื™ืช ืœืžืืจื— ืฉืขืœื™ื• ืคื•ืขืœืช ื—ื•ืžืช ื”ืืฉ, ื•ืกื™ื ื•ืŸ ืชืขื‘ื•ืจืช ืžืขื‘ืจ ื“ื•ืจืฉ ื”ื’ื“ืจืช ืžื“ื™ื ื™ื•ืช. ื”ืฉื™ื ื•ื™ื™ื ื”ื‘ื•ืœื˜ื™ื ื‘ื™ื•ืชืจ:

  • ื”ืงืฆื” ื”ืื—ื•ืจื™ ืฉืืคืฉืจ ืœื• ืœืขื‘ื•ื“ ืขืœ ื’ื‘ื™ iptables ื”ื•ื›ืจื– ืžื™ื•ืฉืŸ. ื”ืชืžื™ื›ื” ื‘-iptables ืชื™ืฉืžืจ ื‘ืขืชื™ื“ ื”ื ืจืื” ืœืขื™ืŸ, ืืš ื”ืงืฆื” ื”ืขื•ืจืคื™ ื”ื–ื” ืœื ื™ืคื•ืชื—.
  • ืžืฆื‘ ื”ืขื‘ืจื” ืชื•ืš-ืื–ื•ืจื™ ืžื•ืคืขืœ ื•ืžื•ืคืขืœ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ืขื‘ื•ืจ ื›ืœ ื”ืื–ื•ืจื™ื ื”ื—ื“ืฉื™ื, ื•ืžืืคืฉืจ ืชื ื•ืขื” ื—ื•ืคืฉื™ืช ืฉืœ ืžื ื•ืช ื‘ื™ืŸ ืžืžืฉืงื™ ืจืฉืช ืื• ืžืงื•ืจื•ืช ืชืขื‘ื•ืจื” ื‘ืชื•ืš ืื–ื•ืจ ืื—ื“ (ืฆื™ื‘ื•ืจื™, ื—ืกื•ื, ืžื”ื™ืžืŸ, ืคื ื™ืžื™ ื•ื›ื•'). ื›ื“ื™ ืœื”ื—ื–ื™ืจ ืืช ื”ื”ืชื ื”ื’ื•ืช ื”ื™ืฉื ื” ื•ืœืžื ื•ืข ื”ืขื‘ืจืช ืžื ื•ืช ื‘ืชื•ืš ืื–ื•ืจ ืื—ื“, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืคืงื•ื“ื” "ื—ื•ืžืช ืืฉ-cmd -permanent -zone public -remove-forward".
  • ื›ืœืœื™ื ื”ืงืฉื•ืจื™ื ืœืชืจื’ื•ื ื›ืชื•ื‘ื•ืช (NAT) ื”ื•ืขื‘ืจื• ืœืžืฉืคื—ืช ื”ืคืจื•ื˜ื•ืงื•ืœื™ื "inet" (ื ื•ืกืคื• ื‘ืขื‘ืจ ืœืžืฉืคื—ื•ืช "ip" ื•-"ip6", ืžื” ืฉื”ื•ื‘ื™ืœ ืœืฆื•ืจืš ืœืฉื›ืคืœ ื›ืœืœื™ื ืขื‘ื•ืจ IPv4 ื•- IPv6). ื”ืฉื™ื ื•ื™ ืื™ืคืฉืจ ืœื ื• ืœื”ื™ืคื˜ืจ ืžื›ืคื™ืœื•ื™ื•ืช ื‘ืขืช ืฉื™ืžื•ืฉ ื‘- ipset - ื‘ืžืงื•ื ืฉืœื•ืฉื” ืขื•ืชืงื™ื ืฉืœ ืขืจื›ื™ ipset, ื ืขืฉื” ื›ืขืช ืฉื™ืžื•ืฉ ื‘ืื—ื“.
  • ืคืขื•ืœืช "ื‘ืจื™ืจืช ื”ืžื—ื“ืœ" ื”ืžืฆื•ื™ื ืช ื‘ืคืจืžื˜ืจ "--set-target" ืฉื•ื•ื” ื›ืขืช ืœ"ื“ื—ื”", ื›ืœื•ืžืจ. ื›ืœ ื”ื—ื‘ื™ืœื•ืช ืฉืื™ื ืŸ ื ื•ืคืœื•ืช ืชื—ืช ื”ื›ืœืœื™ื ื”ืžื•ื’ื“ืจื™ื ื‘ืื–ื•ืจ ื™ื™ื—ืกืžื• ื›ื‘ืจื™ืจืช ืžื—ื“ืœ. ื—ืจื™ื’ื” ืžืชื‘ืฆืขืช ืจืง ืขื‘ื•ืจ ืžื ื•ืช ICMP, ืฉืขื“ื™ื™ืŸ ืžื•ืชืจื•ืช ืœืขื‘ื•ืจ. ื›ื“ื™ ืœื”ื—ื–ื™ืจ ืืช ื”ื”ืชื ื”ื’ื•ืช ื”ื™ืฉื ื” ืœืื–ื•ืจ "ืžื”ื™ืžืŸ" ื”ื ื’ื™ืฉ ืœืฆื™ื‘ื•ืจ, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื›ืœืœื™ื ื”ื‘ืื™ื: firewall-cmd โ€”permanent โ€”new-policy allowForward firewall-cmd โ€”permanent โ€”policy allowForward โ€”set-target ACCEPT firewall-cmd โ€”permanent โ€” policy allowForward โ€”add-ingress -zone public firewall-cmd โ€”permanent โ€”policy allowForward โ€”add-egress-zone trusted firewall-cmd โ€”ื˜ืขื™ื ื” ืžื—ื“ืฉ
  • ืžื“ื™ื ื™ื•ืช ืขื“ื™ืคื•ืช ื—ื™ื•ื‘ื™ืช ืžื‘ื•ืฆืขืช ื›ืขืช ืžื™ื“ ืœืคื ื™ ื‘ื™ืฆื•ืข ื›ืœืœ "--set-target catch-all", ื›ืœื•ืžืจ. ื‘ืจื’ืข ืฉืœืคื ื™ ื”ื•ืกืคืช ื”ื™ืจื™ื“ื” ื”ืกื•ืคื™ืช, ื“ื—ื” ืื• ืงื‘ืœ ื›ืœืœื™ื, ื›ื•ืœืœ ืขื‘ื•ืจ ืื–ื•ืจื™ื ื”ืžืฉืชืžืฉื™ื ื‘---set-target drop|reject|accept.
  • ื—ืกื™ืžืช ICMP ื—ืœื” ื›ืขืช ืจืง ืขืœ ืžื ื•ืช ื ื›ื ืกื•ืช ื”ืžืžื•ืขื ื•ืช ืœืžืืจื— ื”ื ื•ื›ื—ื™ (ืงืœื˜) ื•ืื™ื ื” ืžืฉืคื™ืขื” ืขืœ ืžื ื•ืช ื”ืžื•ืคื ื•ืช ื‘ื™ืŸ ืื–ื•ืจื™ื (ื”ืขื‘ืจ).
  • ืฉื™ืจื•ืช tftp-client, ืฉื ื•ืขื“ ืœืขืงื•ื‘ ืื—ืจ ื—ื™ื‘ื•ืจื™ื ืขื‘ื•ืจ ืคืจื•ื˜ื•ืงื•ืœ TFTP, ืืš ื”ื™ื” ื‘ืฆื•ืจื” ื‘ืœืชื™ ืฉืžื™ืฉื”, ื”ื•ืกืจ.
  • ื”ืžืžืฉืง ื”"ื™ืฉื™ืจ" ื”ื•ืฆื ืžืฉื™ืžื•ืฉ, ืžื” ืฉืžืืคืฉืจ ื”ื•ืกืคืช ื›ืœืœื™ ืกื™ื ื•ืŸ ืžื ื•ืช ืžื•ื›ื ื™ื ื™ืฉื™ืจื•ืช. ื”ืฆื•ืจืš ื‘ืžืžืฉืง ื–ื” ื ืขืœื ืœืื—ืจ ื”ื•ืกืคืช ื”ื™ื›ื•ืœืช ืœืกื ืŸ ืžื ื•ืช ืžื ื•ืชื‘ื•ืช ื•ื™ื•ืฆืื•ืช.
  • ื ื•ืกืฃ ืคืจืžื˜ืจ CleanupModulesOnExit, ืืฉืจ ืฉื•ื ื” ืœ"ืœื" ื›ื‘ืจื™ืจืช ืžื—ื“ืœ. ื‘ืืžืฆืขื•ืช ืคืจืžื˜ืจ ื–ื”, ืืชื” ื™ื›ื•ืœ ืœืฉืœื•ื˜ ืขืœ ืคืจื™ืงืช ืžื•ื“ื•ืœื™ ื”ืงืจื ืœ ืœืื—ืจ ื›ื™ื‘ื•ื™ ื—ื•ืžืช ื”ืืฉ.
  • ืžื•ืชืจ ืœื”ืฉืชืžืฉ ื‘-ipset ื‘ืขืช ืงื‘ื™ืขืช ืžืขืจื›ืช ื”ื™ืขื“ (ื™ืขื“).
  • ื ื•ืกืคื• ื”ื’ื“ืจื•ืช ืขื‘ื•ืจ ืฉื™ืจื•ืชื™ WireGuard, Kubernetes ื•-netbios-ns.
  • ื”ื•ื˜ืžืข ื›ืœืœื™ ื”ืฉืœืžื” ืื•ื˜ื•ืžื˜ื™ืช ืขื‘ื•ืจ zsh.
  • ื”ืชืžื™ื›ื” ื‘-Python 2 ื”ื•ืคืกืงื”.
  • ืจืฉื™ืžืช ื”ืชืœื•ืช ื”ืชืงืฆืจื”. ื›ื“ื™ ืฉื—ื•ืžืช ืืฉ ืชืขื‘ื•ื“, ื‘ื ื•ืกืฃ ืœืœื™ื‘ืช ืœื™ื ื•ืงืก, ื ื“ืจืฉื•ืช ื›ืขืช ืกืคืจื™ื•ืช ื”ืคื™ืชื•ืŸ ื”ื™ื—ื™ื“ื•ืช dbus, gobject ื•-nftables, ื•ื—ื‘ื™ืœื•ืช ebtables, ipset ื•-iptables ืžืกื•ื•ื’ื•ืช ื›ืื•ืคืฆื™ื•ื ืœื™ื•ืช. ืžืขืฆื‘ ืกืคืจื™ื•ืช ืคื™ืชื•ืŸ ื•ื”ืชืœื•ืฉ ื”ื•ืกืจื• ืžื”ืชืœื•ืช.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”