linux防火墙_Linux防火墙入门

linux防火墙

明智的防火墙是您的计算机抵御网络入侵的第一道防线。 当您在家时,您可能位于互联网服务提供商提供的路由器内置的防火墙后面。 但是,当您出门在外时,唯一的防火墙就是计算机上运行的防火墙,因此在Linux计算机上配置和控制防火墙很重要。 如果您运行的是Linux服务器,那么了解如何管理防火墙也同样重要,这样您就可以在本地和远程保护防火墙免受有害流量的侵害。

安装防火墙

许多Linux发行版附带了已安装的防火墙,传统上是iptables 。 它非常有效且可自定义,但配置起来可能很复杂。 幸运的是,开发人员已经产生了一些前端,可以帮助用户控制防火墙而无需编写冗长的iptables规则。

在Fedora,CentOS,Red Hat和类似的发行版上,默认安装的防火墙软件是firewalld ,它是由firewall-cmd命令配置和控制的。 在Debian和大多数其他发行版中,firewalld可从您的软件存储库安装。 Ubuntu附带了Uncomplicated Firewall(ufw),因此要使用firewalld,必须启用Universe存储库:


   
   
     
     
     
     
$ sudo add-apt-repository universe
$ sudo apt install firewalld

您还必须停用ufw:

 $  sudo systemctl disable ufw 

没有理由使用ufw。 这是一个出色的防火墙前端。 但是,由于防火墙防火墙的广泛可用性和与systemd的集成,因此本文重点介绍了firewalld,几乎所有发行版都随附该防火墙。

无论采用哪种发行版,为了使防火墙有效,它必须处于活动状态,并且应在引导时加载:

 $  sudo systemctl enable --now firewalld 

了解防火墙区域

Firewalld旨在使防火墙配置尽可能简单。 它通过建立区域来做到这一点。 区域是一组适合大多数用户日常需求的明智的通用规则。 默认情况下有九个:

  • 信任:接受所有网络连接。 这是最不偏执的防火墙设置,仅应在受信任的环境中使用,例如测试实验室或在已知本地网络上每个人都友好的家庭住宅中使用。
  • 家庭,工作,内部:在这三个区域中,大多数传入连接都是可接受的。 它们每个都排除通常不希望活动的端口上的流量。 它们中的任何一个都是在家庭环境中使用的合理设置,在这种环境中,没有理由期望网络流量会掩盖端口,并且您通常会信任网络上的其他用户。
  • public:用于公共区域。 这是一个偏执设置,适用于您不信任网络上其他计算机时的情况。 仅接受选定的公共和最安全的传入连接。
  • dmz: DMZ代表非军事区。 此区域适用于可公开访问的计算机,这些计算机位于组织的外部网络上,对内部网络的访问受到限制。 对于个人计算机,这通常不是有用的区域,但是对于某些类型的服务器,这是一个重要的选择。
  • external:用于在启用伪装的外部网络上使用(意味着专用网络的地址已映射到公共IP地址并隐藏在其后面)。 与dmz区域类似,仅接受选定的传入连接,包括SSH。
  • 阻止:仅可能在此系统内启动的网络连接,并且所有进入的网络连接均被icmp-host-prohibited消息拒绝。 这是一个极度偏执的设置,对于不受信任或敌对的环境中的某些类型的服务器或个人计算机,这是一个重要的选择。
  • drop:丢弃所有传入的网络数据包,且不作任何答复。 仅传出网络连接是可能的。 唯一比这更偏执的设置是关闭WiFi并拔掉以太网电缆。

通过查看/ usr / lib / firewalld / zones中的配置文件,可以了解每个区域以及由发行版或sysadmin定义的任何其他区域 。 例如,这是Fedora 31附带的FedoraWorkstation区域:


   
   
     
     
     
     
$ cat / usr / lib / firewalld / zones / FedoraWorkstation.xml
< ?xml version = "1.0" encoding = "utf-8" ? >
< zone >
  < short > Fedora Workstation short >
  < description > Unsolicited incoming network packets are rejected from port 1 to 1024 , except for select network services. Incoming packets that are related to outgoing network connections are accepted. Outgoing network connections are allowed. description >
  < service name = "dhcpv6-client" />
  < service name = "ssh" />
  < service name = "samba-client" />
  < port protocol = "udp" port = "1025-65535" />
  < port protocol = "tcp" port = "1025-65535" />
zone >

获取当前区域

您可以随时使用--get-active-zones选项查看您所在的区域

 $  sudo firewall-cmd --get-active-zones 

作为响应,您将收到活动区域的名称以及分配给它的网络接口。 在笔记本电脑上,这通常意味着您在默认区域中具有WiFi卡:


   
   
     
     
     
     
FedoraWorkstation
  interfaces: wlp61s0

更改当前区域

要更改区域,请将网络接口重新分配给其他区域。 例如,要将示例wlp61s0卡更改为公共区域:


   
   
     
     
     
     
$ sudo firewall-cmd --change-interface =wlp61s0 \
--zone =public
当您按下Tab键时, firewall-cmd会自动完成,因此只要您记住关键字“更改”和“区域”,您就可以无意间通过该命令,直到通过内存学习该命令为止。

学到更多

您可以使用防火墙做更多的事情,包括自定义现有区域,设置默认区域等等。 您使用的防火墙越舒适,您的在线活动就越安全,因此我们创建了备忘单,以便快速轻松地参考。

下载防火墙备忘单

翻译自: https://opensource.com/article/20/2/firewall-cheat-sheet

linux防火墙

你可能感兴趣的:(网络,linux,java,大数据,iptables)