Skip to content

Commit

Permalink
2021-11-29 23:13:44
Browse files Browse the repository at this point in the history
  • Loading branch information
wizardforcel committed Nov 29, 2021
1 parent 4087757 commit 89cbda7
Show file tree
Hide file tree
Showing 111 changed files with 983 additions and 987 deletions.
12 changes: 6 additions & 6 deletions trans/conf-ipcop-fw/01.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@

随着对互联网通信的日益依赖,在撰写本文时,防火墙几乎已普遍部署为防范未经授权的网络活动、自动攻击和内部滥用的主要防线。 它们被部署在任何地方,在此上下文中使用术语“防火墙”来指代从内置于常用操作系统中的软件堆栈(例如内置于微软视窗操作系统([http://www.microsoft.com/windowsxp/using/security/internet/sp2_wfintro.mspx](http://www.microsoft.com/windowsxp/using/security/internet/sp2_wfintro.mspx))的 Service Pack2 中的*视窗防火墙*),到只保护其运行的计算机的任何设备,到部署在银行、数据中心、。 以及政府设施(如思科的 PIX 线防火墙产品([http://www.cisco.com/en/US/products/hw/vpndevc/ps2030/](http://www.cisco.com/en/US/products/hw/vpndevc/ps2030/)))。 这样的高端设备可以管理和限制数十万台单独计算机之间的网络流量。

鉴于“防火墙”这个术语的使用越来越多,并且在这个词中添加了如此多的限定符来区分不同类型的防火墙(例如,术语有状态、代理、应用程序、数据包过滤器、硬件、软件、电路级等等),当某人告诉你他们的网络“有防火墙”时,很难知道他们的意思是什么。 因此,我们对 IPCop 的探索必须从探索防火墙的实际内容开始,然后利用这些知识,我们可以将 IPCop 与这些知识联系起来,并了解 IPCop 可以为我们完成哪些功能。
鉴于“防火墙”这个术语的使用越来越多,并且在这个词中添加了如此多的限定符来区分不同类型的防火墙(例如,术语有状态、代理、应用、数据包过滤器、硬件、软件、电路级等等),当某人告诉你他们的网络“有防火墙”时,很难知道他们的意思是什么。 因此,我们对 IPCop 的探索必须从探索防火墙的实际内容开始,然后利用这些知识,我们可以将 IPCop 与这些知识联系起来,并了解 IPCop 可以为我们完成哪些功能。

为了提高我们的网络安全,我们首先需要找出我们需要解决的问题,并确定这个防火墙是否是解决这些问题的办法。 为了满足时髦的要求而实施防火墙是安全设计中的常见错误。

Expand All @@ -48,7 +48,7 @@

分层协议通常使用**开放系统互连**(**OSI**)层来解释。 这方面的知识对从事网络或防火墙工作的任何人都非常有用,因为与此相关的许多概念都需要了解这种分层的工作方式。

OSI 层将流量和数据分为七层,理论上每一层都属于一种协议。 尽管网络和 IT 应用程序在理论上非常出色,但它们并不总是严格遵守 OSI 层,因此值得将其视为指导原则,而不是严格的框架。 这就是说,它们对于可视化连接非常有用,而且一般说来,层的愿景,每个层都利用不同供应商设计的硬件和软件,每个层与上面和下面的层进行互操作并不是不现实的。
OSI 层将流量和数据分为七层,理论上每一层都属于一种协议。 尽管网络和 IT 应用在理论上非常出色,但它们并不总是严格遵守 OSI 层,因此值得将其视为指导原则,而不是严格的框架。 这就是说,它们对于可视化连接非常有用,而且一般说来,层的愿景,每个层都利用不同供应商设计的硬件和软件,每个层与上面和下面的层进行互操作并不是不现实的。

# OSI 模型

Expand Down Expand Up @@ -80,7 +80,7 @@ OSI 模型如下图所示:

## 第五层:会话层

OSI 模型中的上三层不再关注(内部)网络问题,而是更多地关注使用连接的软件和应用程序的实用性。 会话层是建立会话的机制所在,例如**NetBIOS**协议。
OSI 模型中的上三层不再关注(内部)网络问题,而是更多地关注使用连接的软件和应用的实用性。 会话层是建立会话的机制所在,例如**NetBIOS**协议。

## 第六层:表示层

Expand Down Expand Up @@ -280,11 +280,11 @@ OSI 模型中的上三层不再关注(内部)网络问题,而是更多地关

个人防火墙软件不能是真正的防火墙。 正如我们前面讨论的,防火墙是防火墙一侧和另一侧之间的安全边界。 根据定义,个人防火墙必须将数据接受到计算机上,然后才能决定是否允许其存在。 许多形式的利用漏洞攻击涉及在解析和评估恶意构建的数据时曲解该数据。 由于防火墙在其应该保护的主机上执行这些任务,因此它无法有效地将执行保护的软件部分与正在保护的软件部分隔离开来。 即使对于较小的网络,个人防火墙也无法提供网络防火墙提供的隔离程度。

尽管个人防火墙软件对入站(入站)流量相对有效,但此类软件不能提供针对未经授权的出站(或出站)流量的保护,因为在工作站上生成此类流量的应用程序通常可以在一定程度上访问防火墙的内部结构。 如果登录的用户是工作站的管理员(或者如果操作系统中存在允许非管理应用程序获得系统或管理权限的安全缺陷),则很有可能使用操作系统([http://www.vigilantminds.com/files/defeating_windows_personal_firewalls.pdf](http://www.vigilantminds.com/files/defeating_windows_personal_firewalls.pdf))以与客户端本身不同的防火墙无法实现的方式绕过软件/个人防火墙。
尽管个人防火墙软件对入站(入站)流量相对有效,但此类软件不能提供针对未经授权的出站(或出站)流量的保护,因为在工作站上生成此类流量的应用通常可以在一定程度上访问防火墙的内部结构。 如果登录的用户是工作站的管理员(或者如果操作系统中存在允许非管理应用获得系统或管理权限的安全缺陷),则很有可能使用操作系统([http://www.vigilantminds.com/files/defeating_windows_personal_firewalls.pdf](http://www.vigilantminds.com/files/defeating_windows_personal_firewalls.pdf))以与客户端本身不同的防火墙无法实现的方式绕过软件/个人防火墙。

许多个人防火墙包(如 ZoneAlarm)超越了数据包过滤防火墙单独提供的服务,并充当基于主机的入侵检测系统(HIDS)或基于主机的入侵防御系统(HIPS)。 这些系统主动监控,如果是 HIPS,则防止对操作系统及其组件进行更改。 由于显而易见的原因,网络防火墙(如 IPCop)无法提供此类功能,但 HIPS 和 Personal Firewall 同样受到批评-最终,如果运行 HIPS 的主机受到威胁,入侵防御系统的准确性也会受到影响。

安全方面的最新发展包括 Rootkit 软件,它能够使用虚拟化软件(如 VMware)和基于硬件的虚拟化支持(如 AMD 和英特尔最新处理器)提供进入主机操作系统的“后门”。 这类软件就像 VMware 和 Virtual PC 本身一样,实际上充当了在其内部运行的操作系统的容器(或管理程序),其结果是这样的后门实际上存在于安装它们的操作系统之外。 根据公开展示的这些概念,基于主机的防火墙和 IPS 软件的作用加倍--是安全解决方案的一部分,而不是“杀手级应用程序”。 从根本上说,我们可以肯定的是,不同的软件包有不同的优势,我们永远不应该特别依赖其中一个。
安全方面的最新发展包括 Rootkit 软件,它能够使用虚拟化软件(如 VMware)和基于硬件的虚拟化支持(如 AMD 和英特尔最新处理器)提供进入主机操作系统的“后门”。 这类软件就像 VMware 和 Virtual PC 本身一样,实际上充当了在其内部运行的操作系统的容器(或管理程序),其结果是这样的后门实际上存在于安装它们的操作系统之外。 根据公开展示的这些概念,基于主机的防火墙和 IPS 软件的作用加倍--是安全解决方案的一部分,而不是“杀手级应用”。 从根本上说,我们可以肯定的是,不同的软件包有不同的优势,我们永远不应该特别依赖其中一个。

尽管个人防火墙是整体安全立场的重要组成部分,但并非所有防火墙都是平等的,作为网络整体安全策略的一部分,个人防火墙永远不应被视为设计良好、维护良好的周边和网段防火墙的替代品。

Expand Down Expand Up @@ -344,7 +344,7 @@ OSI 模型中的上三层不再关注(内部)网络问题,而是更多地关

![Proxy Servers](img/1361_01_07.jpg)

在上面的示例中,我们的透明代理服务器为笔记本电脑客户端获取[www.google.com](http://www.google.com)。 假设我们允许访问大多数互联网站点(如 Google),但会阻止访问带有“色情”等关键字的站点或包含在黑名单中的站点。 在这种情况下,代理服务器通过提供内容过滤来实现我们的 IT 策略的目标。 它还会对内容进行清理,以确保只允许有效的 HTTP 流量,而不允许针对任意应用程序(如 Skype 或 MSN)的连接,这是我们的 IT 政策所不允许的。 如果第二个客户端现在请求相同的页面,则代理服务器可以比第一次更快地交付缓存副本(省去步骤 3),从而为客户端提供更好的服务,并减少互联网连接上的负载。 代理服务器实质上为客户端本身承担“重担”。
在上面的示例中,我们的透明代理服务器为笔记本电脑客户端获取[www.google.com](http://www.google.com)。 假设我们允许访问大多数互联网站点(如 Google),但会阻止访问带有“色情”等关键字的站点或包含在黑名单中的站点。 在这种情况下,代理服务器通过提供内容过滤来实现我们的 IT 策略的目标。 它还会对内容进行清理,以确保只允许有效的 HTTP 流量,而不允许针对任意应用(如 Skype 或 MSN)的连接,这是我们的 IT 政策所不允许的。 如果第二个客户端现在请求相同的页面,则代理服务器可以比第一次更快地交付缓存副本(省去步骤 3),从而为客户端提供更好的服务,并减少互联网连接上的负载。 代理服务器实质上为客户端本身承担“重担”。

在防火墙角色中,代理服务器的主要优势除了能够更有效地限制用户访问某些资源外,还在一定程度上清理进出网络的数据。 因为为了使业务流出或进入网络,它必须符合与网页相关的标准(web 代理理解),所以“带外”或非标准数据要进入/离开安全边界要困难得多。

Expand Down
6 changes: 3 additions & 3 deletions trans/conf-ipcop-fw/02.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,15 +64,15 @@ IPCop 是一种用于小型办公室/家庭办公室(SOHO)网络的防火墙,

# 在稳定组件上构建的好处

IPCop 可以很好地开发为操作系统的附加组件,就像 Shorewall 是安装在 Linux 系统上的应用程序或 Windows 系统上的 ISA 服务器一样,使其成为您在现有设置上安装的应用程序。 然后,您将只负责维护软件包底层的系统。
IPCop 可以很好地开发为操作系统的附加组件,就像 Shorewall 是安装在 Linux 系统上的应用或 Windows 系统上的 ISA 服务器一样,使其成为您在现有设置上安装的应用。 然后,您将只负责维护软件包底层的系统。

这样做的缺点是,如果您的服务器的目的只是作为网络的防火墙,则需要对 Linux 操作系统有足够的基本了解才能安装软件,如果您希望它运行良好,则必须配置操作系统和 IPCop 本身。 但是,由于 IPCop 是作为自己的操作系统安装的,因此您不需要了解 Linux 就可以使用该系统。 在稳定性方面,这意味着 IPCop 开发人员可以集中精力在一个平台上进行开发,并且可以完全确信他们可以控制该环境。 他们完全负责对此进行配置,当涉及到支持时,他们可以相对确定用户没有因为错误配置操作系统而破坏系统的稳定-如果用户错误地配置了操作系统,那么希望他们了解后果,这样他们就可以正确地进行操作,或者理解为什么 IPCop 在他们修补之后会崩溃!

稳定性、安全性、可靠性和易用性可能是小型网络最重要的因素,也是 IPCop 的优势所在。 该系统构建在 2.4 系列的 Linux 内核上,具有显著的安全性、稳定性和可靠性。 此外,安装了在世界各地不同规模的网络中使用的工具提供了一个庞大的用户基础,这意味着正在使用的系统经过了良好的测试,有很多个人和公司在使用它们,报告它们的错误,并依赖它们来开展业务。

Linux 内核是最大的 OSS 单件之一,包括由来自世界各地的众多开发人员开发的数百万行源代码。 Linux 拥有许多现代操作系统功能,例如支持无线和蓝牙设备,以及最新的加密网络通信。 正如我们将在本书的整个过程中看到的那样,其中一些特性对于 IPCop 开发人员来说已经变得非常宝贵,因此对于从 IPCop 发行版中可以包含的特性中受益的 IPCop 用户来说,这些特性已经变得无价了。 IPCop 的开发人员不必太担心低级网络通信,因为他们已经在管理这一问题的现有内核代码之上构建了 IPCop。

这种分层(在其他软件之上的软件)使开发人员能够专注于他们最熟悉的领域,而对于 IPCop 开发人员来说,这一领域正在形成一个易于使用的防火墙。 您可能会发现这是我们在上一章介绍的 OSI 模型的网络分层中熟悉的概念。 无论是在应用程序堆栈、操作系统还是网络协议集中,这种互操作性对于构建可靠、安全的系统都至关重要。 *开放标准*,从网络协议(如 HTTP)到文档格式(如 Open Document Format),对它至关重要。
这种分层(在其他软件之上的软件)使开发人员能够专注于他们最熟悉的领域,而对于 IPCop 开发人员来说,这一领域正在形成一个易于使用的防火墙。 您可能会发现这是我们在上一章介绍的 OSI 模型的网络分层中熟悉的概念。 无论是在应用堆栈、操作系统还是网络协议集中,这种互操作性对于构建可靠、安全的系统都至关重要。 *开放标准*,从网络协议(如 HTTP)到文档格式(如 Open Document Format),对它至关重要。

我们提到的其他一些软件包括 Apache 和 OpenSSH。 Apache 是提供用于配置 IPCop 的页面的 Web 服务器,为世界上一些最大的网站提供支持。 根据最新的 Web 服务器调查,世界上近 70%的 Web 服务器使用 Apache([http://news.netcraft.com/archives/2005/11/07/november_2005_web_server_survey.html](http://news.netcraft.com/archives/2005/11/07/november_2005_web_server_survey.html))。

Expand All @@ -86,7 +86,7 @@ Linux 内核是最大的 OSS 单件之一,包括由来自世界各地的众多

如前所述,IPCop 最适合 SOHO 网络。 如果我们的网络相对较小,只有一个互联网连接,例如家庭网络或小型企业,或者我们有几个站点具有独立的互联网连接,需要在中型企业中链接在一起,那么我们肯定可以从使用 IPCop 处理这些连接中受益。 IPCop 的另一个重要方面是成本。 由于 IPCop 本身是免费的,我们为防火墙支付的唯一费用是硬件成本(通常是一台低规格的机器)和管理机器的成本(由于易于使用的界面,这一成本相对较低)。 对于较小的网络来说,这是非常有吸引力的。

ISA 服务器和检查点等系统极其昂贵,需要大量背景知识才能正确配置和保护。 这与 IPCop 相比,IPCop 几乎在默认情况下充当非常安全的路由器和防火墙。 较大的企业系统也有更高的系统要求,对于较小的网络来说通常过于苛刻。 设置这些网络所需的费用和时间不太可能为大型企业以外的网络提供良好的投资回报。 IPCop 还受益于简单性,这是在使用通用操作系统(如 Windows,甚至 Linux 发行版)以及它们通常附带的所有不必要服务时所不具备的。 IPCop 有一个特定的角色,所以可以删除许多服务和其他应用程序,这样您就只剩下一个专门的系统了。
ISA 服务器和检查点等系统极其昂贵,需要大量背景知识才能正确配置和保护。 这与 IPCop 相比,IPCop 几乎在默认情况下充当非常安全的路由器和防火墙。 较大的企业系统也有更高的系统要求,对于较小的网络来说通常过于苛刻。 设置这些网络所需的费用和时间不太可能为大型企业以外的网络提供良好的投资回报。 IPCop 还受益于简单性,这是在使用通用操作系统(如 Windows,甚至 Linux 发行版)以及它们通常附带的所有不必要服务时所不具备的。 IPCop 有一个特定的角色,所以可以删除许多服务和其他应用,这样您就只剩下一个专门的系统了。

另一端是个人防火墙,如 Agnitum、ZoneAlarm 等公司提供的防火墙。 在 SOHO 办公室中,通常使用 Windows Internet 连接共享(或廉价路由器)来履行 IPCop 经常扮演的角色。

Expand Down
4 changes: 2 additions & 2 deletions trans/conf-ipcop-fw/05.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ root@ipcop:~ #

```

只要我们保持此 `SSH`连接处于打开状态(并且我们可以将其用作普通 SSH 连接),我们的本地计算机(即我们在其上启动连接的系统)就会有一个代理服务器在环回接口(即只侦听地址 127.0.0.1)和端口 1234 上运行。 然后,我们可以使用任何代理感知应用程序连接到 IPCop 主机可以连接到的任何主机。 这可以是穷人的 VPN,用于在公共互联网连接上私下访问网站,或者如上所述,我们可以使用它来访问 IPCop 主机上的 Web 接口或内部网络资源。
只要我们保持此 `SSH`连接处于打开状态(并且我们可以将其用作普通 SSH 连接),我们的本地计算机(即我们在其上启动连接的系统)就会有一个代理服务器在环回接口(即只侦听地址 127.0.0.1)和端口 1234 上运行。 然后,我们可以使用任何代理感知应用连接到 IPCop 主机可以连接到的任何主机。 这可以是穷人的 VPN,用于在公共互联网连接上私下访问网站,或者如上所述,我们可以使用它来访问 IPCop 主机上的 Web 接口或内部网络资源。

SSH 手册页非常全面--在任何 Linux/Unix 系统(IPCop 除外)上的`man ssh`,或者在 Google 上搜索“man ssh”,都会提供 `ssh`命令可用的其他选项的全面列表。 PuTTY 还支持通过 GUI 的类似选项(包括以相同方式进行的动态端口转发)。

Expand Down Expand Up @@ -346,7 +346,7 @@ IPCop 中的**Firewall**下拉菜单包含配置防火墙本身功能的功能

在某些情况下,例如,如果我们要将内部 SSH(22)服务器发布到 Web,我们可能会选择使用不同的外部端口来侦听内部主机上的端口。 例如,我们可以将防火墙上的端口 4022 转发到内部主机上的端口 22。 这种方法的好处是我们可以容纳同一服务的许多实例(使用端口 4023、4024 等)。 而且隐藏我们的 SSH 服务运行所在的端口会带来一些安全上的好处。

此方法的一个主要缺点是,在某些情况下,端口对于在其上运行的应用程序至关重要。 例如,HTTP 流量默认为端口 80-浏览器需要额外的参数(通常由冒号后跟 IP 地址或主机名末尾的端口号表示)才能访问备用端口上的 HTTP 流量,就像 IPCop 自己在端口 81 和 445 上重新定位的 HTTP/HTTPS 接口一样。
此方法的一个主要缺点是,在某些情况下,端口对于在其上运行的应用至关重要。 例如,HTTP 流量默认为端口 80-浏览器需要额外的参数(通常由冒号后跟 IP 地址或主机名末尾的端口号表示)才能访问备用端口上的 HTTP 流量,就像 IPCop 自己在端口 81 和 445 上重新定位的 HTTP/HTTPS 接口一样。

如果我们将 HTTP 流量重新定位到端口 81(或另一个端口),防火墙后面的客户端只允许连接到端口 80,也可能会无意中阻止客户端访问我们的 Web 服务器。

Expand Down
Loading

0 comments on commit 89cbda7

Please sign in to comment.