热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Centos中TCPWrappers访问控制实现

这篇文章主要介绍了Centos中TCPWrappers访问控制实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、TCP Wrappers概述

TCP Wrappers将TCP服务程序“包裹”起来,代为监听TCP服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序,如下图所示,TCP Wrappers还可以记录所有企图访问被保护服务的行为,为管理员提供丰富的安全分析资料。

二、TCP Wrappers的访问策略

TCP Wrappers机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。对应的两个策略文件为/etc/hosts.allow和/etc/hosts.deny,分别用来设置允许和拒绝的策略。

1、策略的配置格式

两个策略文件的作用相反,但配置记录的格式相同,如下所示:
<服务程序列表>: <客户端地址列表>

服务程序列表、客户端地址列表之间以冒号分隔,在每个列表内的多个项之间以逗号分隔。

1)服务程序列表

  • ALL:代表所有的服务;
  • 单个服务程序:如“vsftpd”;
  • 多个服务程序组成的列表:如“vsftpd.sshd”;

2)客户端地址列表

  • ALL:代表任何客户端地址;
  • LOCAL:代表本机地址;
  • 单个IP地址:如“192.1668.10.1”;
  • 网段地址:如“192.168.10.0/255.255.255.0”;
  • 以“.”开始的域名:如“benet.com”匹配benet.com域中的所有主机;
  • 以“.”结束的网络地址:如“192.168.10.”匹配整个192.168.10.0/24网段;
  • 嵌入通配符“”“?”:前者代表任意长度字符,后者仅代表一个字符,如“192.168.10.1”匹配以192.168.10.1开头的所有IP地址。不可与以“.”开始或结束的模式混用;
  • 多个客户端地址组成的列表:如“192.168.1. ,172.16.16. ,.benet.com”;

2、访问控制的基本原则

关于TCP Wrappers机制的访问策略,应用时遵循以下顺序和原则:首先检查/etc/hosts.allow文件,如果找到相匹配的策略,则允许访问;否则继续检查/etc/hosts.deny文件,如果找到相匹配的策略,则拒绝访问;如果检查上述两个文件都找不到相匹配的策略,则允许访问。

3、TCP Wrappers配置实例

实际使用TCP Wrappers机制时,较宽松的策略可以是“允许所有,拒绝个别”,较严格的策略是“允许个别,拒绝所有”。前者只需要在hosts.deny文件中添加相应的拒绝策略就可以了;后者则除了在host.allow中添加允许策略之外,还需要在hosts.deny文件中设置“ALL:ALL”的拒绝策略。

示例如下:

现在只希望从IP地址为192.168.10.1的主机或者位于172.16.16网段的主机访问sshd服务,其他地址被拒绝,可以执行以下操作:

[root@centos01 ~]# vim /etc/hosts.allow 
sshd:192.168.10.1 172.16.16.*
[root@centos01 ~]# vim /etc/hosts.deny 
sshd:ALL

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • 本文详细介绍了如何在CentOS 7操作系统上搭建GitLab服务器的过程,包括环境准备、软件安装及基本配置等关键步骤。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • WinSCP: 跨Windows与Linux系统的高效文件传输解决方案
    本文详细介绍了一款名为WinSCP的开源图形化SFTP客户端,该工具支持SSH协议,适用于Windows操作系统,能够实现与Linux系统之间的文件传输。对于从事嵌入式开发的技术人员来说,掌握WinSCP的使用方法将极大提高工作效率。 ... [详细]
  • 利用SSH隧道实现外网对局域网机器的安全访问
    本文探讨了一种常见的网络配置问题及其解决方案,即如何在外网环境下安全地访问位于局域网内的计算机。特别介绍了使用SSH反向隧道技术来实现这一目标的具体步骤和注意事项。 ... [详细]
  • Redis安全防护深入解析
    本文详细探讨了如何通过指令安全、端口管理和SSL代理等措施有效保护Redis服务的安全性。 ... [详细]
  • 本文介绍了Java语言开发的远程教学系统,包括源代码、MySQL数据库配置以及相关文档,适用于计算机专业的毕业设计。系统支持远程调试,采用B/S架构,适合现代教育需求。 ... [详细]
  • 本文档详细介绍了在 Kubernetes 集群中部署 ETCD 数据库的过程,包括实验环境的准备、ETCD 证书的生成及配置、以及集群的启动与健康检查等关键步骤。 ... [详细]
  • 本文介绍了MySQL数据库的安全权限管理思想及其制度流程,涵盖从项目开发、数据库更新到日常运维等多个方面的详细流程控制,旨在通过严格的流程管理和权限控制,有效预防数据安全隐患。 ... [详细]
  • 如何高效优化系统加载进度条
    本文介绍了多种方法来优化计算机的启动和运行过程中的加载进度条,包括硬件调整、系统设置优化等,旨在提升用户体验。 ... [详细]
  • 通常,ping命令用于快速检测与远程服务器之间的网络延迟,以评估连接质量。然而,在某些情况下,即使服务器可以正常访问,ping请求也可能无法成功。本文将介绍在CentOS 7系统上禁用ping命令的方法,包括临时和永久性设置。 ... [详细]
  • GNU GRUB(简称GRUB)是一个来自GNU项目的支持多启动的引导加载程序。它允许用户在同一台计算机上安装多个操作系统,并在启动时选择希望启动的系统。 ... [详细]
  • 本文探讨了在支付项目开发中使用SS5 Socket Server实现内部网络访问外部网络的技术方案。详细介绍了SS5的安装、配置及性能测试过程,旨在为面临相同需求的技术人员提供参考。 ... [详细]
  • 本文介绍了如何在Ubuntu 16.04系统上配置Nginx服务器,以便能够通过网络访问存储在服务器上的图片资源。这解决了在网页开发中需要使用自定义在线图标的需求。 ... [详细]
  • 本文介绍了一种使用inotifywait和rsync工具在两台服务器之间实现自动且高效的文件同步方案。通过设置SSH无密码登录,安装必要的软件,并配置inotify以优化性能,最终构建了一个实时响应文件变动并自动同步至备份节点的系统。 ... [详细]
author-avatar
_cristal_500
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有