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的更多相关文章

  1. Linux网络安全篇,认识防火墙(一)

    一.概念 防火墙分为软件防火墙和硬件防火墙.我们的主要讨论范围为软件防火墙. 软件防火墙又分为网络型和单一型的管理. 1.单一主机型防火墙 (1)数据包过滤型的Netfilter (2)依据服务软件程 ...

  2. Linux网络安全篇,认识防火墙(二),Netfilter

    一.概述 因为iptables软件利用的是数据包的过滤的机制.所以它会分析数据包的报头数据.根据报头数据与定义的规则来决定该数据是否可以放行.若数据包内容与规则内容相同则放行,否则继续与下一条规则进行 ...

  3. Linux网络安全篇,进入SELinux的世界(三)

    SELinux防火墙配套的服务 一.auditd 1.基本功能 将详细信息写入到 /var/log/audit/audit.log文件 2.设置开机自动启动 chkconfig --list audi ...

  4. Linux网络安全篇,FTP服务器的架设

    一.FTP简介 FTP基于TCP协议.而且FTP服务器使用了命令通道和数据流通道两个连接.两个连接都会分别进行三次握手.在命令通道中客户端会随机取一个大于1024的端口与FTP服务器的21端口建立连接 ...

  5. Linux网络安全篇,进入SELinux的世界(一)

    SELinux 即安全强化的Linux. 一.基本概念 SELinux是通过MAC(强制访问控制,,可以针对特定的进程与特定的文件资源来进行访问权限的控制!也就是说即使你是root,在使用不同的进程时 ...

  6. Linux网络安全篇,配置Yum源(二),阿里Yum源

    官网教程: https://opsx.alibaba.com/mirror 1.下载配置文件到 /etc/yum.repos.d 目录 wget -O /etc/yum.repos.d/CentOS- ...

  7. Linux网络安全篇,配置Yum源(一),本地Yum源

    1.创建挂载目录 mkdir /mnt/cdrom 2.挂载软件源cdrom mount /dev/cdrom /mnt/cdrom/ 3.建立本地yum源资源文件夹 mkdir /usr/local ...

  8. Linux网络安全篇,进入SELinux的世界(四)

    SELinux的策略与规则管理set 1.安装SELInux工具 yum install setools-console 2.基本的命令 seinfo [-Atrub] -A ===> 列出SE ...

  9. Linux网络安全篇,进入SELinux的世界(二)

    一.简单的网页制作 1.启动httpd服务 /etc/init.d/httpd start 2.编写首页网页文件 echo "hello,this is my first webPage&q ...

随机推荐

  1. 【tomcat系列】详解tomcat架构(上篇)

    java中,常用的web服务器一般由tomcat,weblogic,jetty,undertwo等,但从用户使用广泛度来说,tomcat用户量相对比较大一些,当然这也基于它开源和免费的特点. 从软件架 ...

  2. Python - 函数形参之必填参数、缺省参数、可变参数、关键字参数的详细使用

    Python函数形参 必传参数:平时最常用的,必传确定数量的参数 缺省参数:在调用函数时可以传也可以不传,如果不传将使用默认值 可变参数:可变长度参数 关键字参数:长度可变,但是需要以kv对形式传参 ...

  3. go源码分析(四) net包获取主机ip 子网掩码相关分析

    获取本地的ip时 顺便学习了下标准库net中的实现 在net/interface.go中进行了入口调用,返回值为Addr的slice func InterfaceAddrs() ([]Addr, er ...

  4. XiaoQi.Study项目(一)

    项目地址:https://github.com/xiaoqiyaozou1/XiaoQi.Study 感谢:“老张的哲学”.“晓晨”.“杨旭”等大佬的知识分享 一.项目创建 vs 2019 创建 as ...

  5. MySQL:GROUP_CONCAT函数的使用

    原文链接 GROUP_CONCAT功能 将某个字段的值拼接成字符串. 举例使用 先看一下原始数据表 执行下面sql语句 SELECT `cid`,GROUP_CONCAT(mid) AS `mids` ...

  6. spring官方demo及配置查看

    1.http://spring.io/projects/spring-framework 2.https://github.com/spring-projects/spring-mvc-showcas ...

  7. 解决vscode 没有 c++11 的代码提示(如to_string()等)

    2019.5.4 更新: 参考了stackflow上的一个问题:to_string is not a member of std, says g++ (mingw),发现直接换新版mingw即可- m ...

  8. C语言结构体实现类似C++的构造函数

    其主要依靠函数指针来实现,具体看代码吧~ #include <stdio.h> #include <stdlib.h> #include <string.h> ty ...

  9. 科普 | ​生成对抗网络(GAN)的发展史

    来源:https://en.wikipedia.org/wiki/Edmond_de_Belamy 五年前,Generative Adversarial Networks(GANs)在深度学习领域掀起 ...

  10. List<Object>转List<T>

    今天遇到一个麻烦,公司有个项目用了一个封装dao的模板,他妈的不管是查一条数据的方法,还是查一个集合数据的方法,全都返回Object或List<Object> 由于对象是Object根本不 ...