{"id":4837,"date":"2023-07-18T10:12:31","date_gmt":"2023-07-18T17:12:31","guid":{"rendered":"https:\/\/SUMMALAI.COM\/?p=4837"},"modified":"2023-07-18T10:12:33","modified_gmt":"2023-07-18T17:12:33","slug":"how-to-harden-a-iis-web-server-with-iis-crypto","status":"publish","type":"post","link":"https:\/\/SUMMALAI.COM\/?p=4837","title":{"rendered":"How to Harden a IIS Web Server with IIS Crypto"},"content":{"rendered":"\n<p>When setting up a web server it can be difficult to know what security measures need to be put in place.<\/p>\n\n\n\n<p>There are lots of things to think about such as which permissions to apply, which ports to open and which security protocols to enable.<\/p>\n\n\n\n<p>Luckily, if you are using IIS, there is a tool that can help you out with the configuration of the security protocols; IIS Crypto.<\/p>\n\n\n\n<p>In the sections that follow I am going to show you where you can get access to IIS Crypto, how to install it and how to use it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Download<\/h2>\n\n\n\n<p>IIS Crypto is a free tool developed by&nbsp;<a href=\"https:\/\/www.nartac.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Nartac Software<\/a>.<\/p>\n\n\n\n<p>You can download IIS Crypto from the&nbsp;<a href=\"https:\/\/www.nartac.com\/Products\/IISCrypto\/Download\" target=\"_blank\" rel=\"noreferrer noopener\">Nartac website download page<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\" id=\"attachment_2315\"><a href=\"https:\/\/jonathancrozier.com\/wp-content\/uploads\/2020\/12\/iis-crypto-download.png\"><img decoding=\"async\" src=\"https:\/\/jonathancrozier.com\/wp-content\/uploads\/2020\/12\/iis-crypto-download-1024x520.png\" alt=\"IIS Crypto download options\" class=\"wp-image-2315\"\/><\/a><figcaption>IIS Crypto download options<\/figcaption><\/figure>\n\n\n\n<p>IIS Crypto is available both as a GUI (Graphical User Interface) and in the form of a CLI (Command-Line Interface).<\/p>\n\n\n\n<p>If you are unfamiliar with the tool and\/or only need to administer one or two servers, I recommend starting off with the GUI version of the tool.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installation<\/h2>\n\n\n\n<p>After downloading the GUI version of IIS Crypto, double-click the EXE to launch the tool.<\/p>\n\n\n\n<p>The tool requires administrative privileges so you will need to click \u2018Yes\u2019 on the UAC (User Account Control) elevation prompt when it appears.<\/p>\n\n\n\n<p>Before the main user interface is displayed you\u2019ll also need to accept the License Agreement.<\/p>\n\n\n\n<p>After accepting the License Agreement, the main interface will load.<\/p>\n\n\n\n<figure class=\"wp-block-image\" id=\"attachment_2316\"><a href=\"https:\/\/jonathancrozier.com\/wp-content\/uploads\/2020\/12\/iis-crypto-schannel.png\"><img decoding=\"async\" src=\"https:\/\/jonathancrozier.com\/wp-content\/uploads\/2020\/12\/iis-crypto-schannel-1024x787.png\" alt=\"IIS Crypto GUI\" class=\"wp-image-2316\"\/><\/a><figcaption>IIS Crypto GUI<\/figcaption><\/figure>\n\n\n\n<p>Now we can look at the basic usage of the tool and see how it can help us make our web servers more secure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Applying best practices<\/h2>\n\n\n\n<p>IIS Crypto allows many aspects of your web server security to be configured.<\/p>\n\n\n\n<p>The \u2018SChannel\u2019 page of the user interface is the default section that appears whenever the tool is launched. Initially, all of the checkboxes will be grey, indicating that a specific value has not been specified. Therefore, the default operating system settings will be used.<\/p>\n\n\n\n<p>The tool comes with a convenient \u2018Best Practices\u2019 button, which I have pressed in the previous screenshot.<\/p>\n\n\n\n<p><em>Note that setting the best practices also updates the list of ciphers that are enabled within the \u2018Cipher Suites\u2019 section of the user interface.<\/em><\/p>\n\n\n\n<p>After pressing the Best Practices button you will need to press the \u2018Apply\u2019 button to save the changes.<\/p>\n\n\n\n<p><strong>Consider backing up the Windows Registry before proceeding, just in case you need to revert the changes.<\/strong><\/p>\n\n\n\n<p>Go ahead and apply the changes when you are ready and you will then receive a confirmation message.<\/p>\n\n\n\n<p>You can, of course, individually select the protocols and other options which you wish to enable or disable. However, the best practices are a great starting point, disabling insecure protocols such as SSL 3.0 which are subject to the&nbsp;<a href=\"https:\/\/blog.qualys.com\/product-tech\/2014\/10\/15\/ssl-3-is-dead-killed-by-the-poodle-attack\" target=\"_blank\" rel=\"noreferrer noopener\">POODLE attack<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Advanced options<\/h2>\n\n\n\n<p>We can take things further by exploring some of the additional settings which are exposed by the IIS Crypto user interface.<\/p>\n\n\n\n<p>The \u2018Advanced\u2019 section of the interface allows the DHE (Diffie-Hellman Hardening) Minimum Key Length to be set. When you set best practices the minimum length is set to 2048 bytes.<\/p>\n\n\n\n<p>There are some other useful options such as the \u2018Only Use FIPS Algorithms\u2019 checkbox which can help you to ensure that only Federal Information Processing Standard compliant cryptography is used.<\/p>\n\n\n\n<p>Additionally, there is a convenient option to back up the Registry. It is a really good idea to back up the Registry before applying any changes using IIS Crypto, as underneath the tool makes many Registry changes which you would otherwise have to make manually.<\/p>\n\n\n\n<p>Lastly, the \u2018Templates\u2019 section of the interface provides the ability to apply even stricter security configurations where required, at the risk of breaking existing applications.<\/p>\n\n\n\n<p><em>Note that it is essential to test any web application you are running via IIS thoroughly after making any security configuration changes with IIS Crypto.<\/em><\/p>\n\n\n\n<p>As an example, the \u2018PCI 3.2\u2019 and the \u2018Strict\u2019 templates apply much stricter settings, disabling the TLS 1.0 and TLS 1.1 protocols. These stricter configurations can help you meet compliance requirements, without necessarily needing to understand the nuances of every individual security setting.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Testing the changes<\/h2>\n\n\n\n<p>Now that the security updates have been applied we can test how much more secure our web server configuration is.<\/p>\n\n\n\n<p>The \u2018Site Scanner\u2019 section of the IIS Crypto user interface provides a convenient way of generating a server security report. Simply enter the URL of your website into the \u2018Url\u2019 field and press the \u2018Scan\u2019 button to launch the&nbsp;<a href=\"https:\/\/www.ssllabs.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">SSL Labs website<\/a>.<\/p>\n\n\n\n<p>The SSL Labs report will grade your website according to the security protocols which are enabled.<\/p>\n\n\n\n<figure class=\"wp-block-image\" id=\"attachment_2329\"><a href=\"https:\/\/jonathancrozier.com\/wp-content\/uploads\/2020\/12\/iis-crypto-ssl-labs-report.png\"><img decoding=\"async\" src=\"https:\/\/jonathancrozier.com\/wp-content\/uploads\/2020\/12\/iis-crypto-ssl-labs-report-1024x566.png\" alt=\"SSL Labs report\" class=\"wp-image-2329\"\/><\/a><figcaption>SSL Labs report<\/figcaption><\/figure>\n\n\n\n<p>All being well, you should get an&nbsp;<strong>A<\/strong>&nbsp;if your web server security configuration is good.<\/p>\n\n\n\n<p>Additionally, you can click on the blue link\/links to get a detailed report of many different security aspects of your website along with the full test results.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p>IIS Crypto is a great tool that allows us to get some quick wins in regards to web server security.<\/p>\n\n\n\n<p>The IIS Crypto user interface greatly simplifies the process of applying security best practices.<\/p>\n\n\n\n<p>Once you know the tool exists, you\u2019ll find that it will come in handy any time you are setting up an IIS web server.<\/p>\n\n\n\n<p>As the next step, I recommend that you read up on the various aspects of web server security which the IIS Crypto tool allows you to configure.<\/p>\n\n\n\n<p>This includes the following topics.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.cloudflare.com\/en-gb\/learning\/ssl\/transport-layer-security-tls\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Server Protocols<\/strong><\/a><\/li><li><a href=\"https:\/\/www.venafi.com\/blog\/what-are-cipher-suites\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Ciphers<\/strong><\/a><\/li><li><a href=\"https:\/\/www.sentinelone.com\/blog\/what-is-hash-how-does-it-work\/#:~:text=Hashes%20are%20the%20output%20of,of%20data%20or%20%E2%80%9Cmessage%E2%80%9D.\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Hashes<\/strong><\/a><\/li><li><a href=\"https:\/\/www.jscape.com\/blog\/key-exchange\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Key Exchanges<\/strong><\/a><\/li><li><a href=\"https:\/\/www.cloudflare.com\/en-gb\/learning\/ssl\/transport-layer-security-tls\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Client Protocols<\/strong><\/a><\/li><\/ul>\n\n\n\n<p>After reading up on all of the above you should feel much more confident regarding your web server security configuration and can fine-tune the settings further as needed in the future.<\/p>\n\n\n\n<p>Ref: <a href=\"https:\/\/jonathancrozier.com\/blog\/hardening-your-iis-web-server-configuration-with-iis-crypto\">Hardening your IIS web server configuration with IIS Crypto &#8211; Jonathan Crozier<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>When setting up a web server it can be difficult to know what security measures need to be put in place. There are lots of things to think about such as which permissions to apply, which ports to open and which security protocols to enable. Luckily, if you are using IIS, there is a tool <a class=\"read-more\" href=\"https:\/\/SUMMALAI.COM\/?p=4837\">Read More<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[10,15],"tags":[1651,1650,1652],"class_list":["post-4837","post","type-post","status-publish","format-standard","hentry","category-microsoft","category-windows-servers","tag-harden-iis-web-server-with-iis-crypto","tag-harden-your-iis-web-server-with-iis-crypto","tag-iis-crypto"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=\/wp\/v2\/posts\/4837","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4837"}],"version-history":[{"count":1,"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=\/wp\/v2\/posts\/4837\/revisions"}],"predecessor-version":[{"id":4838,"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=\/wp\/v2\/posts\/4837\/revisions\/4838"}],"wp:attachment":[{"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4837"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}