# IIS 服务安全加固

#### 博客作者：联系请[点击](https://hezhiqiang.gitbook.io/about-the-author/lian-xi-zuo-zhe)，搬运不易，希望请作者喝咖啡，可以点击[联系博客作者](https://hezhiqiang.gitbook.io/about-the-author/lian-xi-zuo-zhe)

## **IIS简介：**

**Windows®Server的Internet信息服务（IIS）是一种灵活，安全且可管理的World Wide Web server，用于承载Web上的任何内容。从媒体流到Web应用程序，IIS的可扩展和开放式体系结构随时可以处理最苛刻的任务。**

## 1. 适用情况

适用于使用 IIS7 进行部署的Web网站。

## 2. 技能要求

熟悉IIS配置操作，能够利用IIS进行建站，并能针对站点使用IIS进行安全加固。

## 3. 前置条件

1、 根据站点开放端口、进程ID、确认站点采用IIS进行部署；

2、 启用IIS

方法一：按Win键+R打开Windows运行，输入inetmgr,回车即可打开；

方法二：开始->管理工具->Internet 信息服务(IIS)管理器。

## 4. 详细操作

### 4.1      限制目录执行权限

1、在IIS中设置需要上传文件的目录，双击处理程序映射

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McQm0YbFngrB03m3j4x%2F-McRu_HKhPBnsGb8DVoi%2Fimage.png?alt=media\&token=45ef5733-61fd-4d18-934c-779313bc9f0b)

2、在处理程序映射中，把编辑功能权限中的脚本去掉，这样即使上传了木马文件在此目录，也是无法执行的。

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McQm0YbFngrB03m3j4x%2F-McRw78Hsj3l13I6F_lS%2Fimage.png?alt=media\&token=2e4900fb-282f-4d12-affb-48da7c6bee4f)

### 4.2      开启日志审计

&#x20;1、打开IIS管理工具，选择需要设置日志的站点，切换到功能视图，双击日志，进入日志配置界面。

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McQm0YbFngrB03m3j4x%2F-McRwRbQsVRYhr50dhye%2Fimage.png?alt=media\&token=257706ff-7e71-4e19-8ed8-3d8c791ffb4d)

2、默认情况下Web日志存放于系统目录" %SystemDrive%\inetpub\logs\LogFiles"，将Wb日志文件放在非网站目录和非操作系统分区，并定期对Web日志进行异地备份。

双击日志，可进行日志属性的设置如下图：

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McQm0YbFngrB03m3j4x%2F-McRwmAB0DzfChmQfKaO%2Fimage.png?alt=media\&token=b450efeb-90f4-4475-a39d-2f74bf32827f)

### 4.3      自定义404错误页面

1、选择站点，在功能视图页面，双击错误页，进入错误页配置页面：

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McQm0YbFngrB03m3j4x%2F-McRx5Jooyd-IRoc564c%2Fimage.png?alt=media\&token=0a41b738-3a79-4c3c-92ea-5180a019caeb)

2、选择404状态代码，进入自定义错误页编辑状态：

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McQm0YbFngrB03m3j4x%2F-McRxWvKXa3yBuW4tKd0%2Fimage.png?alt=media\&token=af152b01-0b1a-4e3c-98bf-6450ab59f992)

### 4.4     防止.mdb数据库文件被下载

很多网站都是使用的是asp+access数据库，mdb路径可能被猜解，数据库很容易就被别人下载了，利用IIS设置可有效防止mdb数据库被下载。

步骤一：在 C:\Windows\System32\inetsrv\config目录下找到applicationHost文件；

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McQm0YbFngrB03m3j4x%2F-McRyDtDaRfqq_WUQSRG%2Fimage.png?alt=media\&token=c21b11d8-08eb-4a6e-bd95-41fe269050fd)

步骤二：打开applicationHost文件，选择requestFiltering 下的节点：    \<add fileExtension=".mdb" allowed="false" />，修改allowed的值为“false”，mdb文件不能被下载。

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McQjJHn-w044QixJAB0%2F-McQkjIpiWm0jYGCb4MY%2Fimage.png?alt=media\&token=7955f8af-4c77-4787-8328-ad406e66ca4e)

步骤三：保存后，即无法下载.mdb数据库文件。

### 4.5      访问源IP限制

在条件允许的条件下，对IIS访问源进行IP范围限制。只有在允许的IP范围内的主机才可以访问WWW服务。常用于限制网站管理后台对外开放。

1、开始->管理工具->Internet 信息服务(IIS)管理器 选择相应的站点目录，然后在功能视图中找到IP地址和域名限制，双击IP地址和域名限制进入设置。

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McS-Dja_8hi-r5MaohL%2F-McS5oE812jDQ3haf6Z5%2Fimage.png?alt=media\&token=3e046d1a-97d6-49cb-a387-e0aabea9b742)

2、在IP地址和域限制中，添加允许条目

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McS-Dja_8hi-r5MaohL%2F-McS69jv9zEK6xl7qKfA%2Fimage.png?alt=media\&token=c66e4504-2574-4c26-96da-6b6786857f2c)

### 4.6      关闭WebDAV

开始->管理工具->Internet 信息服务(IIS)管理器， 选择一个站点，在功能视图中找到WebDAV创作规则，双击 WebDAV创作规则，进入设置：

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McS-Dja_8hi-r5MaohL%2F-McS6LS9UnXu42uxVmkd%2Fimage.png?alt=media\&token=a8709d38-758f-493e-afba-98ba01f1f5f0)

2、在WebDAV创作规则中，选择禁用WebDAV

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McS-Dja_8hi-r5MaohL%2F-McS6blluEnsNfPHhpAO%2Fimage.png?alt=media\&token=bff3b2b2-b968-4ee8-a817-e1ba75915c12)

### 4.7   关闭目录浏览

开始->管理工具->Internet 信息服务(IIS)管理器 选择相应的站点目录，然后在功能视图页面找到“目录浏览”，双击进入目录浏览设置页面：

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McS-Dja_8hi-r5MaohL%2F-McS6pSPg0CF6pJ2hmC6%2Fimage.png?alt=media\&token=670d3337-4612-4a65-83dc-d466b1e2e4fa)

2、在最右边，操作栏进行“禁用”，即可禁用目录浏览

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McS-Dja_8hi-r5MaohL%2F-McS6zpK0oemGIbHdcYV%2Fimage.png?alt=media\&token=f8532a02-1559-4c91-9e42-a5b6d4398424)

### 4.8      关闭FTP匿名访问

开始->管理工具->Internet 信息服务(IIS)管理器 点击WIN-主机名后在中间位置FTP栏找到FTP身份验证，双击进入；

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McS7252f_Q1t496uXkF%2F-McS8B8SVGBXPgxwoRvO%2Fimage.png?alt=media\&token=610fa295-692f-45e3-8cbb-96b3d970eb12)

右键匿名身份验证->禁用，即可关闭FTP匿名访问

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McS7252f_Q1t496uXkF%2F-McS8dH9gFwtNjAM2ScV%2Fimage.png?alt=media\&token=eaf2babe-5057-4238-9e4c-4d7621c51e86)

### 4.9      解决IIS短文件名漏洞

1、打开Internet 信息服务(IIS)管理器，选择站点，在功能视图界面，双击请求筛选

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McS7252f_Q1t496uXkF%2F-McS8udpkfwofhxUVADa%2Fimage.png?alt=media\&token=b03a0636-51a7-43a4-912d-0914628fc704)

2、在URLà添加拒绝序列àURL序列设置为【\~】

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McS7252f_Q1t496uXkF%2F-McS9WZGnjDPFWR2dxBv%2Fimage.png?alt=media\&token=ab5b197a-45a9-420d-a34a-dd077827d089)

## 5      停用或删除默认站点

IIS安装后的默认主目录是“C:\inetpub\wwwroot”，为更好地抵抗踩点、刺探等攻击行为，应该更改主目录位置，禁用默认站点，新建立站点并进行安全配置。

开始->管理工具->Internet 信息服务(IIS)管理器 选择相应的站点，然后右键站点，选择停止或者删除。

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McS7252f_Q1t496uXkF%2F-McSA8IokqQj88RQeg5f%2Fimage.png?alt=media\&token=e2566ec4-a657-490e-a06a-e33c2a1526cd)

### 5.1      删除不必要的脚本映射

打开IIS服务管理器，选择需要设置的站点，找到“处理程序映射”双击，从列表中删除以下不必要的脚本。

包括 .asa .cer .cdx .idq .htw .ida .shtml .stm .idc .htr .printer等。

删除的原则：只保留需要的脚本映射。

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McS7252f_Q1t496uXkF%2F-McSAPytPUffZXqKTXPO%2Fimage.png?alt=media\&token=b64f6818-425e-481d-9788-7c8db92195a0)

根据需要可以在已经存在的脚本上点击右键进行编辑和删除，也可以自定义添加映射。

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McS7252f_Q1t496uXkF%2F-McSAroMKXqn7plOiSkr%2Fimage.png?alt=media\&token=92f01d52-0e58-4aba-b000-3bd879b78bf6)

### 5.2      设置最大并发连接数

打开IIS服务管理器，选择需要设置的站点，点击浏览网站下的“高级设置“，打开高级设置对话框，切换到“连接限制”选项卡，设置连接限制，包括最大并发连接数等的设置。

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McSAweXhZoBtAqF3cSv%2F-McSBbLOne-Xh4ixNAdR%2Fimage.png?alt=media\&token=c5a52039-a41a-4d06-808e-bedc5be8732f)

### 5.3      独立站点帐户

在Windows server 2008R2系统下，用IIS架设Web服务器，合理的为每个站点配置独立的Internet来宾账号，这样可以限制Internet 来宾账号的访问权限，只允许其可以读取和执行运行网站所的需要的程序。

1\. 选中“我的电脑”右键，选择“管理”，打开“计算机管理”，选择“本地用户和组”，然后点击“用户”，接着“右键”，新建一个用户，如下图：

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McSAweXhZoBtAqF3cSv%2F-McSCYpQg9HQqQuOpvxM%2Fimage.png?alt=media\&token=8d5b0f9f-f31c-45cf-8541-64c0666ed81f)

最后点击“创建”，完成用户创建。

2\. 删除新建立的用户属的用户组“USERS”,然后点击“添加”，让用户属于Guests组，如下图：

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McSAweXhZoBtAqF3cSv%2F-McSEeAb986VG2hJZ_W9%2Fimage.png?alt=media\&token=519196e9-39c2-498f-b68c-1a536115dd81)

3、网站设置独立运行用户，加强网站安全

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McSAweXhZoBtAqF3cSv%2F-McSFJFxfHU7svv4ek0A%2Fimage.png?alt=media\&token=490224b3-7991-4d3d-a8e5-04df66ce815a)

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McSAweXhZoBtAqF3cSv%2F-McSG2yHup5qDVReN-ho%2Fimage.png?alt=media\&token=14f6d6e2-5f88-4746-90fe-32ad85529482)

### 5.4      独立应用程序池

给网站设置独立运行的程序池，这样每个网站与错误就不会互相影响：

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McSG8A-ZFVGnRhldEgJ%2F-McSGoZ9PqEVLyg4M_gX%2Fimage.png?alt=media\&token=b9016cab-c94a-447f-91c1-2c2c502c3e31)

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McSG8A-ZFVGnRhldEgJ%2F-McSHGcYJb_Mun0d6f6u%2Fimage.png?alt=media\&token=8cfa7f70-a497-404a-9c19-d0429776383f)

### 5.5      卸载不需要的IIS角色服务

开始－>管理工具－>服务器管理器”  双击“角色”，在右边最下方可以看见角色服务,点击““删除角色服务”，可对不需要的IIS角色服务进行删除。

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McQjJHn-w044QixJAB0%2F-McQlwYGX6UyUcdIkvxf%2Fimage.png?alt=media\&token=11bbbd6a-ae81-4a1e-ab40-c7a00c9bc0ff)

![](https://139036132-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lx53lMutrsyPUks5pJf%2F-McQjJHn-w044QixJAB0%2F-McQlzUb4Ksnmw0Qmc2q%2Fimage.png?alt=media\&token=f9e1ae5b-0273-4158-bbba-531ea6e3a360)
