Linux网络安全篇,认识防火墙(三),TCP Wrappers
1.防火墙设置文件
任何以xinetd管理的服务都可以通过
/etc/hosts.allow
/etc/hosts.deny
这两个文件来设置防火墙(针对源IP或域进行允许或操作的设置)。
其实/etc/hosts.allow,/etc/hosts.deny两文件也是/usr/sbin/tcpd的配置文件,这个tcpd文件是用来分析进入系统的TCP网络数据包的一个软件。TCP数据包的头文件主要记录了来源和目的的IP和port(端口),所以利用TCP数据包搭配这两个文件的比较可以决定该连接是否能够进入我们的主机。
2.TCP Wrappers防火墙原则
1.源IP或整个域的网段
2.port(即服务,上一篇文章 https://blog.csdn.net/ITlanyue/article/details/103006317我们说过客户端区分同一主机的不同服务就是通过端口号来区分的)。
注意:基本上只要一个服务受到xinetd管理,或者该服务的程序支持TCP Wrappers函数的功能时,那么该服务的防火墙方面的设置就可以通过这两个文件来管理。
那么如何判断某个服务是否支持tcp wrappers函数功能呢?
ldd $(which sshd) | grep 'libwrap.so'
ldd ===> library dependency discovery
如果有输出(即持否支持libwrap.so库),则代表可以通过TCP Wrappers配合两个文件来管理。
3.配置文件语法
这两个文件的设置语法都是一样的:
<service(程序名称)> : <IP|domain|hostname> : <action(操作)>
注意:
(1).<>不存在于设置文件中,这里是为了分开区域
(2).可以设置如下数值到第一或第二个参数中
ALL ===> 代表全部的程序或IP都接受
LOCAL ===> 代表本机的意思
UNKNOWN ===> 代表不知道的IP或domain或者服务时
KNOWN ===> 代表为可解析的IP,domain等时
eg:
vim /etc/hosts.deny
执行如上操作后,对方就无法以rsync进入你的主机了。
注意:
写在hosts.allow中的IP与默认网段为默认的可通行, 即最后的一个字段allow可以省略
写在hosts.deny 中的IP与默认网段为默认的不可通行,即最后的一个字段deny可以省略
这两个文件以/etc/hosts.allow为优先,若某个IP或网段没有出现在hosts.allow文件中,则以hosts.deny来判断
4.TCP Wrappers特殊功能
(1).查看系统是否安装tcp wrappers软件
rpm -q tcp_wrappers
(2).参数
spawn (action)===> 可以利用后续的shell来进行额外的工作,且具有变量的功能
twist (action)===> 立刻以后续的命令进行,且执行完后终止此次连接的请求(DENY)
5.查看系统启动的网络服务
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
-a | --all ===> 显示所有连线中的Socket。
-A<网络类型> | --<网络类型> ===> 列出该网络类型连线中的相关地址。
-c | --continuous ===> 持续列出网络状态。
-C | --cache ===> 显示路由器配置的快取信息。
-e | --extend ===> 显示网络其他相关信息。
-F | --fib ===> 显示FIB。
-g | --groups ===> 显示多重广播功能群组组员名单。
-h | --help ===> 在线帮助。
-i | --interfaces ===> 显示网络界面信息表单。
-l | --listening ===> 显示监控中的服务器的Socket。
-M | --masquerade ===> 显示伪装的网络连线。
-n | --numeric ===> 直接使用IP地址,而不通过域名服务器。
-N | --netlink或--symbolic ===> 显示网络硬件外围设备的符号连接名称。
-o | --timers ===> 显示计时器。
-p | --programs ===> 显示正在使用Socket的程序识别码和程序名称。
-r | --route ===> 显示Routing Table。
-s | --statistice ===> 显示网络工作信息统计表。
-t | --tcp ===> 显示TCP传输协议的连线状况。
-u | --udp ===> 显示UDP传输协议的连线状况。
-v | --verbose ===> 显示指令执行过程。
-V | --version ===> 显示版本信息。
-w | --raw ===> 显示RAW传输协议的连线状况。
-x | --unix ===> 此参数的效果和指定"-A unix"参数相同。
--ip | --inet ===> 此参数的效果和指定"-A inet"参数相同。
eg:
查看当前系统上的tcp连接
netstat -tlp
6.设置开机启动服务
chkconfig --list [服务名称]
chkconfig [--level [0123456]] [服务名称] [on|off]
--list ===> 仅将目前的各项服务状态显示出来
--level ===> 设置某个服务在该level下启动或关闭
eg:
(1).
显示目前运行在level 3中的服务
chkconfig --list | grep '3:on'
让atd服务在run level在3,4,5时启动
chkconfig --level 345 atd on
(2)设置开机关闭/开启httpd服务
Linux网络安全篇,认识防火墙(三),TCP Wrappers的更多相关文章
- Linux网络安全篇,认识防火墙(一)
一.概念 防火墙分为软件防火墙和硬件防火墙.我们的主要讨论范围为软件防火墙. 软件防火墙又分为网络型和单一型的管理. 1.单一主机型防火墙 (1)数据包过滤型的Netfilter (2)依据服务软件程 ...
- Linux网络安全篇,认识防火墙(二),Netfilter
一.概述 因为iptables软件利用的是数据包的过滤的机制.所以它会分析数据包的报头数据.根据报头数据与定义的规则来决定该数据是否可以放行.若数据包内容与规则内容相同则放行,否则继续与下一条规则进行 ...
- Linux网络安全篇,进入SELinux的世界(三)
SELinux防火墙配套的服务 一.auditd 1.基本功能 将详细信息写入到 /var/log/audit/audit.log文件 2.设置开机自动启动 chkconfig --list audi ...
- Linux网络安全篇,FTP服务器的架设
一.FTP简介 FTP基于TCP协议.而且FTP服务器使用了命令通道和数据流通道两个连接.两个连接都会分别进行三次握手.在命令通道中客户端会随机取一个大于1024的端口与FTP服务器的21端口建立连接 ...
- Linux网络安全篇,进入SELinux的世界(一)
SELinux 即安全强化的Linux. 一.基本概念 SELinux是通过MAC(强制访问控制,,可以针对特定的进程与特定的文件资源来进行访问权限的控制!也就是说即使你是root,在使用不同的进程时 ...
- Linux网络安全篇,配置Yum源(二),阿里Yum源
官网教程: https://opsx.alibaba.com/mirror 1.下载配置文件到 /etc/yum.repos.d 目录 wget -O /etc/yum.repos.d/CentOS- ...
- Linux网络安全篇,配置Yum源(一),本地Yum源
1.创建挂载目录 mkdir /mnt/cdrom 2.挂载软件源cdrom mount /dev/cdrom /mnt/cdrom/ 3.建立本地yum源资源文件夹 mkdir /usr/local ...
- Linux网络安全篇,进入SELinux的世界(四)
SELinux的策略与规则管理set 1.安装SELInux工具 yum install setools-console 2.基本的命令 seinfo [-Atrub] -A ===> 列出SE ...
- Linux网络安全篇,进入SELinux的世界(二)
一.简单的网页制作 1.启动httpd服务 /etc/init.d/httpd start 2.编写首页网页文件 echo "hello,this is my first webPage&q ...
随机推荐
- Docker深入浅出系列 | 5分钟搭建你的私有镜像仓库
Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会根据本人理解去做阐述,具体官方概念可以查阅官方 ...
- 一文搞懂 Elasticsearch 之 Mapping
这篇文章主要介绍 Mapping.Dynamic Mapping 以及 ElasticSearch 是如何自动判断字段的类型,同时介绍 Mapping 的相关参数设置. 首先来看下什么是 Mappin ...
- 使用GUI工具Portainer.io管控Docker容器
背景 5年前容器技术扑面而来,如今已经成为面向云原生开发的基础架构,基于微服务的设计需要部署大量容器,同时强调了友好快速的管理容器. 是时候推荐一个轮子Portainer.io:提供GUI界面的容器管 ...
- Array.isArray() 判断是不是数组
var arr = new Array(); if(Array.isArray()){ console.log('yes') } else { conssole.log('no') }
- (转)协议森林05 我尽力 (IP协议详解)
协议森林05 我尽力 (IP协议详解) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! IPv4与IPv6头部的对比 我们已经在I ...
- Python习题集(一)
每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我! 题目 有一个数据list of dict如下 a = [ {"}, {"}, {"}, ] 写入到本 ...
- Java多线程并发05——那么多的锁你都了解了吗
在多线程或高并发情境中,经常会为了保证数据一致性,而引入锁机制,本文将为各位带来有关锁的基本概念讲解.关注我的公众号「Java面典」了解更多 Java 相关知识点. 根据锁的各种特性,可将锁分为以下几 ...
- Java学习笔记(3)——有关异常
异常处理: try { }catch(ExceptionType0 e) { }catch(ExceptionType1 e) { }.....finally { } 有四种情况不执行finally语 ...
- 使用EPX Studio 7.0 下载网站验证码
implementation var Document_: DispHTMLDocument; //用于处理网页文档对象 EPX: IExcelPanelXDisp; procedure TForm1 ...
- Andorid 添加MenuPopup