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 ...
随机推荐
- 对时间进行操作 加减 XXX天
date:要操作的时间目标 days: 要加减的天数时间 addDate: function(date, days) { if (date == '') { return '' }; if (days ...
- Git&sourceTree软件安装、使用说明及遇到问题解决
一.软件版本 1.Git版本为1.9.5 2.Source版本为1.5.2 二.软件安装步骤 1.Git安装步骤 1)双击Git安装文件进入下图界面,单击Next 2)继续Next 3)进入Selec ...
- 奇思妙想-java实现另类的pipeline模式
磕叨 在公司做项目是见到前辈们写的一端任务链的代码,大概如下 Runnable task = new TaskA(new TaskB(new TaskC(new taskD()))); task.ru ...
- oracle中的创建过程,函数,包
一.创建存储过程 存储过程是在oracle中存取完成特定业务逻辑的代码块.存储过程是命名块,匿名块不存在数据库中,命名块会存储到数据库中,匿名块每次运行都需要提前编译,命名块一次存储,只会编译一次.命 ...
- 我的MacbookPro进水了!维修过程记录
电脑进水与解决方案 如果事情有变坏的可能,不管这种可能性有多小,它总会发生.---墨菲定律 进水过程 2020年03月21日日下午3点左右,不小心把水杯碰倒了,水通过电脑右侧的键盘处进入了大概有10毫 ...
- python基础--深浅拷贝copy
拷贝是音译的词,其实他是从copy这个英文单词音译过来的,那什么是copy? copy其实就是复制一份,也就是所谓的抄一份.深浅copy其实就是完全复制一份,和部分复制一份的意思. 1.赋值运算 l1 ...
- 【转】Java JDBC对应C# ADO连接数据库之区别
JDBC对应C#连接数据库之区别 之前一直在用java,最近因为找了.NET的工作,开始学习.NET. 今天也是查了好多资料,但是一直没有看到和JDBC之间的对比博文,开始也是一头雾水! 但是功夫不负 ...
- 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询
数据查询 例: 一.单表查询 1.定义 是指仅涉及一个表的查询 2.选择表中的若干列 查询指定列 例: 查询全部列 例: 查询经过计算的值 例: 3.选择表中的若干元组 消除取值重复的行 例: 查询满 ...
- leetcode 每日签到 409. 最长回文串
题目: 最长回文串 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: ...
- npm git 常用命令行 记录
1. 推出node命令行: 两次ctrl+C或者一次ctrl+D 退出终端:exit; 2.npm 常用 npm install <name> 安装包 npm install &l ...