作者:孤魂地狱 | 来源:互联网 | 2024-12-08 05:38
为何服务器需限制直接通过IP地址访问?首先,未备案的公网IP可能面临监管机构的封禁,影响域名的正常访问。其次,使用IP地址访问可能会导致安全工具检测出内部IP泄露的风险,增加潜在的安全隐患。
为何服务器需限制直接通过IP地址访问?
1、未备案的公网IP地址可能会受到监管机构(如工信部)的审查和封禁,这不仅会影响直接的IP访问,还会连带影响已备案的域名访问。
2、安全扫描工具(例如AppScan)通过IP地址进行扫描时,可能会触发“内部IP泄露”等低级别安全警告,这些警告提示可能存在收集Web应用程序敏感信息的风险,包括但不限于用户名、密码、服务器名称或敏感文件路径。
以Tomcat服务器为例,可以通过调整配置来阻止直接通过IP地址访问,确保所有请求均通过域名进行:
假设服务器的公网IP为120.77.145.25,对应的域名为www.unicom-iot.net。
1、编辑conf/server.xml
文件,找到Engine
节点,并将默认主机设置为域名:
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
xmlValidation="false" xmlNamespaceAware="false"/>
2、在与webapps
同一级的目录下创建ipapps
目录,并在其中创建一个ROOT
目录,放置一个自定义的index.html
文件,用于显示当用户尝试通过IP地址访问时的页面。
3、重启Tomcat服务使更改生效。
要点:
1. Engine
节点中的defaultHost
属性指定了默认访问的主机名。这个主机名必须与Engine
节点下定义的一个Host
节点相匹配。当服务器具有多个IP地址,但只允许通过特定域名访问时,此配置非常有用。
2. 每个Host
节点的name
属性可以是一个IP地址或域名,但每个Host
只能关联一个IP或域名。
3. appBase
属性指定了Web应用程序的存储目录,相对路径基于Tomcat的安装根目录(%TOMCAT_HOME%
)。例如,www.unicom-iot.net
的Web应用位于%TOMCAT_HOME%/webapps
,而IP地址120.77.145.25的应用则位于%TOMCAT_HOME%/ipapps
。
4. 修改defaultHost
属性后,原localhost
下的虚拟目录配置将不再生效。需要在%TOMCAT_HOME%/conf/Catalina
下创建一个与新主机名匹配的文件夹(如www.unicom-iot.net
),并将原有的虚拟目录配置文件复制至此文件夹内,以保持虚拟目录的有效性。