加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

使用防火墙让你的Linux更加强大

发布时间:2019-07-14 10:10:56 所属栏目:Windows 来源:Seth Kenlon
导读:副标题#e# 掌握防火墙的工作原理,以及如何设置防火墙来提高 Linux 的安全性 所有人都听说过防火墙(哪怕仅仅是在网络犯罪片里看到过相关的情节设定),很多人也知道他们的计算机里很可能正运行着防火墙,但是很少有人明白在必要的时候如何驾驭防火墙。 防
副标题[/!--empirenews.page--]

使用防火墙让你的Linux更加强大

掌握防火墙的工作原理,以及如何设置防火墙来提高 Linux 的安全性

所有人都听说过防火墙(哪怕仅仅是在网络犯罪片里看到过相关的情节设定),很多人也知道他们的计算机里很可能正运行着防火墙,但是很少有人明白在必要的时候如何驾驭防火墙。

防火墙被用来拦截那些不请自来的网络流量,然而不同网络需要的安全级别也不尽相同。比如说,和在外面一家咖啡馆里使用公共 WiFi 相比,你在家里的时候可以更加信任网络里的其它计算机和设备。你或许希望计算机能够区分可以信任和不可信任的网络,不过最好还是应该学会自己去管理(或者至少是核实)你的安全设置。

防火墙的工作原理

网络里不同设备之间的通信是通过一种叫做端口port的网关实现的。这里的端口指的并不是像 USB 端口 或者 HDMI 端口这样的物理连接。在网络术语中,端口是一个纯粹的虚拟概念,用来表示某种类型的数据到达或离开一台计算机时候所走的路径。其实也可以换个名字来称呼,比如叫“连接”或者“门口”,不过 早在 1981 年的时候 它们就被称作端口了,这个叫法也沿用至今。其实端口这个东西没有任何特别之处,只是一种用来指代一个可能会发生数据传输的地址的方式。

1972 年,发布了一份 端口号列表(那时候的端口被称为“套接字socket”),并且从此演化为一组众所周知的标准端口号,帮助管理特定类型的网络流量。比如说,你每天访问网站的时候都会使用 80 和 443 端口,因为互联网上的绝大多数人都同意(或者是默认)数据从 web 服务器上传输的时候是通过这两个端口的。如果想要验证这一点,你可以在使用浏览器访问网站的时候在 URL 后面加上一个非标准的端口号码。比如说,访问 example.com:42 的请求会被拒绝,因为 example.com 在 42 端口上并不提供网站服务。

Navigating to a nonstandard port produces an error

Navigating to a nonstandard port produces an error

如果你是通过 80 端口访问同一个网站,就可以(不出所料地)正常访问了。你可以在 URL 后面加上 :80 来指定使用 80 端口,不过由于 80 端口是 HTTP 访问的标准端口,所以你的浏览器其实已经默认在使用 80 端口了。

当一台计算机(比如说 web 服务器)准备在指定端口接收网络流量的时候,保持该端口向网络流量开放是一种可以接受的(也是必要的)行为。但是不需要接收流量的端口如果也处在开放状态就比较危险了,这就是需要用防火墙解决的问题。

安装 firewalld

有很多种配置防火墙的方式,这篇文章介绍 firewalld。在桌面环境下它被集成在网络管理器Network Manager里,在终端里则是集成在 firewall-cmd 里。很多 Linux 发行版都预装了这些工具。如果你的发行版里没有,你可以把这篇文章当成是管理防火墙的通用性建议,在你所使用的防火墙软件里使用类似的方法,或者你也可以选择安装 firewalld

比如说在 Ubuntu 上,你必须启用 universe 软件仓库,关闭默认的 ufw 防火墙,然后再安装 firewalld

  1. $ sudo systemctl disable ufw
  2. $ sudo add-apt-repository universe
  3. $ sudo apt install firewalld

Fedora、CentOS、RHEL、OpenSUSE,以及其它很多发行版默认就包含了 firewalld

无论你使用哪个发行版,如果希望防火墙发挥作用,就必须保持它在开启状态,并且设置成开机自动加载。你应该尽可能减少在防火墙维护工作上所花费的精力。

  1. $ sudo systemctl enable --now firewalld

使用网络管理器选择区域

或许你每天都会连接到很多不同的网络。在工作的时候使用的是一个网络,在咖啡馆里是另一个,在家里又是另一个。你的计算机可以判断出哪一个网络的使用频率比较高,但是它并不知道哪一个是你信任的网络。

一个防火墙的区域zone里包含了端口开放和关闭的预设规则。你可以通过使用区域来选择一个对当前网络最适用的策略。

你可以打开网络管理器里的连接编辑器(可以在应用菜单里找到),或者是使用 nm-connection-editor & 命令以获取所有可用区域的列表。

Network Manager Connection Editor

Network Manager Connection Editor

在网络连接列表中,双击你现在所使用的网络。

在出现的网络配置窗口中,点击“通用”标签页。

在“通用”面板中,点击“防火墙区域”旁边的下拉菜单以获取所有可用区域的列表。

Firewall zones

Firewall zones

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读