菜鸟学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
相关实践学习
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
2天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
22 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
1月前
|
算法 Linux
【Linux笔记】压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法
【Linux笔记】压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法
|
1天前
|
Linux Android开发
Linux(6)CH9434 SPI调试笔记
Linux(6)CH9434 SPI调试笔记
9 0
|
1天前
|
Linux
Linux(5)WIFI/BT调试笔记
Linux(5)WIFI/BT调试笔记
12 0
|
18天前
|
Linux API C语言
FFmpeg开发笔记(一)搭建Linux系统的开发环境
本文指导初学者如何在Linux上搭建FFmpeg开发环境。首先,由于FFmpeg依赖第三方库,可以免去编译源码的复杂过程,直接安装预编译的FFmpeg动态库。推荐网站<https://github.com/BtbN/FFmpeg-Builds/releases>提供适用于不同系统的FFmpeg包。但在安装前,需确保系统有不低于2.22版本的glibc库。详细步骤包括下载glibc-2.23源码,配置、编译和安装。接着,下载Linux版FFmpeg安装包,解压至/usr/local/ffmpeg,并设置环境变量。最后编写和编译简单的C或C++测试程序验证FFmpeg环境是否正确配置。
37 8
FFmpeg开发笔记(一)搭建Linux系统的开发环境
|
1月前
|
Linux 网络安全 开发工具
【Linux笔记】常用的Linux的指令
【Linux笔记】常用的Linux的指令
|
2月前
|
Linux 数据安全/隐私保护 Android开发
10 个最佳 Linux 开源笔记软件
10 个最佳 Linux 开源笔记软件
113 1
|
2月前
|
缓存 Shell Linux
《linux鸟哥的私房菜》笔记(下)
《linux鸟哥的私房菜》笔记(下)
24 0
|
2月前
|
存储 Unix Linux
《LINUX鸟哥的私房菜》笔记(上)
《LINUX鸟哥的私房菜》笔记(上)
49 0
|
4月前
|
架构师 Linux 网络性能优化
linux内核升级笔记
linux内核升级笔记
28 0