/etc/hosts.allow和/etc/hosts.deny的作用

2024-06-13 15:38
文章标签 作用 allow hosts etc deny

本文主要是介绍/etc/hosts.allow和/etc/hosts.deny的作用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/etc/hosts.allow和/etc/hosts.deny的作用

http://hi.baidu.com/qaz6401877/item/8966f76c41b8ba2568105b54


[ init.d]$ ls -l /etc/hosts*
-rw-r--r--. 1 root root 554 Apr 20 14:32 /etc/hosts
-rw-r--r--. 1 root root 370 Jun  7  2013 /etc/hosts.allow
-rw-r--r--. 1 root root 460 Jun  7  2013 /etc/hosts.deny

可以通过配置hosts.allow和hosts.deny来控制访问权限。原文如下:

他们两个的关系为:/etc/hosts.allow 的设定优先于 /etc/hosts.deny

1. 当档案 /etc/hosts.allow 存在时,则先以此档案内之设定为准;
2. 而在 /etc/hosts.allow 没有规定到的事项,将在 /etc/hosts.deny 当中继续设定!
也就是说, /etc/hosts.allow 的设定优先于 /etc/hosts.deny 啰!了解了吗?基本上,只要 hosts.allow 也就够了,因为我们可以将allow 与 deny 都写在同一个档案内,只是这样一来似乎显得有点杂乱无章,因此,通常我们都是:
1. 允许进入的写在 /etc/hosts.allow 当中;
2. 不许进入的则写在 /etc/hosts.deny 当中。
再强调一次,那个 service_name 『必需』跟你的 xinetd 或者是 /etc/rc.d/init.d/* 里面的程序名称要相同。好了,我们以telnet 为例子来说明好了,现在假设一个比较安全的流程来设定,就是:
1. 只允许 140.116.44.0/255.255.255.0 与 140.116.79.0/255.255.255.0 这两个网域,及 140.116.141.99 这个主机可以进入我们的 telnet 服务器;
2. 此外,其它的 IP 全部都挡掉!
这样则首先可以设定 /etc/hosts.allow 这个档案成为: 
[root @test root]# vi /etc/hosts.allow
telnetd: 140.116.44.0/255.255.255.0 : allow
telnetd: 140.116.79.0/255.255.255.0 : allow
telnetd: 140.116.141.99 : allow 
再来,设定 /etc/hosts.deny 成为『全部都挡掉』的状态: 
[root @test root]# vi /etc/hosts.deny
telnetd: ALL : deny 
那个 ALL 代表『全部』的意思!呵呵!很棒吧!那么有没有更安全的设定,例如,当当有其它人扫瞄我的 telnet port 时,我就
将他的 IP 记住!以做为未来的查询与认证之用!那么你可以将 /etc/hosts.deny 这个档案改成这个样子: 
[root @test root]# vi /etc/hosts.deny
telnetd: ALL : spawn (echo Security notice from host `/bin/hostname`; \
echo; /usr/sbin/safe_finger @%h ) | \
/bin/mail -s "%d-%h security" root & \
: twist ( /bin/echo -e "\n\nWARNING connection not allowed. Your attempt has been logged.
\n\n\n警告您尚未允许登入,您的联机将会被纪录,并且作为以后的参考\n\n ". )
 
在上面的例子中,黄色字体字『 root 』,可以写成你的个人账号或者其它 e-mail ,以免很少以 root 身份登入 Linux 主机时,
容易造成不知道的情况,另外,最后几行,亦即 :twist 之后的那几行为同一行。如此一来,当未经允许的计算机尝试登入你的主机时,对方的屏幕上就会显示上面的最后一行,并且将他的 IP 寄到 root (或者是你自己的信箱)那里去!(注:某些没有安装 tcp_wrappers 的套件之 distribution 中,由于没有 safe_finger 等程序,所以无法执行相关的功能,这点还请多加注意呢!)

 

etc/hosts.allow和/etc/hosts.deny

这两个文件是tcpd服务器的配置文件,tcpd服务器可以控制外部IP对本机服务的访问。这两个配置文件的格式如下:

#服务进程名:主机列表:当规则匹配时可选的命令操作 server_name:hosts-list[:command] 

/etc/hosts.allow控制可以访问本机的IP地址,/etc/hosts.deny控制禁止访问本机的IP。如果两个文件的配置有冲突,以/etc/hosts.deny为准。下面是一个/etc/hosts.allow的示例:

ALL:127.0.0.1 #允许本机访问本机所有服务进程 smbd:192.168.0.0/255.255.255.0 #允许192.168.0.网段的IP访问smbd服务 

192.168.6.100代表一个主机,192.168.6.代表整个网段。同理,ringkee.com代表一台主机,.ringkee.com代表ringkee.com域内的所有主机。

ALL关键字匹配所有情况,EXCEPT匹配除了某些项之外的情况,PARANOID匹配你想控制的IP地址和它的域名不匹配时(域名伪装)的情况。KNOWN关健字匹配一台名字和地址(通过各种名字解析服务)已知的主机。LOCAL匹配任何一个不包含"."字符的主机名。我们应该尽量使用IP地址,因为主机名或域名会出现名称解析出错的问题,从而造成匹配失效。

tcpdchk程序可用于检查这两个配置文档是否有错,因为tcpd依赖许多配置文档(/etc/services,/etc/inetd.conf,/etc/hosts.allow和/etc/hosts.deny),并且要求这些文档中的相关信息必须一致。有了tcpdchk,就可帮我们自动检查。还有一个有用的工具叫tcpdmatch,它可以模拟一个进入的连接,测试tcpd的行为。

通过spawn选项,我们还可以根据匹配情况执行各种命令。如发邮件或记录日志等。下面是一个示例:

ALL:ALL : spawn (/bin/echo Security Alter from %a on %d on `date`| \ tee -a /var/log/Security_alter | mail 

    使用:

    修改/etc/hosts.allow文件

    #

    # hosts.allow This file describes the names of the hosts which are

    # allowed to use the local INET services, as decided

    # by the '/usr/sbin/tcpd' server.

    #

    sshd:210.13.218.*:allow

    sshd:222.77.15.*:allow

    以上写法表示允许210和222两个ip段连接sshd服务(这必然需要hosts.deny这个文件配合使用),当然:allow完全可以省略的。

    当然如果管理员集中在一个IP那么这样写是比较省事的

    all:218.24.129.110//他表示接受110这个ip的所有请求!

    /etc/hosts.deny文件,此文件是拒绝服务列表,文件内容如下:

    #

    # hosts.deny This file describes the names of the hosts which are

    # *not* allowed to use the local INET services, as decided

    # by the '/usr/sbin/tcpd' server.

    #

    # The portmap line is redundant, but it is left to remind you that

    # the new secure portmap uses hosts.deny and hosts.allow. In particular

    # you should know that NFS uses portmap!

    sshd:all:deny

    注意看:sshd:all:deny表示拒绝了所有sshd远程连接。:deny可以省略。

    所以:当hosts.allow和 host.deny相冲突时,以hosts.allow设置为准。

    注意修改完后:

    service xinetd restart

    才能让刚才的更改生效。


这篇关于/etc/hosts.allow和/etc/hosts.deny的作用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057720

相关文章

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

未来工作趋势:零工小程序在共享经济中的作用

经济在不断发展的同时,科技也在飞速发展。零工经济作为一种新兴的工作模式,正在全球范围内迅速崛起。特别是在中国,随着数字经济的蓬勃发展和共享经济模式的深入推广,零工小程序在促进就业、提升资源利用效率方面显示出了巨大的潜力和价值。 一、零工经济的定义及现状 零工经济是指通过临时性、自由职业或项目制的工作形式,利用互联网平台快速匹配供需双方的新型经济模式。这种模式打破了传统全职工作的界限,为劳动

Science|癌症中三级淋巴结构的免疫调节作用与治疗潜力|顶刊精析·24-09-08

小罗碎碎念 Science文献精析 今天精析的这一篇综述,于2022-01-07发表于Science,主要讨论了癌症中的三级淋巴结构(Tertiary Lymphoid Structures, TLS)及其在肿瘤免疫反应中的作用。 作者类型作者姓名单位名称(中文)通讯作者介绍第一作者Ton N. Schumacher荷兰癌症研究所通讯作者之一通讯作者Daniela S. Thomm

j2EE通用jar包的作用

原文:http://blog.sina.com.cn/s/blog_610901710101kx37.html IKIKAnalyzer3.2.8.jar // 分词器 ant-junit4.jar // ant junit antlr-2.7.6.jar // 没有此包,hibernate不会执行hql语句。并且会报NoClassDefFoundError: antlr

【vue3|第28期】 Vue3 + Vue Router:探索路由重定向的使用与作用

日期:2024年9月8日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉在这里插入代码片得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^ 1.01365 = 37.7834;0.99365 = 0.0255 1.02365 = 1377.4083;0.98365 = 0.0006 说

请解释Java Web应用中的前后端分离是什么?它有哪些好处?什么是Java Web中的Servlet过滤器?它有什么作用?

请解释Java Web应用中的前后端分离是什么?它有哪些好处? Java Web应用中的前后端分离 在Java Web应用中,前后端分离是一种开发模式,它将传统Web开发中紧密耦合的前端(用户界面)和后端(服务器端逻辑)代码进行分离,使得它们能够独立开发、测试、部署和维护。在这种模式下,前端通常通过HTTP请求与后端进行数据交换,后端则负责业务逻辑处理、数据库交互以及向前端提供RESTful

PRN(20201231):驾驶人驾驶决策机制遵循最小作用量原理

王建强, 郑讯佳, 黄荷叶. 驾驶人驾驶决策机制遵循最小作用量原理[J]. 中国公路学报, 2020, v.33;No.200(04):159-172. 观点: 为提升智能汽车的自主决策能力,使其能够学习人的决策智慧以适应复杂多变的道路交通环境,需要揭示驾驶人决策机制。 依据: 物理学中常用最小作用量原理解释自然界(包括物理和生物行为)极值现象。同时,最小作用量原理还用于解释蚂蚁在觅

glPushMatrix()和glPopMatrix()的作用

当你做了一些移动或旋转等变换后,使用glPushMatrix(); OpenGL 会把这个变换后的位置和角度保存起来。 然后你再随便做第二次移动或旋转变换,再用glPopMatrix(); OpenGL 就把刚刚保存的那个位置和角度恢复。 比如: glLoadIdentity(); glTranslatef(1,0,0);//向右移动(1,0,0) glPushMatrix(