精华内容
下载资源
问答
  • Mac OSX – / etc / hosts和/ private / etc / hosts之间有什么区别
    2020-06-01 12:12:04
    更多相关内容
  • 1、Linux修改本机别名/etc/hosts的hostName后经常不生效解决  Linux修改本机别名/etc/hosts的hostName后经常不生效, 比如我们/etc/hosts的内容如下:  #192.68.1.10 message.xxx.com  192.68.1.11 message....
  • 一、关于/etc/hosts.allow /etc/hosts.deny 遇到一台服务器22端口正常,可是用SSH连接却有问题。 报错:ssh_exchange_identification: read: Connection reset by peer 排查了防火墙和端口,半天没发现问题,...

    一、关于/etc/hosts.allow  /etc/hosts.deny

    遇到一台服务器22端口正常,可是用SSH连接却有问题。

    报错:ssh_exchange_identification: read: Connection reset by peer

    排查了防火墙和端口,半天没发现问题,查询得知经过etc目录下hosts.deny和hosts.allow文件能够限制远程访问。

    我们可以通过配置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 当中。

    3 .一个IP请求连入,Linux的检查策略是先看/etc/hosts.allow中是否允许,如果允许直接放行;如果没有,则再看/etc/hosts.deny中是否禁止,如果禁止那么就禁止连入。

    4 .实验发现对/etc/hosts.allow和/etc/hosts.deny的配置不用重启就立即生效,但不管重启不重启当前已有会话都不会受影响;也就是说对之前已经连入的,即便IP已配置为禁止登录会话仍不会强制断开。不过不知是否所有linux都一样,由此第四步标为可选。

    5.网上发现有些教程写成不是sshd而是in.sshd不是in.telnetd而是telnetd的,个人觉得应该是独立启的不用加in.托管于xinetd的需要加in。

    二、hosts.allow和hosts.deny支持哪些服务

    hosts.allow和hosts.deny支持哪些服务

    hosts.allow和hosts.deny规则的执行者为TCP wrappers,对应守护进程为tcpd,而tcpd执行依赖于程序使用了libwrap库。

    也就是说:hosts.allow和hosts.deny支持且只支持使用了libwrap库的服务,一般这个是针对守护进程Daemon。

    查看程序是否使用libwarp

    方法一、查看hosts_access字段串

    查看应用程序是否支持wrapper,可以使用strings程序然后grep字符串hosts_access:

    #  strings  /usr/sbin/sshd |  grep hosts_access

    方法二、使用ldd

    #  ldd /usr/sbin/sshd | gre  libwrap

    查测发现使用xinetd的都可以、sshd可以、vsftpd可以,httpd不可以,weblogic等java程序就不要想了。

    理解 Linux 中的 /etc/services 文件 

    /etc/services 作用: /etc/services文件保存了服务和端口的对应关系。

    但是通常服务的配置文件里会自行定义端口。那么两者间是什么关系呢?

    事实上,服务最终采用的方案仍然是自己的端口定义配置文件。但是/etc/services的存在有几个意义:

    1、如果每一个服务都能够严格遵循该机制,在此文件里标注自己所使用的端口信息,则主机上各服务间对端口的使用,将会非常清晰明了,易于管理。

    2、在该文件中定义的服务名,可以作为配置文件中的参数使用。

        例如:在配置路由策略时,使用"www"代替"80",即为调用了此文件中的条目“www  80”

    3、且当有特殊情况,需要调整端口设置,只需要在/etc/services中修改www的定义,即可影响到服务。

        例如:在文件中增加条目“privPort  55555”,在某个私有服务中多个配置文件里广泛应用,进行配置。

        当有特殊需要,要将这些端口配置改为66666,则只需修改/etc/services文件中对应行即可。

    基本上是个标准,但是不是强制的。

    推荐的做法是在/etc/services里面加入新端口的定义或是使用已有的端口的定义,然后在监听的时候使用从/etc/servies里面得到的端口定义。这样和其他程序有没有冲突,一目了然,而且一旦需要调整和重新分配端口的时候也容易。

    三、TCP Wrappers 语法以及选项规则

    Wrappers 首先在 hosts.allow 文件中查找规则匹配。如果找到匹配,那么 tcpd 会根据规则停下来,批准或拒绝访问。

    如果在 hosts.allow 文件中未找到匹配,那么 tcpd 会读取 hosts.deny 文件直到找到匹配。如果找到匹配,就拒绝访问,否则批准访问。

    在前面提到了两个文件 hosts.allow 和 deny,但根据规则的灵活性,可以只用一个文件,通常是 hosts.allow 来包含 wrappers 所有规则。

    Wrappers 会查询 hosts.allow 和 hosts.deny 中的规则来确定访问。

    规则的基本格式是:

    daemon, daemon, ...: client, client, ...: option

    要关闭 wrappers,只需将 hosts.allow 和 hosts.deny 文件改成其他文件名即可。

    如果不存在允许或拒绝访问文件,wrappers 将不会使用访问控制,从而有效关闭 wrappers 。

    将主机文件清空或清零,会有同样的效果。

    当一行有多个守护进程或客户端时,用逗号分隔开来。

    可以用 ALL 关键字来表示所有守护进程或所有客户端。

    LOCAL 关键字表示匹配所有不包含点号(“.”)的主机;这表示所有与域不相关的主机。

    如果规则允许的话,在每个规则末尾都加上允许或拒绝选项,这是一个好的做法、好的习惯(因为这可以清晰地描绘访问规则,尤其是在 hosts.allow 中有多个允许或拒绝规则时)。

    对 hosts.allow 和 hosts.deny 的更改是动态的。一旦文件保存,更改就会生效。

    一个好的起点是,仅仅允许您想要访问主机的客户端使用允许的守护进程,拒绝其他所有客户端。

    所以,hosts.deny 可以使用以下规则拒绝所有客户端访问所有守护进程:

    ALL:ALL

    本节的其他示例都是只与 hosts.allow 文件有关。为了能让所有守护进程从本地主机(即,与域名不相关的主机)访问,可以使用:

    ALL:LOCAL : allow

    就我个人而言,我不喜欢使用在任何主机上匹配的 LOCAL 模式,因为网络中所有主机应该属于您的或是某个域。

    如果原来不是,那么应该是的。尽管如此,在一些小型网络的情况下,却不是这样,LOCAL 允许这些主机访问。

    我们假设仅仅允许属于 mydomain.com 域的主机使用 telnet 或 ssh。以下的 hosts.allow 条目能完成此任务:

    telnetd,sshd:.mydomain.com :allow

    请注意本例中 mydomain.com 之前的点号(“.”)。这是个通配符,表示所有主机以 mydomain.com 结尾。

    我们还在规则结尾指定这是一条允许规则。

    尽管这不是严格限制,但如前所述,这样做是一种好的做法。

    现在进一步假设我们允许使用以下 IP 地址远程登录 ssh 和 telnet:192.168.4.10 和所有以 192.168.6 开头的 IP 地址。

    请再次注意,在部分 IP 地址后使用点号;这相当于 192.168.6.*.,或者更精确一点,以 192.168.6 开头的所有 IP 地址。

    另一种看待 192.168.6. 范围内 IP 地址的方法是等于 192.168.6/24 或所有 192.168.6.1 与 192.168.6.254 之间的 IP 地址。

    另外,我们还想允许使用 telnet 和 ssh 访问以下域:mydomain.com 和 mydomain2.com 域。

    以下命令能完成此任务:

    telnetd,sshd:.mydomain.com, .mydomain2.com :allow

    telnetd,sshd:192.168.4.10,192.168.6.: allow

    现在,我们假设允许从 mydomain.com 域中的所有主机上进行 ftp 访问,除了 mydomain.com 中的两个主机:uktrip1 和 uktrip2 。

    通过使用允许规则,我们可以利用 except 选项提供两个列表,让 “except” 左侧的主机允许访问,“except” 右侧列表中包含的主机拒绝访问。

    telnetd,sshd:.mydomain.com :allow

    telnetd,sshd:192.168.4.10,192.168.6.: allow

    ftpd:.mydomain.com except uktrip1.mydomain.com, uktrip2.mydomain.com : allow

    我们现在看看拒绝规则。要拒绝 192.168.8. 和 192.168.9. 的 telnet 访问,但允许 192.168.6. 的 telnet 访问,我可以使用:

    telnetd :192.168.8.,192.168.9.: deny

    telnetd :192.168.6.: allow

    前一个示例也可以用 except 选项来改写:

    telnetd:192.168.6. except192.168.8.,192.168.9.: allow

    Wrappers 会将消息记录到 /var/adm/messages 文件中。

    消息文件中一个典型的名为 tardis 的被拒绝 telnent 连接会像这样:

    Oct 23 15:50:55rs6000 auth|security|warning telnetd[270546]: refused connect from tardis

    一个典型的名为 tardis 的失败的 ssh 连接像这样:

    Oct 23 15:53:36rs6000 auth|security:infosshd[262252]: refused connect from tardis

    如果打开 PARANOID,那么 wrappers 会通知您所有无法解析的主机与 IP 不匹配情况:

    error ftpd[2605110]: warning:/etc/hosts.allow, line2: host name/address mismatch: 192.168.7.12!= uktrn004.mydomain.com

    有时候能看到哪些主机 DNS 条目不正确也是好事,这样可以被负责 DNS 维护的人员纠正过来。

    在公司内部网络尤其如此,与拒绝不匹配主机/IP 不同的是,只允许域用户进入(假设这是在安全的公司网络中)。

    在以下示例中,所有属于 mydomain.com 域的用户都允许访问,请注意对所有守护进程都使用了 ALL:

    ALL:PARANOID, mydomain:allow

    (1)/etc/hosts.all & /etc/hosts.deny修改立即生效,对已经打开的SSH连接无效

    (2)",",分隔多个IP或IP段

    (3)all大小写都可以

    (4)2.2.,2.2.2.2/29,2.2.2.*都可以匹配网段

    四、参考

    TCP Wrappers

    http://shouce.jb51.net/vbird-linux-server-3/59.html

    CentOS 7配置hosts.allow和hosts.deny文件

    https://v2ex.cc/archives/327/

    hosts.allow/howts.deny书写规则

    https://blog.51cto.com/jschu/1694549

    理解 Linux 中的 /etc/services 文件

    https://zhuanlan.zhihu.com/p/55299614

    HOWTO - Limiting Access to TCP-wrapped Services with hosts.allow

    https://static.closedsrc.org/articles/dn-articles/hosts_allow.html

    解决ssh_exchange_identification:read connection reset by peer

    https://www.cnblogs.com/web-chuanfa/p/10265798.html

    通过配置hosts.allow和hosts.deny文件允许或禁止ssh或telnet操作

    https://www.cnblogs.com/lsdb/p/7095288.html

    hosts.allow(5) - Linux man page

    https://linux.die.net/man/5/hosts.allow

    使用hosts.allow和hosts.deny实现简单的防火墙

    https://www.cnblogs.com/EasonJim/p/8338931.html

    第九章、防火墙与 NAT 服务器

    http://cn.linux.vbird.org/linux_server/0250simple_firewall_2.php

    限制連接上您 Linux 主機的電腦網域

    http://linux.vbird.org/linux_security/old/04_2remove_services.php

    第十七章、認識系統服務 (daemons)

    http://linux.vbird.org/linux_basic/0560daemons.php#etc_services

    展开全文
  • 主要介绍了 Linux 修改 etc/hosts文件详细介绍的相关资料,需要的朋友可以参考下
  • /etc/hosts.allow和/etc/hosts.deny的讲解

    千次阅读 2020-06-23 13:20:17
    /etc/hosts.allow控制可以访问本机的IP地址,/etc/hosts.deny控制禁止访问本机的IP。如果两个文件的配置有冲突,以/etc/hosts.deny为准。 /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和/etc/hosts.deny两个文件是控制远程访问设置的,通过他可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。
    比如SSH服务,我们通常只对管理员开放,那我们就可以禁用不必要的IP,而只开放管理员可能使用到的IP段。

    二、配置

    1、修改/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

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

    in.telnetd:140.116.44.0/255.255.255.0
    in.telnetd:140.116.79.0/255.255.255.0
    in.telnetd:140.116.141.99
    in.telnetd:LOCAL
    smbd:192.168.0.0/255.255.255.0 #允许192.168.0.网段的IP访问smbd服务

    #sendmail:192.168.1.0/255.255.255.0
    #pop3d:192.168.1.0/255.255.255.0
    #swat:192.168.1.0/255.255.255.0
    pptpd:all EXCEPT 192.168.0.0/255.255.255.0
    httpd:all
    vsftpd:all

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

    ALL要害字匹配所有情况,EXCEPT匹配除了某些项之外的情况,PARANOID匹配你想控制的IP地址和它的域名不匹配时(域名伪装)的情况。

    2、修改/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

    in.telnet:ALL

    ALL:ALL EXCEPT 192.168.0.1/255.255.255.0,192.168.1.21,
    202.10.5.0/255.255.255.0

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

    3、启动服务
    注意修改完后:
    #service xinetd restart
    才能让刚才的更改生效。

    =======================================================

    hosts.allow与hosts.deny
    两个文件均在/etc/目录下
    优先级为先检查hosts.deny,再检查hosts.allow,
    后者设定可越过前者限制,

    例如:
    1.限制所有的ssh,
    除非从218.64.87.0——127上来。
    hosts.deny:
    in.sshd:ALL
    hosts.allow:
    in.sshd:218.64.87.0/255.255.255.128

    2.封掉218.64.87.0——127的telnet
    hosts.deny
    in.sshd:218.64.87.0/255.255.255.128

    3.限制所有人的TCP连接,除非从218.64.87.0——127访问
    hosts.deny
    ALL:ALL
    hosts.allow
    ALL:218.64.87.0/255.255.255.128

    4.限制218.64.87.0——127对所有服务的访问
    hosts.deny
    ALL:218.64.87.0/255.255.255.128

    其中冒号前面是TCP daemon的服务进程名称,通常系统
    进程在/etc/inetd.conf中指定,比如in.ftpd,in.telnetd,in.sshd

    其中IP地址范围的写法有若干中,主要的三种是:
    1.网络地址——子网掩码方式:
    218.64.87.0/255.255.255.0
    2.网络地址方式(我自己这样叫,呵呵)
    218.64.(即以218.64打头的IP地址)
    3.缩略子网掩码方式,既数一数二进制子网掩码前面有多少个“1”比如:
    218.64.87.0/255.255.255.0《====》218.64.87.0/24

    以下的故障是因为在/etc/hosts.allow和/etc/hosts.deny设置了IP,所以导致的ssh无法登陆,这个是链接

    展开全文
  • /etc/hosts.allow /etc/hosts.deny 配置规则时,先配置hosts.allow规则,然后再配置hosts.deny规则。一般的做法是在hosts.allow中配置信任主机规则,然后到hosts.deny中拒绝所有其他主机。还有一种

    1. 简介

    TCP Wrapper是Linux系统中一个通用的标准安全框架。其作用类似于IPTABLES, 用于控制从inetd启动的基于TCP的应用程序的访问。其守护进程是tcpd, 通过读取如下两个文件中的相关策略配置,决定允许还是拒绝到达的TCP连接。使用它来限制服务器允许执行的ip登陆,比防火墙方便很多。

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

    linux系统会先检查/etc/hosts.deny规则,再检查/etc/hosts.allow规则。如果有冲突 ,按/etc/hosts.allow规则处理。即如果在/etc/hosts.deny和/etc/hosts.allow中,同时有sshd:192.168.11.112规则,则192.168.11.112可以访问主机的ssh服务。


    2. 配置规则

    • 设置白名单

    一般的用法是在hosts.allow中配置信任主机规则,然后到hosts.deny中拒绝所有其他主机。

    # more /etc/hosts.allow 
    
    
    # 设置IP网段
    sshd:150.223.254.0/255.255.255.0:allow
    sshd:182.42.255.0/255.255.255.0:allow
    # 设置具体某个IP地址
    sshd:36.111.140.26 allow
    sshd:36.111.140.142 allow
    sshd:106.39.160.37 allow
    
    
    # more /etc/hosts.deny 
    
    sshd: all
    
    • 设置黑名单

    还有一种方法,在/etc/hosts.allow中接受其他所有主机,然后在/etc/hosts.deny中设置引用文件,在引用文件中禁用特定IP。

    # more  /etc/hosts.allow 
    
    sshd: all
    
    
    # more /etc/hosts.deny
    
    sshd:192.168.11.112
    sshd:36.111.140.26
    

    修改后,名单即时生效。


    3. 参考文章

    https://baike.baidu.com/item/TCP%20Wrapper/17661285?spm=a2c4g.11186623.0.0.23df3fbbCV7FuO

    展开全文
  • 浅析/etc/hosts和/etc/resolv.conf的作用

    千次阅读 2021-01-13 13:31:39
    先介绍/etc/hosts hosts文件是linux系统中负责ip地址与域名快速解析的文件 以ASCII格式保存在/etc目录下 文件名为hosts(不同的linux版本,文件也可能不同,比如Debian的对应文件是/etc/hostname。) hosts文件包含了...
  • 修改/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 ...
  • hostile, 简单的编程 `/etc/hosts` 操作( 在 node.js 中) 恶意 简单的编程操作( 在 node.js ) 安装npm install hostile用法如果使用 OS X 或者 Linux,这里模块假定主机文件位于 /etc/hosts 。 在 Window
  • linux中的/etc/hosts.allow和/etc/hosts.deny详解 当linux主机需要允许/禁止某些ip地址/地址段访问某些资源或服务时,/etc/hosts.allow和/etc/hosts.deny就派上了用场! 两个文件的配置格式是: 服务:地址:允许/...
  • 排查了防火墙和端口问题,半天没有找出来原因,后来求助大神,终于明白了通过etc目录下hosts.deny和hosts.allow文件可以限制远程访问,使用方法如下: 修改/etc/hosts.allow文件## hosts.allow This file describes...
  • /etc/hosts 和 hostname 详解

    千次阅读 2020-07-31 00:51:11
    要理解 /etc/hosts 与 hostname 之间的关系,首先需要明白域名和主机名的区别。 1. 什么是域名? 无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的...
  • 在linux中,一般使用/etc/passwd,/etc/shadow,/etc/group提供用户登陆的密码认证 ... 因此,为了提供同一的调用,产生了nsswitch,介于登录与认证数据之间 ...框架:/etc/passwd, /etc/shadow, /etc/group 库:...
  • Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。/etc/hosts文件通常里面包含这一条记录  127.0.0.1 localhost.localdomain localhost ...
  • /etc/hosts文件

    2021-04-04 15:50:24
    /etc/hosts文件里面可以建立主机和ip地址之间的映射关系,如下图:
  •  有关/etc/resolv.conf、/etc/hosts、/etc/sysconfig/network 有关/etc/resolv.conf、/etc/hosts、/etc/sysconfig/network发布时间:2018-01-19 来源:网络 上传者:用户关键字: ETC sysconfig network ...
  • 2、编缉/etc/hosts.allow文件 vim /etc/hosts.allow 允许内容 书写格式(改成自自需要的IP或IP段) ssh允许单个ip sshd:192.168.220.1 ssh允许ip段 ...
  • Linux中/etc/hosts文件详解

    千次阅读 2021-03-22 16:45:19
    这里的/etc/hosts作用同Windows下的hosts文件,Windows中host文件的目录一般为:C:\Windows\System32\drivers\etc\hosts。 一、概念 hosts —— the static table lookup for host name(主机名查询静态表)。 hosts...
  • /etc/hosts 详解

    千次阅读 2019-10-12 09:15:06
    1,/etc/hosts,主机名何ip配置文件。 hosts—The static table lookup for host name(主机名查询静态表) linux 的/etc/hosts是配置ip地址和其对应主机名的文件,这里可以记录本机的或其他主机的ip及其对应主机名。 ...
  • /etc/hosts.allow和/etc/hosts.deny,这两个文件中添加ip可以允许和禁止指定ip登录。不过由于我登录的ip是动态的,只能使用deny文件去禁止其他ip登录。如果自己登录的IP是固定的,可以直接在deny中配置sshd:all,再...
  • ansible基础用法5_修改/etc/hosts 文件

    千次阅读 2020-09-22 17:44:43
    [root@ansible AnsibleInstallRpm]# cat /etc/ansible/hosts --- all: hosts: node1: ansible_connection: ssh ansible_host: 10.100.201.161 ansible_ssh_pass: xxx@123 ansible_ssh_user: root ...
  • /etc/hosts.allow用来限制服务器允许执行的ip登陆感觉比防火墙方便很多。文章出自:http://see.sl088.com/wiki/Linux_%E9%99%90%E5%88%B6IP就像是限制特定IP来访想法看起来通常的做法是利用hosts的拒绝设置,而它的...
  • 他们两个的关系为:/etc/hosts.allow的设定优先于/etc/hosts.deny1.当档案/etc/hosts.allow存在时,则先以此档案内之设定为准;2.而在/etc/hosts.allow没有规定到的事项,将在/etc/hosts.deny当中继...
  • source /etc/hosts命令报错

    千次阅读 2020-12-07 20:52:35
    不报错才怪,因为hosts这个文件并不是可执行文件,根本就不能用source,hosts文件只要保存了那就修改了,不必再用source命令
  • /etc/hosts.deny和/etc/hosts.allow无法限制FTP访问 问题描述: 想通过/etc/hosts.allow与/etc/hosts.deny文件限制某些网段访问FTP服务器(在不动防火墙和交换机的情况下) 本机FTP服务器ip为192.168.0.13 vim /...
  • hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件,以ascii格式保存在/etc/目录下。hosts文件包含了ip地址与主机名之间的映射,还包括主机的别名。在没有域名解析服务器的情况下,系统上的所有网络程序都...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 288,521
精华内容 115,408
关键字:

/etc/hosts