菜鸟学Linux 第068篇笔记 tcp_wrapper, xinetd

简介:

菜鸟学Linux 第068篇笔记 tcp_wrapper, xinetd




iptables/netfilter

kernel, tcp/ip, framework

stack

PREROUTING

INPUT

FORWARD

OUTPUT

POSTROUTING

table

filter

nat

mangle

raw

资源访问控制工具


tcp_wraper 也是一个网络资源访问控制工具

libwrap.so

/etc/hosts.allow (优先)

/etc/hosts.deny (次优先)

默认规则为允许


/etc/hosts.allow hosts.deny 文件格式

daemon_list: client_list [:options]


daemon_list

sshd:192.168.0.0

vsftpd,sshd,in.telnetd:

ALL

daemon@host

 vsftpd@192.168.0.122:192.168.2.0


 client_list

 ip

 network address

  network/mask 

  172.16.

 hostname

  fqdn

  .a.org

 MACRO

  ALL

  LOCAL,KNOWN,UNKNOWN,PARANOID (正反向解析不匹配)

  EXCEPT


 [:options]

 :DENY

 :ALLOW

 spawn echo "somebody intered `data` " >> /var/log/tcpwrapper.log

 spawn echo "`data` Login attempt from %c to %s" >> /var/log/tcpwrapper.log



tcp wrapper macro (宏)

%c client information(user@host)

%s service info(server@host)

%h client hostname

%p server PID

man 5 hosts.allow 进行查询




查看某执行程序是否受tcp_wraper控制

ldd 'which httpd' | grep libwrap  动态

strings 'which portmap' | grep hosts  静态编译

xinetd 程序接受libwrap控制,所以其下所管理的服务都受其控制




Linux 服务

standalone 独立守护进程

transient 非独立守护进程




tcp wrapper 控制


sshd 仅允许172.16.0.0/16网段访问

    1. /etc/hosts.allow

    sshd:172.16.

    2. /etc/hosts.deny

    sshd:ALL




xinetd 超级守护进程 (n个非独立进程)

/etc/xinetd.conf

全局配置

defaults

服务配置段

service <service_name>

{

<attribute> <assign_operator> <value> <value>

}

/etc/xinetd.d/*.conf

此目录下每个被管理的服务都有一个配置文件

socket_type = tcp/udp/rpc

被管理服务没有级别定义




portmap --> rpc

nfs <-- rpc



SYSLOG 专门用于记录日志的服务

syslog

klog

service syslog status



xinetd 访问控制

only_from = 

IP: 192.168.11.122

NETWORK: 192.168.11.0/24, 192.168.11.0/255.255.255.0

HOSTNAME:FQDN

DOMAIN: .mysky.com

no_access =

同上

access_times = hh:mm-hh:mm

hh: 0-23

mm: 0-59  



监听的地址

bind = IP

interface = 



资源访问控制

    cps =

     用户控制每秒钟入站连接的个数

     两个参数 

     1. 每秒入站连接数的最大值

     2. 临时禁用的时长

    per_source =

     相同IP允许同时连接几个请求

    instances = 

     允许此服务最大连接数

    


向server传递参数

server_args = 

port =


man 5 xinetd.conf   可查看每个选项的含义




练习题:

设定本地的rsync服务 (非独立守护进程),满足如下需求

1. 仅监听在本地192.168.11.122的地址上提供服务

bind

2. 仅允许192.168.11.0/24网络内的主机访问,但不允许192.168.11.100访问

only_from no_access

3. 仅允许同时运行最多3个实例,而且每个IP最多只允许发起两个连接请求

cps  per_source


本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1888220如需转载请自行联系原作者

Winthcloud
相关文章
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
1230 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
运维 监控 中间件
Linux运维笔记 - 如何使用WGCLOUD监控交换机的流量
WGCLOUD是一款开源免费的通用主机监控工具,安装使用都非常简单,它可以监控主机、服务器的cpu、内存、磁盘、流量等数据,也可以监控数据库、中间件、网络设备
|
Unix Linux 开发工具
linux笔记 diff及patch的制作与使用
这篇文章是关于Linux系统中使用`diff`命令生成补丁文件以及使用`patch`命令应用这些补丁的详细教程和实战案例。
1383 2
linux笔记 diff及patch的制作与使用
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
995 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
Linux源码阅读笔记13-进程通信组件中
Linux源码阅读笔记13-进程通信组件中
|
Linux 开发者
Linux源码阅读笔记18-插入模型及删除模块操作
Linux源码阅读笔记18-插入模型及删除模块操作
|
数据采集 Linux
Linux源码阅读笔记20-PCI设备驱动详解
Linux源码阅读笔记20-PCI设备驱动详解
Linux源码阅读笔记19-插入删除模块实战
Linux源码阅读笔记19-插入删除模块实战
Linux源码阅读笔记17-资源分配及总线系统
Linux源码阅读笔记17-资源分配及总线系统
|
Ubuntu Linux Shell
【linux】PetaLinux 2024.1安装笔记
【linux】PetaLinux 2024.1安装笔记
2785 0