《Linux防火墙(第4版)》——2.6 私有网络服务VS公有网络服务

简介: 最简单的保护您自己的方式就是不提供服务。但如果您需要这些本地服务中的一个呢?并不是所有的服务都能够在数据包过滤层被充分地保护。文件共享软件、即时通讯服务和基于UDP的RPC服务都是众所周知难以在数据包过滤层保障安全的。

本节书摘来自异步社区《Linux防火墙(第4版)》一书中的第2章,第2.6节,作者:【美】Steve Suehring(史蒂夫 苏哈林)著,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.6 私有网络服务VS公有网络服务

最容易因疏忽导致未经请求的入侵即是允许外部访问那些被设计为只用于LAN的本地服务。一些服务,如果仅仅在本地提供,绝不应该跨越您的本地局域网和互联网的界限。如果这样的服务在您的局域网外可用,那么有些服务会骚扰您的邻居,有些会提供您应该保密的信息,有些则代表着明显的安全漏洞。

一些最早期的网络服务,尤其是被设计用于本地的分享并且简化在受信任的环境里跨多个实验室的计算机间访问的r-*-based。后来的一些服务用于接入互联网,但它们被设计于一个互联网基本是由学者和研究者构成的延伸社区的时代。那时,互联网是相对开放、安全的地方。由于互联网成长为一个包括了普通大众访问的全球性的网络,它已发展成为一个完全不受信任的环境。

许多Linux网络服务被设计用于提供系统中的一些本地信息:关于用户的账户、哪个程序在运行哪个资源正被使用、系统状态、网络状态、通过网络连接的其他计算机的相似的信息。并不是所有的这些信息化服务本身代表了安全漏洞。并不是说某人可以用它们直接对您的系统获得非授权的访问。它们只是提供了您系统的信息以及用户账户,这些信息对某些在寻找已知漏洞的人来说十分有用。它们可能还提供了例如用户名、地址、电话号码等等,您绝对不希望轻易地被任何问询的人了解信息。

一些更危险的网络服务被设计用于提供局域网内对共享文件系统和设备的访问,例如网络打印机或传真机。

一些服务难于正确的配置,一些则难于安全的配置。整本书都致力于配置一些更复杂的Linux服务。特定的服务的配置则超出了本书的范围。

有些服务仅仅在家庭或小型办公室环境是没有意义的。一些则倾向于管理大型网络,提供互联网路由服务,提供大型数据库信息服务,支持双向的加密和认证,等等。

2.6.1 保护不安全的本地服务
最简单的保护您自己的方式就是不提供服务。但如果您需要这些本地服务中的一个呢?并不是所有的服务都能够在数据包过滤层被充分地保护。文件共享软件、即时通讯服务和基于UDP的RPC服务都是众所周知难以在数据包过滤层保障安全的。

一种保卫您的计算机的方式是不要在防火墙计算机上托管您不希望公众使用的网络服务。如果服务不可用,那么远程的客户端也就无法连接到它。让防火墙只做防火墙。

一个包过滤防火墙并不能提供绝对的安全。一些程序需要比数据包过滤层能提供的更高层的安全措施。一些程序则有太多问题,以至于不应冒险运行在防火墙计算机,甚至不安全的住宅主机上。

小型站点(例如在家庭站点)通常没有多余的计算机通过“在其他计算机上运行私有服务”来执行访问安全策略。这里必须做出些折中,尤其是所需的服务仅由Linux提供。然而,在局域网中的小型站点不应该在防火墙机器上运行文件共享或其他私有的LAN服务,例如Samba。这台计算机不应该有任何不必要的用户账户。不需要的系统软件应该从该系统中移除。此计算机除了安全的网关外不应该拥有任何其他功能。

2.6.2 选择运行的服务
当上面说到的都已做完时,您唯一可以决定的便是哪些服务是您需要或想要的。保障系统安全的第一步便是决定您打算在防火墙计算机上以及在防火墙后的私有网络中运行哪些服务和守护进程。每个服务都有它自己安全的考量。在选择运行于Linux下或其他操作系统下的服务时,一般的规则是“仅运行那些您了解和需要的网络服务”。了解一个网络服务,在运行它之前知道它做了什么、供谁使用十分重要——尤其是它运行在直接连接到互联网的计算机上。

相关文章
|
5月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
158 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
6月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
403 18
|
6月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
302 5
|
7月前
|
Web App开发 网络协议 Linux
【Linux】网络基础
TCP/IP五层模型是网络通信的基础框架,将复杂的数据传输过程分为物理层、数据链路层、网络层、传输层和应用层,每层各司其职,协同完成远程通信。该模型确保了不同设备和网络之间的互联互通,是现代互联网运行的核心机制。
562 5
|
7月前
|
网络协议 Linux 开发者
深入Linux中UDP网络通信机制编程探索
以上步骤概述了Linux中UDP网络通信的编程机制。在实现时,因关注细节和上下文环境可能有所调整,但大致流程是一致的。这些知识片段旨在帮助开发者快速上手Linux下的UDP编程,并提供可靠的信息作为编程的基础。在编程实践中,应结合实际业务需求,设计合适的数据传输协议,确保数据的正确性和实时性。
184 0
|
9月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
251 18
|
9月前
|
Linux 数据安全/隐私保护
使用Linux命令行接入无线网络Wi-Fi的示例。
现在,你已经使用命令行成功地连接到 Wi-Fi 网络了。这两个示例涵盖了用 `nmcli` 和 `wpa_supplicant` 连接无线网络的常见场景,让你能够不依赖图形化界面来完成这个任务。在日常使用中熟练掌握这些基本操作能增强你对 Linux 系统的理解,帮助你更有效地处理各种问题。
730 12
|
Linux
linux中服务管理
在Linux服务管理中,从传统的System V init到Upstart,再到广泛采用的systemd,管理方式不断发展。systemd以其强大的功能和依赖解决成为现代Linux的核心。`systemctl`是管理服务的关键命令,如启动(`start`)、停止(`stop`)、重启(`restart`)服务及设置开机启动(`enable`)或取消(`disable`)。了解和服务管理,特别是systemd和`systemctl`的使用,对系统管理员至关重要。其他如xinetd用于控制网络服务,而特定环境下有OpenRC等工具。
251 2
|
安全 Ubuntu 网络协议
Linux中的服务管理
Linux系统可以同时运行数百个任务。其中大多数都属于操作系统环境的组成部分,不过可能也会有那么一两个你不需要的**守护进程**。有3种可用于启动守护进程和服务的工具,Linux发行版支持其中任意一种。传统的SysV系统使用/etc/init.d中的脚本。较新的systemd守护进程除了使用/etc/init.d之外,还用到了systemctl调用。还有些发行版使用的是upstart,配置脚本保存在/etc/init中。systemd如今已经取代了SysVinit系统。upstart是由Ubuntu开发并采用的,但是在14.04版中,已经改成了systemd。
351 3
|
Ubuntu 关系型数据库 MySQL
【Linux进阶篇】启动流程和服务管理
【Linux进阶篇】启动流程和服务管理
340 0