Serverヘッダーを消す
wwwroot\web.config
に下記の内容を追記。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
...
<security>
<requestFiltering removeServerHeader="true" />
</security>
...
</system.webserver>
</configuration>
X-Powerd-By ヘッダを消す
ASP.NET
とPHP x.x.x
で消し方が違う。
ASP.NET
wwwroot\web.config
に下記の内容を追記。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
...
<httpProtocol>
<customHeaders>
<clear />
</customHeaders>
</httpProtocol>
...
</system.webserver>
</configuration>
PHP x.x.x
これはどうも最適な消し方が無いらしい。
expose_php=Off
をwwwroot\.user.ini
に書いても消えないので、phpスクリプトにini_setを書くか、このStackOverflowの回答を参考に下記の内容をwwwroot\web.config
に書く。ヘッダーそのものは消えないが、内容は消えるので最低限の対策にはなる。
ちなみに上2つのヘッダーもこの方法で内容を消すことは出来ますが、ヘッダーの存在そのものを消すことは出来ません。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
...
<rewrite>
...
<outboundRules rewriteBeforeCache="true">
<rule name="Remove X-Powered-By HTTP response header">
<match serverVariable="RESPONSE_X-Powered-By" pattern=".+" />
<action type="Rewrite" value="" />
</rule>
</outboundRules>
...
</rewrite>
...
</system.webserver>
</configuration>