<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>waf Archives - Apostolidis Cloud Corner</title>
	<atom:link href="https://www.cloudcorner.gr/tag/waf/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.cloudcorner.gr/tag/waf/</link>
	<description>Remarks from a Cloud Architect encounters</description>
	<lastBuildDate>Thu, 29 Oct 2020 09:37:39 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://www.cloudcorner.gr/wp-content/uploads/2021/04/cropped-cloudcorner2-32x32.png</url>
	<title>waf Archives - Apostolidis Cloud Corner</title>
	<link>https://www.cloudcorner.gr/tag/waf/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Azure Application Gateway &#124; WAF Policy per Listener</title>
		<link>https://www.cloudcorner.gr/microsoft/azure/azure-application-gateway-waf-policy/</link>
					<comments>https://www.cloudcorner.gr/microsoft/azure/azure-application-gateway-waf-policy/#comments</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Fri, 25 Sep 2020 05:22:48 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[application gateway]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azurerm]]></category>
		<category><![CDATA[waf]]></category>
		<category><![CDATA[web app]]></category>
		<category><![CDATA[web application]]></category>
		<category><![CDATA[web application firewall]]></category>
		<guid isPermaLink="false">https://www.e-apostolidis.gr/?p=3630</guid>

					<description><![CDATA[<p>Pantelis ApostolidisPantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/azure-application-gateway-waf-policy/">Azure Application Gateway | WAF Policy per Listener</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1>Azure Application Gateway | WAF Policy per Listener</h1>
<p>With Azure Application Gateway v2 coming, a lot of new features have been added. Much faster deployment and change times, auto-scaling and the ability to assign different Web Application Firewall (WAF) policies per Application Gateway&#8217;s listener. This feature provides more control over each listener and also can limit the number of different Application Gateways you need to deploy. </p>
<p>With a custom WAF policy we can <strong>control the firewall per listener (URL)</strong> with:</p>
<ul>
<li>Firewall mode, Prevention &#8211; Detection</li>
<li>Request body properties</li>
<li>WAF rule set category &amp; version</li>
<li>Custom Rules with If / Then conditions
<ul>
<li>Match IP address, Number, String, Geo location</li>
<li>Allow / Deny Traffic</li>
</ul>
</li>
</ul>
<h2>This post scenario</h2>
<p>We have on Azure Application Gateway with two Listeners (listens to two different URLs at its Public IP). The two listeners are forwarding the traffic to two different Web Apps, as shown at the below image.</p>
<p>My request is to allow all traffic to the first URL but allow traffic only from a specific IP to the second URL.</p>
<p>For the demo, I assume that you already have an Azure Application Gateway v2 in place and you have published two back ends (web apps, VMs, custom IP) and your web sites / apps are healthy and you can browse them behind the Application Gateway. </p>
<p><img fetchpriority="high" decoding="async" width="1883" height="194" class="alignnone wp-image-3644 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-10.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-10.png 1883w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-10-300x31.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-10-1024x105.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-10-768x79.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-10-1536x158.png 1536w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-10-1320x136.png 1320w" sizes="(max-width: 1883px) 100vw, 1883px" /></p>
<p>Since I am using the default azurewebsites.net domain, I added two hosts at my workstation&#8217;s host file, in order to route the traffic to the Application Gateway&#8217;s IP and not directly to the Web Apps. </p>
<p><img decoding="async" width="734" height="132" class="alignnone wp-image-3643 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-9.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-9.png 734w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-9-300x54.png 300w" sizes="(max-width: 734px) 100vw, 734px" /></p>
<p>I can browse both Web Apps, through the Application Gateway, from my browser. I am using http and not https for the demo since I am using the default domain and I cannot add a custom certificate.</p>



<p><img decoding="async" width="1023" height="266" class="alignnone wp-image-3640 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-7.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-7.png 1023w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-7-300x78.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-7-768x200.png 768w" sizes="(max-width: 1023px) 100vw, 1023px" /></p>
<p><img loading="lazy" decoding="async" width="1030" height="210" class="alignnone wp-image-3642 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-8.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-8.png 1030w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-8-300x61.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-8-1024x209.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-8-768x157.png 768w" sizes="auto, (max-width: 1030px) 100vw, 1030px" /></p>
<p>We need to create two Web Application Firewall policies (WAF). One for each listener. To create  a WAF policy, search the Azure Portal for waf and click the &#8220;Web Application Firewall policies (WAF)&#8221;.</p>
<p><img loading="lazy" decoding="async" width="778" height="243" class="alignnone wp-image-3633 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted.png 778w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-300x94.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-768x240.png 768w" sizes="auto, (max-width: 778px) 100vw, 778px" /></p>
<p>At the &#8220;Web Application Firewall policies (WAF)&#8221; page click +Add</p>
<p><img loading="lazy" decoding="async" width="866" height="329" class="alignnone wp-image-3634 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-1.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-1.png 866w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-1-300x114.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-1-768x292.png 768w" sizes="auto, (max-width: 866px) 100vw, 866px" /></p>
<p>At the Project details select &#8220;Regional WAF (Application Gateway)&#8221;. </p>
<p><img loading="lazy" decoding="async" width="1084" height="261" class="alignnone wp-image-3635 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-2.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-2.png 1084w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-2-300x72.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-2-1024x247.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-2-768x185.png 768w" sizes="auto, (max-width: 1084px) 100vw, 1084px" /></p>
<p>Select the Subscription that your Application Gateway resides, select Resource Group, add a name for the Policy and the same region as your Application Gateway. The policy must set to Enabled to apply. I named the policy URLNumber02 to start creating the policy for the second URL that I want the custom rule.</p>
<p><img loading="lazy" decoding="async" width="1387" height="686" class="alignnone wp-image-3638 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-5.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-5.png 1387w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-5-300x148.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-5-1024x506.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-5-768x380.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-5-1320x653.png 1320w" sizes="auto, (max-width: 1387px) 100vw, 1387px" /></p>
<p>At the Policy Settings change the setting to Prevention from Detection and go to the Custom rules and Add custom rule</p>
<p><img loading="lazy" decoding="async" width="733" height="533" class="alignnone wp-image-3637 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-4.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-4.png 733w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-4-300x218.png 300w" sizes="auto, (max-width: 733px) 100vw, 733px" /></p>
<p>I named the rule &#8220;AllowOnlyOneIP&#8221;, since I want to allow only one IP to access the second URL (listener) of the gateway. Give a priority, I added 1 as it is the only one. At the conditions select:</p>
<ul>
<li>March Type: IP address</li>
<li>Operation: Does not contain</li>
<li>IP address or range: add the only IP that you want to allow access to the URL</li>
</ul>
<p>At the &#8220;Then&#8221; condition, select &#8220;Deny Traffic&#8221;</p>
<p><img loading="lazy" decoding="async" width="1011" height="1269" class="alignnone wp-image-3639 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-6.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-6.png 1011w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-6-239x300.png 239w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-6-816x1024.png 816w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-6-768x964.png 768w" sizes="auto, (max-width: 1011px) 100vw, 1011px" /></p>
<p>This rule will allow traffic only of the IP is the IP address that we added to the condition. For all other IPs access will be denied.</p>
<p>Now that we created the policy, we need to assign it to the listener. At the next step of the WAF policy wizard we need to select the Application Gateway and the Listener.</p>
<p><img loading="lazy" decoding="async" width="914" height="896" class="alignnone wp-image-3645 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-11.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-11.png 914w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-11-300x294.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-11-768x753.png 768w" sizes="auto, (max-width: 914px) 100vw, 914px" /></p>
<p>First click the &#8220;Associate an application gateway&#8221; and select the Application Gateway. Remember that this policy will need to overwrite the default Application Gateway&#8217;s WAF policy. So before proceeding migrate your current WAF settings and customizations to the new WAF policy.</p>
<p><img loading="lazy" decoding="async" width="727" height="334" class="alignnone wp-image-3648 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-14.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-14.png 727w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-14-300x138.png 300w" sizes="auto, (max-width: 727px) 100vw, 727px" /></p>
<p>After you select the Application Gateway, associate the listener. I associate the &#8220;mylistener02&#8221; that is my second URL, with this policy.</p>
<p><img loading="lazy" decoding="async" width="763" height="473" class="alignnone wp-image-3647 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-13.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-13.png 763w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-13-300x186.png 300w" sizes="auto, (max-width: 763px) 100vw, 763px" /></p>
<p>After saving the policy, go to the Application gateway and check the &#8220;Web Application Firewall&#8221; settings. There you will see that all settings disappeared and you can only see that the gateway is associated with a WAF policy. We see that it is Associated to the URLNumber2 polily.</p>
<p><img loading="lazy" decoding="async" width="957" height="396" class="alignnone wp-image-3649 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-15.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-15.png 957w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-15-300x124.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-15-768x318.png 768w" sizes="auto, (max-width: 957px) 100vw, 957px" /></p>
<p>You need to create one more WAF rule for URL 01 for the correct functionality. Once you create a WAF policy and associate it to the other listener of the Application gateway, you will see that at the &#8220;Web application firewall&#8221; is associated to the new policy. Actually the Application gateway is associated to both WAF policies, one at each listener. You just cannot see this at the Azure Portal. </p>
<p><img loading="lazy" decoding="async" width="1060" height="428" class="alignnone wp-image-3650 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-16.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-16.png 1060w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-16-300x121.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-16-1024x413.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-16-768x310.png 768w" sizes="auto, (max-width: 1060px) 100vw, 1060px" /></p>
<p>We can see the WAF rules that are associated to the Application Gateway&#8217;s Listeners using the PowerShell. Running the &#8220;Get-AzApplicationGateway -Name AppGw01 -ResourceGroupName AppGw01&#8221; command you can see that the &#8220;URLNumber01&#8221; WAF policy is associated to the &#8220;mylistener&#8221; and the &#8220;URLNumber2&#8221; is associated to the &#8220;mylistener02&#8221;.</p>
<p><img loading="lazy" decoding="async" width="1741" height="1254" class="alignnone wp-image-3656 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-19.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-19.png 1741w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-19-300x216.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-19-1024x738.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-19-768x553.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-19-1536x1106.png 1536w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-19-1320x951.png 1320w" sizes="auto, (max-width: 1741px) 100vw, 1741px" /></p>
<p>To test the policies, I tried to access both URLs from a computer that don&#8217;t have the Public IP that I added tot he policy and I can access the URL 1 app but I cannot access the URL 2 app. From the computer that has the Public IP we added at the rule, I can browse both sites. </p>
<p><img loading="lazy" decoding="async" width="812" height="204" class="alignnone wp-image-3651 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-17.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-17.png 812w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-17-300x75.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-17-768x193.png 768w" sizes="auto, (max-width: 812px) 100vw, 812px" /></p>
<p><img loading="lazy" decoding="async" width="784" height="342" class="alignnone wp-image-3652 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-18.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-18.png 784w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-18-300x131.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-18-768x335.png 768w" sizes="auto, (max-width: 784px) 100vw, 784px" /></p>
<p>The WAF rules can be edited at the Web Application Firewall policies (WAF) blade and all settings will apply to the corresponding listener.</p>
<p><img loading="lazy" decoding="async" width="1022" height="560" class="alignnone wp-image-3657 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/09/Pasted-20.png" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-20.png 1022w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-20-300x164.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-20-768x421.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2020/09/Pasted-20-600x330.png 600w" sizes="auto, (max-width: 1022px) 100vw, 1022px" /></p>
<p>&nbsp;</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div></div><div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:&#112;r&#111;x&#105;&#109;&#097;g&#114;&#064;&#104;&#111;tm&#097;il.&#099;&#111;&#109;" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div></div></div><p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fazure-application-gateway-waf-policy%2F&amp;linkname=Azure%20Application%20Gateway%20%7C%20WAF%20Policy%20per%20Listener" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fazure-application-gateway-waf-policy%2F&amp;linkname=Azure%20Application%20Gateway%20%7C%20WAF%20Policy%20per%20Listener" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fazure-application-gateway-waf-policy%2F&#038;title=Azure%20Application%20Gateway%20%7C%20WAF%20Policy%20per%20Listener" data-a2a-url="https://www.cloudcorner.gr/microsoft/azure/azure-application-gateway-waf-policy/" data-a2a-title="Azure Application Gateway | WAF Policy per Listener"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/azure-application-gateway-waf-policy/">Azure Application Gateway | WAF Policy per Listener</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/azure/azure-application-gateway-waf-policy/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Greek MVPs in Action &#124; Accelerate your web applications with Azure Front Door</title>
		<link>https://www.cloudcorner.gr/speaking/greek-mvps-in-action-accelerate-your-web-applications-with-azure-front-door/</link>
					<comments>https://www.cloudcorner.gr/speaking/greek-mvps-in-action-accelerate-your-web-applications-with-azure-front-door/#respond</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Sun, 29 Mar 2020 18:29:33 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[azure front door]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[waf]]></category>
		<guid isPermaLink="false">https://www.e-apostolidis.gr/?p=3341</guid>

					<description><![CDATA[<p>Greek MVPs in Action &#124; Accelerate your web applications with Azure Front Door Thank you all who attented my presentation</p>
<p>The post <a href="https://www.cloudcorner.gr/speaking/greek-mvps-in-action-accelerate-your-web-applications-with-azure-front-door/">Greek MVPs in Action | Accelerate your web applications with Azure Front Door</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Greek MVPs in Action | Accelerate your web applications with Azure Front Door</h1>
<p>Thank you all who attented my presentation at Sunday&#8217;s 29/3/2020 virtual Greek MVPs in Actions event.</p>
<p>My presentation was about the Azure Front Door Service and how you can use it to accelerate and protect your web applications.</p>
<p id="UvVgUtF"><a href="https://1drv.ms/u/s!AvpafHi49lqjgociOk6F7ydN3qQVAQ?e=T4BECF"><img loading="lazy" decoding="async" width="1228" height="684" class="alignnone size-full wp-image-3343 " src="https://www.e-apostolidis.gr/wp-content/uploads/2020/03/img_5e80e8978d7e7.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/03/img_5e80e8978d7e7.png 1228w, https://www.cloudcorner.gr/wp-content/uploads/2020/03/img_5e80e8978d7e7-300x167.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/03/img_5e80e8978d7e7-1024x570.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/03/img_5e80e8978d7e7-768x428.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2020/03/img_5e80e8978d7e7-360x200.png 360w" sizes="auto, (max-width: 1228px) 100vw, 1228px" /></a></p>
<p><a href="https://1drv.ms/p/s!AvpafHi49lqjgocoZI5tKQx8HiGNfg?e=VcqU49">You can view my presentation here</a></p>
<p>And you can see my video at my <a href="https://youtu.be/n6kFJoaEvpk">Youtube channel</a></p>
<p><iframe loading="lazy" title="Accelerate your web applications with Azure Front Door" width="840" height="473" src="https://www.youtube.com/embed/n6kFJoaEvpk?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author">
<div class="saboxplugin-tab">
<div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div>
<div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div>
<div class="saboxplugin-desc">
<div itemprop="description">
<p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div>
</div>
<div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div>
<div class="clearfix"></div>
<div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:p&#114;ox&#105;&#109;ag&#114;&#064;h&#111;t&#109;ai&#108;.&#099;om" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div>
</div>
</div>
<p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fspeaking%2Fgreek-mvps-in-action-accelerate-your-web-applications-with-azure-front-door%2F&amp;linkname=Greek%20MVPs%20in%20Action%20%7C%20Accelerate%20your%20web%20applications%20with%20Azure%20Front%20Door" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fspeaking%2Fgreek-mvps-in-action-accelerate-your-web-applications-with-azure-front-door%2F&amp;linkname=Greek%20MVPs%20in%20Action%20%7C%20Accelerate%20your%20web%20applications%20with%20Azure%20Front%20Door" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fspeaking%2Fgreek-mvps-in-action-accelerate-your-web-applications-with-azure-front-door%2F&#038;title=Greek%20MVPs%20in%20Action%20%7C%20Accelerate%20your%20web%20applications%20with%20Azure%20Front%20Door" data-a2a-url="https://www.cloudcorner.gr/speaking/greek-mvps-in-action-accelerate-your-web-applications-with-azure-front-door/" data-a2a-title="Greek MVPs in Action | Accelerate your web applications with Azure Front Door"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/speaking/greek-mvps-in-action-accelerate-your-web-applications-with-azure-front-door/">Greek MVPs in Action | Accelerate your web applications with Azure Front Door</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/speaking/greek-mvps-in-action-accelerate-your-web-applications-with-azure-front-door/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Use Web Application Firewall (WAF) Rules with the Front Door to protect your app</title>
		<link>https://www.cloudcorner.gr/microsoft/azure/use-web-application-firewall-waf-rules-with-the-front-door-to-protect-your-app/</link>
					<comments>https://www.cloudcorner.gr/microsoft/azure/use-web-application-firewall-waf-rules-with-the-front-door-to-protect-your-app/#comments</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Wed, 27 Nov 2019 12:00:00 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azure front door]]></category>
		<category><![CDATA[azurerm]]></category>
		<category><![CDATA[front door]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[waf]]></category>
		<category><![CDATA[web application firewall]]></category>
		<guid isPermaLink="false">https://www.e-apostolidis.gr/?p=2954</guid>

					<description><![CDATA[<p>Create the WAF Rule From the Azure Marketplace search for WAF and create a Web Application Firewall WAF Custom Rule</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/use-web-application-firewall-waf-rules-with-the-front-door-to-protect-your-app/">Use Web Application Firewall (WAF) Rules with the Front Door to protect your app</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>At the previous <a href="https://www.e-apostolidis.gr/microsoft/securely-scale-your-web-apps-with-azure-front-door/">post</a> we created an Azure Front Door to scale our web apps across Azure Regions and also publish them only through the Front Door&#8217;s URL. At this post we will create Web Application Firewall (WAF) rules, to protect our web apps. To add WAF functionality to the Front Door we need first to create WAF rules and then attach them to the Front Door</p>



<h2 class="wp-block-heading"> Create the WAF Rule </h2>



<p> From the Azure Marketplace search for WAF and create a Web Application Firewall </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="703" height="294" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/11/image.png" alt="" class="wp-image-2955" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/11/image.png 703w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-300x125.png 300w" sizes="auto, (max-width: 703px) 100vw, 703px" /></figure>



<p>At the &#8220;Create a WAF policy&#8221; wizard select &#8220;Global WAF (Front Door) for policy, provide the subscription and resource group, give a name for the policy and select if you want it to be created enabled or disabled.</p>
<p>&nbsp;</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="849" height="748" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/11/image-1.png" alt="" class="wp-image-2956" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-1.png 849w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-1-300x264.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-1-768x677.png 768w" sizes="auto, (max-width: 849px) 100vw, 849px" /></figure>



<p>At the next step select if the policy will prevent the action or just detect and report it. You can change this later too. You can provide a Redirect URL for rules that support redirection. The default status code is 403 but we can change it to e.g. 404. We can also add a custom response body.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="833" height="443" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/11/image-2.png" alt="" class="wp-image-2957" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-2.png 833w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-2-300x160.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-2-768x408.png 768w" sizes="auto, (max-width: 833px) 100vw, 833px" /></figure>



<p>The next step is the rule. We can select one or more predefined rule sets and then customize at will.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="571" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/11/image-3-1024x571.png" alt="" class="wp-image-2958" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-3-1024x571.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-3-300x167.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-3-768x428.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-3-360x200.png 360w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-3.png 1261w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>To customize, expand the rule set and select a rule. You can enable / disable the rule and you can change the action to Allow, Block, Lod or Redirect.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="276" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/11/image-4-1024x276.png" alt="" class="wp-image-2959" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-4-1024x276.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-4-300x81.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-4-768x207.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-4.png 1257w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">WAF Custom Rule</h2>



<p>The next step is the custom rules. There&#8217;s a lot to customise here. First are the rule type settings. Select status of the rule, enabled or disabled. Select the Rule type between Match and Rate limit. If you select rate limit you will be prompt to set rate limit and threshold. The final rule tupe setting is to set the priority of the rule.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2963 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/11/rules.gif" alt="" width="588" height="356"></p>
<p>Next is the Conditions (If this) and the action (then that).<br>The condition can be Geolocation, IP address, Size or String. After selecting the Match Type the rest options are altered accordingly.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2965" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/11/conditions.gif" alt="" width="577" height="357"></p>
<p>The action can be Allow traffic, Deny traffic, Log traffic only or Redirect traffic</p>
<p>&nbsp;</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="594" height="201" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/11/image-6.png" alt="" class="wp-image-2966" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-6.png 594w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-6-300x102.png 300w" sizes="auto, (max-width: 594px) 100vw, 594px" /></figure>



<p>For the demo I created a rule that will Deny all traffic from The Netherlands, because I can test it from an Azure VM located at the West Europe Region.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="612" height="741" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/11/image-7.png" alt="" class="wp-image-2967" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-7.png 612w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-7-248x300.png 248w" sizes="auto, (max-width: 612px) 100vw, 612px" /></figure>



<p>The next step is to associate the rule to the Front Door. After that assign Tags if needed and create the rule.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="828" height="426" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/11/image-8.png" alt="" class="wp-image-2968" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-8.png 828w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-8-300x154.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-8-768x395.png 768w" sizes="auto, (max-width: 828px) 100vw, 828px" /></figure>



<p>Once the Rule is ready, a &#8220;Front Door WAF policy&#8221; resource will be at the selected Resource Group. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="866" height="312" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/11/image-9.png" alt="" class="wp-image-2970" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-9.png 866w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-9-300x108.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-9-768x277.png 768w" sizes="auto, (max-width: 866px) 100vw, 866px" /></figure>



<p>Inside the Front Door, at the Web application firewall section, you can review the assigned rules.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="834" height="485" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/11/image-10.png" alt="" class="wp-image-2971" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-10.png 834w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-10-300x174.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-10-768x447.png 768w" sizes="auto, (max-width: 834px) 100vw, 834px" /></figure>



<p>The below diagram shows the current setup. The user cannot access the Azure Web Apps directly, only through the Front Door and the requests are filtered by WAF rules.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="672" height="556" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/03/image.png" alt="" class="wp-image-3319" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/03/image.png 672w, https://www.cloudcorner.gr/wp-content/uploads/2020/03/image-300x248.png 300w" sizes="auto, (max-width: 672px) 100vw, 672px" /></figure>





<h2 class="wp-block-heading">Test 1</h2>



<p>From an Azure VM at West Europe Region, I tried to access the Front Door&#8217;s URL and we can see my custom 403 body text! </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="600" height="641" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/11/image-11.png" alt="" class="wp-image-2976" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-11.png 600w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-11-281x300.png 281w" sizes="auto, (max-width: 600px) 100vw, 600px" /></figure>



<h2 class="wp-block-heading">Test 2</h2>



<p>From my Computer I tested a typical SQL Injection attack from  <a href="https://www.owasp.org/index.php/Testing_for_SQL_Injection_(OTG-INPVAL-005)">https://www.owasp.org/index.php/Testing_for_SQL_Injection_(OTG-INPVAL-005)</a> . Again my custom 403 page!</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="323" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/11/image-13-1024x323.png" alt="" class="wp-image-2978" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-13-1024x323.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-13-300x95.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-13-768x242.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2019/11/image-13.png 1203w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>


<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div></div><div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:pr&#111;&#120;imag&#114;&#064;&#104;&#111;&#116;&#109;a&#105;&#108;.&#099;om" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div></div></div><p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fuse-web-application-firewall-waf-rules-with-the-front-door-to-protect-your-app%2F&amp;linkname=Use%20Web%20Application%20Firewall%20%28WAF%29%20Rules%20with%20the%20Front%20Door%20to%20protect%20your%20app" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fuse-web-application-firewall-waf-rules-with-the-front-door-to-protect-your-app%2F&amp;linkname=Use%20Web%20Application%20Firewall%20%28WAF%29%20Rules%20with%20the%20Front%20Door%20to%20protect%20your%20app" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fuse-web-application-firewall-waf-rules-with-the-front-door-to-protect-your-app%2F&#038;title=Use%20Web%20Application%20Firewall%20%28WAF%29%20Rules%20with%20the%20Front%20Door%20to%20protect%20your%20app" data-a2a-url="https://www.cloudcorner.gr/microsoft/azure/use-web-application-firewall-waf-rules-with-the-front-door-to-protect-your-app/" data-a2a-title="Use Web Application Firewall (WAF) Rules with the Front Door to protect your app"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/use-web-application-firewall-waf-rules-with-the-front-door-to-protect-your-app/">Use Web Application Firewall (WAF) Rules with the Front Door to protect your app</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/azure/use-web-application-firewall-waf-rules-with-the-front-door-to-protect-your-app/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Configure The Azure Web Application Firewall</title>
		<link>https://www.cloudcorner.gr/microsoft/configure-the-azure-web-application-firewall/</link>
					<comments>https://www.cloudcorner.gr/microsoft/configure-the-azure-web-application-firewall/#respond</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Wed, 30 Jan 2019 14:00:03 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[application gateway]]></category>
		<category><![CDATA[application publishing]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azurerm]]></category>
		<category><![CDATA[waf]]></category>
		<category><![CDATA[web app]]></category>
		<category><![CDATA[web application]]></category>
		<category><![CDATA[web application firewall]]></category>
		<guid isPermaLink="false">https://www.e-apostolidis.gr/?p=2389</guid>

					<description><![CDATA[<p>Azure Web Application Firewall (WAF) is a function of the Azure Application Gateway that detects and prevents exploits and attacks</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/configure-the-azure-web-application-firewall/">Configure The Azure Web Application Firewall</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Azure Web Application Firewall (WAF) is a function of the Azure Application Gateway that detects and prevents exploits and attacks to a web application. Using a WAF we add an additional security layer in front of our application. To have a sneak peak at the most common web application attacks, take a look at the <a href="https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project">OWASP Top 10 Most Critical Web Application Security Risks</a> . </p>



<p>At my previous posts we have seen how to <a href="https://www.e-apostolidis.gr/microsoft/azure/protect-your-web-application-with-azure-application-gateway-waf/">Protect your Web App using Azure Application Gateway Web Application Firewall</a> and <a href="https://www.e-apostolidis.gr/microsoft/azure/serverless-computing-email-report-azure-waf-logs/">Use Log Analytics to Query the WAF Logs and email those logs to the Admins</a>.  At this post I want to share some tips on how to configure the Azure Web Application Firewall. </p>



<p>The Azure Web Application Firewall, like all WAFs, needs a period of detection &#8220;the training period&#8221;, in order to gather logs about what is logged as blocked so to configure it accordingly before turning the WAF to Prevention mode. The Azure Web Application Firewall uses <a href="https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project">OWASP ModSecurity Core Rule Set (CRS)</a>. You can select version 2.2.9 or version 3.0 of the OWASP ModSecurity Core Rule Set. These rules include protection against attacks such as SQL injection, cross-site scripting attacks, and session hijacks.</p>



<p>The configuration of the Azure Web Application Firewall has two parts. One part is the OWASP rules custom configuration, where we can check / uncheck the OWASP rules that the WAF will use to analyse the requests:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="742" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/01/image-2-1024x742.png" alt="WAF" class="wp-image-2395" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-2-1024x742.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-2-300x217.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-2-768x556.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-2-600x435.png 600w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-2.png 1147w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>and the second part is the Exclusions and the Request Size Limits:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="545" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/01/image-3-1024x545.png" alt="WAF" class="wp-image-2396" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-3-1024x545.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-3-300x160.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-3-768x409.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-3-600x319.png 600w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-3.png 1314w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Let&#8217;s see how we can find out what to exclude and what to customize. Once you setup the Azure Application Gateway and Publish your web application turn of the Firewall in Detection mode. Enable the Diagnostic Logs and send the logs to Log Analytics and start using the we application. I have covered all those steps at my previous posts, <a href="https://www.e-apostolidis.gr/microsoft/azure/protect-your-web-application-with-azure-application-gateway-waf/">Protect your Web App using Azure Application Gateway Web Application Firewall</a> and <a href="https://www.e-apostolidis.gr/microsoft/azure/serverless-computing-email-report-azure-waf-logs/">Use Log Analytics to Query the WAF Logs and email those logs to the Admins</a>. To make it more fun you can actually attack your application using sample attacks, like SQL Injection samples from this link: <a href="https://www.owasp.org/index.php/Testing_for_SQL_Injection_(OTG-INPVAL-005)">https://www.owasp.org/index.php/Testing_for_SQL_Injection_(OTG-INPVAL-005)</a> and Cross-site Scripting (XSS) from this link: <a href="https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)">https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)</a> . Both links are from OWASP for testing.</p>



<p>After a while run the query to check the Azure Web Application Firewall logs:</p>



<pre class="wp-block-verse">AzureDiagnostics | where Resource == "PROWAF" and OperationName == "ApplicationGatewayFirewall" | where TimeGenerated &gt; ago(24h) | summarize count() by TimeGenerated, clientIp_s , TimeGenerated , ruleId_s , Message , details_message_s , requestUri_s, details_file_s , hostname_s</pre>



<p>You will get the below results:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="259" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/01/image-8-1024x259.png" alt="" class="wp-image-2406" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-8-1024x259.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-8-300x76.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-8-768x195.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-8-600x152.png 600w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-8.png 1634w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="675" height="239" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/01/image-10.png" alt="" class="wp-image-2409" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-10.png 675w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-10-300x106.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-10-600x212.png 600w" sizes="auto, (max-width: 675px) 100vw, 675px" /></figure>



<p>At the Message part of the Log you will see the kind of attack that the WAF has detected.</p>



<p>At the ruleId_s you can find the OWASP rule ID. With this information you can search the Rule ID at the Advanced rule configuration and uncheck the specific rule. Of course every rule you uncheck you open a security hole. So I recommend to first check if you can alter your application to comply with the rule and only if this is not possible to drop the rule. </p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="892" height="159" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/01/image-11.png" alt="" class="wp-image-2410" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-11.png 892w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-11-300x53.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-11-768x137.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-11-600x107.png 600w" sizes="auto, (max-width: 892px) 100vw, 892px" /></figure>



<p> At the  details_message_s column also you can find the matched pattern and configure the Exclusions</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="182" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/01/image-5-1024x182.png" alt="WAF" class="wp-image-2400" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-5-1024x182.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-5-300x53.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-5-768x137.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-5-600x107.png 600w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-5.png 1056w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Finally you can configure the request size limits according to your application</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="674" height="151" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/01/image-6.png" alt="WAF" class="wp-image-2401" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-6.png 674w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-6-300x67.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-6-600x134.png 600w" sizes="auto, (max-width: 674px) 100vw, 674px" /></figure>



<p>Once you finalize your Azure Application Firewall configuration and you no longer have &#8220;Blocked&#8221; messages change it to &#8220;Prevention&#8221; mode to start protecting your web application.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="722" height="303" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/01/image-7.png" alt="WAF" class="wp-image-2402" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-7.png 722w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-7-300x126.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/01/image-7-600x252.png 600w" sizes="auto, (max-width: 722px) 100vw, 722px" /></figure>



<p>Reference:<br>WAF Overview: <a href="https://docs.microsoft.com/en-us/azure/application-gateway/waf-overview">https://docs.microsoft.com/en-us/azure/application-gateway/waf-overview</a><br>WAF Configuration: <a href="https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-waf-configuration">https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-waf-configuration</a><br>OWASP ModSecurity Core Rule Set (CRS): <a href="https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project">https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project</a></p>



<p></p>



<p></p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div></div><div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:&#112;&#114;&#111;&#120;im&#097;&#103;r&#064;&#104;ot&#109;a&#105;l.com" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div></div></div><p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fconfigure-the-azure-web-application-firewall%2F&amp;linkname=Configure%20The%20Azure%20Web%20Application%20Firewall" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fconfigure-the-azure-web-application-firewall%2F&amp;linkname=Configure%20The%20Azure%20Web%20Application%20Firewall" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fconfigure-the-azure-web-application-firewall%2F&#038;title=Configure%20The%20Azure%20Web%20Application%20Firewall" data-a2a-url="https://www.cloudcorner.gr/microsoft/configure-the-azure-web-application-firewall/" data-a2a-title="Configure The Azure Web Application Firewall"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/configure-the-azure-web-application-firewall/">Configure The Azure Web Application Firewall</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/configure-the-azure-web-application-firewall/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Serverless Computing &#124;  Email Report Azure WAF Logs</title>
		<link>https://www.cloudcorner.gr/microsoft/azure/serverless-computing-email-report-azure-waf-logs/</link>
					<comments>https://www.cloudcorner.gr/microsoft/azure/serverless-computing-email-report-azure-waf-logs/#respond</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Fri, 28 Dec 2018 13:50:55 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[application gateway]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azurerm]]></category>
		<category><![CDATA[log analytics]]></category>
		<category><![CDATA[report]]></category>
		<category><![CDATA[reports]]></category>
		<category><![CDATA[sendgrid]]></category>
		<category><![CDATA[serverless]]></category>
		<category><![CDATA[waf]]></category>
		<category><![CDATA[web application firewall]]></category>
		<guid isPermaLink="false">https://www.e-apostolidis.gr/?p=2349</guid>

					<description><![CDATA[<p>At this post, we will create a Logic App that will query the Log Analytics workspace for the WAF logs</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/serverless-computing-email-report-azure-waf-logs/">Serverless Computing |  Email Report Azure WAF Logs</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>At this post, we will create a Logic App that will query the Log Analytics workspace for the WAF logs of the last 24 hours and send the results in an email, using a free SendGrid account.</p>



<p>A Web Application Firewall protects your application from common web vulnerabilities. Azure provides enterprise grade Web Application Firewall through the Application Gateway. You can read more at my previous post: <a href="https://www.e-apostolidis.gr/microsoft/azure/protect-your-web-application-with-azure-application-gateway-waf/">https://www.e-apostolidis.gr/microsoft/azure/protect-your-web-application-with-azure-application-gateway-waf/</a> </p>



<h2 class="wp-block-heading">Use Log Analytics to Query the WAF Logs</h2>



<p>The Application Gateway WAF sends its logs to the Log Analytics workspace. You can see them using a typical query like the below, that will list all events at the past 24 hours.</p>


<p>AzureDiagnostics | where Resource == &#8220;PROWAF&#8221; and OperationName == &#8220;ApplicationGatewayFirewall&#8221; | where TimeGenerated > ago(24h) | summarize count() by TimeGenerated, clientIp_s , TimeGenerated , ruleId_s , Message , details_message_s , requestUri_s, details_file_s , hostname_s</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="439" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/12/image-23-1024x439.png" alt="waflogicappreports" class="wp-image-2367" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-23-1024x439.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-23-300x129.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-23-768x330.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-23-600x258.png 600w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-23.png 1398w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>You can save the query by clicking the Save button and give it a name and a Category.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="493" height="224" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/12/image-17.png" alt="waflogicappreports" class="wp-image-2360" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-17.png 493w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-17-300x136.png 300w" sizes="auto, (max-width: 493px) 100vw, 493px" /></figure>



<p>We can send those logs as email by using an Azure Logic App and a SendGrid account. You can see how to create a SendGrid free account at my previous post: <a href="https://www.e-apostolidis.gr/microsoft/azure/azure-free-smtp-relay-using-sendgrid/">https://www.e-apostolidis.gr/microsoft/azure/azure-free-smtp-relay-using-sendgrid/</a></p>



<h2 class="wp-block-heading">Create a Logic App</h2>



<p>From the portal.azure.com, Create a resource and write &#8220;logic app&#8221;, click the &#8220;Logic App&#8221;and press &#8220;Create&#8221;</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="511" height="304" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/12/image-10.png" alt="waflogicappreports" class="wp-image-2351" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-10.png 511w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-10-300x178.png 300w" sizes="auto, (max-width: 511px) 100vw, 511px" /><figcaption><br></figcaption></figure>



<p>At the Logic App creation wizard add Name, subscription, resource group, location and press Create</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="462" height="416" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/12/image-11.png" alt="waflogicappreports" class="wp-image-2352" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-11.png 462w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-11-300x270.png 300w" sizes="auto, (max-width: 462px) 100vw, 462px" /><figcaption><br></figcaption></figure>



<p>Next the Logic App will be created. Open it and from the Logics App Designer select the &#8220;Recurrence&#8221; common trigger.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="622" height="264" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/12/image-12.png" alt="waflogicappreports" class="wp-image-2354" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-12.png 622w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-12-300x127.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-12-600x255.png 600w" sizes="auto, (max-width: 622px) 100vw, 622px" /></figure>



<p>Change the Recurrence Interval to &#8220;1&#8221; and the Frequency to &#8220;Day&#8221; and press the &#8220;+ New step&#8221;</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="621" height="227" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/12/image-14.png" alt="waflogicappreports" class="wp-image-2357" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-14.png 621w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-14-300x110.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-14-600x219.png 600w" sizes="auto, (max-width: 621px) 100vw, 621px" /></figure>



<p>search for &#8220;log analytics&#8221; and select the &#8220;Run query and visualize results&#8221;</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="585" height="500" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/12/image-24.png" alt="waflogicappreports" class="wp-image-2368" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-24.png 585w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-24-300x256.png 300w" sizes="auto, (max-width: 585px) 100vw, 585px" /></figure>



<p>I will proceed with &#8220;Sign in&#8221;, you can also use a Service Principal but we will cover this to another post.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="627" height="264" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/12/image-16.png" alt="waflogicappreports" class="wp-image-2359" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-16.png 627w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-16-300x126.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-16-600x253.png 600w" sizes="auto, (max-width: 627px) 100vw, 627px" /></figure>



<p>After you login select the Subscription, Resource Group and the Log Analytics Workspace. Next, add the query, for Chart Type select &#8220;Html Table&#8221; and add a &#8220;Next Step&#8221;</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="602" height="335" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/12/image-26.png" alt="waflogicappreports" class="wp-image-2370" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-26.png 602w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-26-300x167.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-26-600x334.png 600w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-26-360x200.png 360w" sizes="auto, (max-width: 602px) 100vw, 602px" /></figure>



<p></p>



<p>search for &#8220;sendgrid&#8221; and select the &#8220;Send email (V2)&#8221;</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="581" height="577" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/12/image-19.png" alt="waflogicappreports" class="wp-image-2363" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-19.png 581w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-19-150x150.png 150w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-19-300x298.png 300w" sizes="auto, (max-width: 581px) 100vw, 581px" /></figure>



<p>Add a name for the connection and the API key that you created at the SendGrid creation post and press create.  <a href="https://www.e-apostolidis.gr/microsoft/azure/azure-free-smtp-relay-using-sendgrid/">https://www.e-apostolidis.gr/microsoft/azure/azure-free-smtp-relay-using-sendgrid/</a></p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="612" height="211" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/12/image-20.png" alt="waflogicappreports" class="wp-image-2364" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-20.png 612w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-20-300x103.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-20-600x207.png 600w" sizes="auto, (max-width: 612px) 100vw, 612px" /></figure>



<p>Fill the From address, To address and Subject. At the email body, add dynamic content and select the blocs of the previous set result.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="844" height="365" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/12/image-25.png" alt="waflogicappreports" class="wp-image-2369" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-25.png 844w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-25-300x130.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-25-768x332.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-25-600x259.png 600w" sizes="auto, (max-width: 844px) 100vw, 844px" /></figure>



<p>Press Save to save the Flow and Run to test it.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="525" height="119" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/12/image-22.png" alt="waflogicappreports" class="wp-image-2366" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-22.png 525w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-22-300x68.png 300w" sizes="auto, (max-width: 525px) 100vw, 525px" /></figure>



<p>The result at my email:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="885" height="348" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/12/image-27.png" alt="waflogicappreports" class="wp-image-2372" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-27.png 885w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-27-300x118.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-27-768x302.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2018/12/image-27-600x236.png 600w" sizes="auto, (max-width: 885px) 100vw, 885px" /></figure>



<p></p>



<p></p>



<p></p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div></div><div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:&#112;r&#111;&#120;&#105;m&#097;&#103;&#114;&#064;hotm&#097;&#105;l&#046;&#099;&#111;m" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div></div></div><p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fserverless-computing-email-report-azure-waf-logs%2F&amp;linkname=Serverless%20Computing%20%7C%20%20Email%20Report%20Azure%20WAF%20Logs" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fserverless-computing-email-report-azure-waf-logs%2F&amp;linkname=Serverless%20Computing%20%7C%20%20Email%20Report%20Azure%20WAF%20Logs" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fserverless-computing-email-report-azure-waf-logs%2F&#038;title=Serverless%20Computing%20%7C%20%20Email%20Report%20Azure%20WAF%20Logs" data-a2a-url="https://www.cloudcorner.gr/microsoft/azure/serverless-computing-email-report-azure-waf-logs/" data-a2a-title="Serverless Computing |  Email Report Azure WAF Logs"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/serverless-computing-email-report-azure-waf-logs/">Serverless Computing |  Email Report Azure WAF Logs</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/azure/serverless-computing-email-report-azure-waf-logs/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Protect your Web App using Azure Application Gateway Web Application Firewall</title>
		<link>https://www.cloudcorner.gr/microsoft/azure/protect-your-web-application-with-azure-application-gateway-waf/</link>
					<comments>https://www.cloudcorner.gr/microsoft/azure/protect-your-web-application-with-azure-application-gateway-waf/#respond</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Sun, 15 Oct 2017 16:59:10 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[application gateway]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azure rm]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[waf]]></category>
		<category><![CDATA[web app]]></category>
		<category><![CDATA[web application]]></category>
		<category><![CDATA[web application firewall]]></category>
		<guid isPermaLink="false">https://www.e-apostolidis.gr/?p=1550</guid>

					<description><![CDATA[<p>Protect your Web App using Azure Application Gateway Web Application Firewall Web Application Firewall was always a big investment for</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/protect-your-web-application-with-azure-application-gateway-waf/">Protect your Web App using Azure Application Gateway Web Application Firewall</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2 style="text-align: justify;">Protect your Web App using Azure Application Gateway Web Application Firewall</h2>
<p style="text-align: justify;">Web Application Firewall was always a big investment for a small or growing company as most of the top branded companies are charging a lot of money  A Web Application Firewall protects your application from common web vulnerabilities and exploits like SQL Injection or Cross site scripting. Azure provides enterprise grade Web Application Firewall through the Application Gateway. It comes in two pricing models, Medium and Large. More about sizes and instances you can find <a href="https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-introduction#gateway-sizes-and-instances">here</a>, and more about pricing <a href="https://azure.microsoft.com/en-us/pricing/details/application-gateway/ ">here</a></p>
<p style="text-align: justify;">We can add the Application Gateway Web Application Firewall to protect our Azure Web App (PaaS) and our Web Application inside a VMs web server (IaaS). At this post we will see how to protect them both.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1622 aligncenter" src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/appgatewaywafvm.jpg" alt="web application firewall" width="703" height="474" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/appgatewaywafvm.jpg 703w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/appgatewaywafvm-300x202.jpg 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/appgatewaywafvm-600x405.jpg 600w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/appgatewaywafvm-120x80.jpg 120w" sizes="auto, (max-width: 703px) 100vw, 703px" /></p>
<p style="text-align: justify;">One difference in order to fully protect the Azure Web App (PaaS) is to integrate the App Service to a Virtual Network (VNET). In order to integrate an App Service to a Virtual Network it requires a Standard, Premium, or PremiumV2 pricing plan and requires the Virtual Network to have a Virtual Network Gateway that is configured with Point to Site VPN.</p>
<h2>Virtual Network</h2>
<p style="text-align: justify;">First things first, create a VNET. The VNET must have at least two subnets. One subnet to deploy the Virtual Machine that we will use to publish an IIS Application and one dedicated for the Application Gateway WAF.</p>
<p>Once the VNET is created enable the Point-2-Site VPN. More details can be found here: <a href="https://www.e-apostolidis.gr/microsoft/azure/azure-start-point-point-to-site-vpn/">https://www.e-apostolidis.gr/microsoft/azure/azure-start-point-point-to-site-vpn/ </a></p>
<p style="text-align: justify;"><img loading="lazy" decoding="async" width="1127" height="389" class="alignnone size-full wp-image-2426 " style="font-size: 1.0625rem;" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/02/img_5c581d7dd4e40.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c581d7dd4e40.png 1127w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c581d7dd4e40-300x104.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c581d7dd4e40-768x265.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c581d7dd4e40-1024x353.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c581d7dd4e40-600x207.png 600w" sizes="auto, (max-width: 1127px) 100vw, 1127px" /></p>
<h2>Web App</h2>
<p style="text-align: justify;">Create a Web App from Azure Portal. For more details check here: <a href="https://www.e-apostolidis.gr/microsoft/azure/azure-start-point-your-first-web-app/">https://www.e-apostolidis.gr/microsoft/azure/azure-start-point-your-first-web-app/</a></p>
<p id="ldmemwp"><img loading="lazy" decoding="async" class="alignnone wp-image-2425 " src="https://www.e-apostolidis.gr/wp-content/uploads/2019/02/img_5c581cc9150ca.png" alt="" width="335" height="463" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c581cc9150ca.png 406w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c581cc9150ca-217x300.png 217w" sizes="auto, (max-width: 335px) 100vw, 335px" /></p>
<h2>VNet Integration</h2>
<p id="qMNQKto" style="text-align: justify;">Once the Web App is ready, go to Networking and select &#8220;Click here to configure&#8221;</p>
<p id="hgMdofy"><img loading="lazy" decoding="async" width="676" height="210" class="alignnone size-full wp-image-2427 " src="https://www.e-apostolidis.gr/wp-content/uploads/2019/02/img_5c582144d0d9f.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582144d0d9f.png 676w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582144d0d9f-300x93.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582144d0d9f-600x186.png 600w" sizes="auto, (max-width: 676px) 100vw, 676px" /></p>
<p>Add VNET, select the VNET and press save</p>
<p id="rTnBMIo"><img loading="lazy" decoding="async" width="597" height="183" class="alignnone size-full wp-image-2428 " src="https://www.e-apostolidis.gr/wp-content/uploads/2019/02/img_5c582a9ed9d65.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582a9ed9d65.png 597w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582a9ed9d65-300x92.png 300w" sizes="auto, (max-width: 597px) 100vw, 597px" /></p>
<p>Then go back to the Networking blade of the App Service and go to Firewall in order to disable public access and allow only access from the VNET. To do this click the &#8220;Configure Access Restrictions&#8221;</p>
<p id="ZZkfuhS"><img loading="lazy" decoding="async" width="641" height="289" class="alignnone size-full wp-image-2429 " src="https://www.e-apostolidis.gr/wp-content/uploads/2019/02/img_5c582b7aeacba.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582b7aeacba.png 641w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582b7aeacba-300x135.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582b7aeacba-600x271.png 600w" sizes="auto, (max-width: 641px) 100vw, 641px" /></p>
<p>create an allow IP Restriction and add the WAF&#8217;s IP. Once you create an Allow rule, all other access to the app service is restricted automatically. If you try to browse the public URL of the App Service it will return &#8220;Error 403 &#8211; This web app is stopped.&#8221;</p>
<p id="QvHXjiC"><img loading="lazy" decoding="async" width="395" height="534" class="alignnone size-full wp-image-2436 " src="https://www.e-apostolidis.gr/wp-content/uploads/2019/02/img_5c583443ab102.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c583443ab102.png 395w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c583443ab102-222x300.png 222w" sizes="auto, (max-width: 395px) 100vw, 395px" /></p>
<h2>Web Application Firewall</h2>
<p style="text-align: justify;">Lets create the Secure public entry point for our Web App. Create an application gateway, select WAF Tier, select the required SKU, add it to the WAF subnet we created before, select Public IP configuration and WAF enabled.</p>
<p id="TvmaQqE" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-1603 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e25f1b11d95.png" alt="web application firewall" width="646" height="527" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e25f1b11d95.png 646w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e25f1b11d95-300x245.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e25f1b11d95-600x489.png 600w" sizes="auto, (max-width: 646px) 100vw, 646px" /></p>
<p id="jnORKHN" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-1591 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e2359888b97.png" alt="web application firewall" width="617" height="697" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e2359888b97.png 617w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e2359888b97-266x300.png 266w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e2359888b97-600x678.png 600w" sizes="auto, (max-width: 617px) 100vw, 617px" /></p>
<p style="text-align: justify;">When the Application gateway is ready we need to do some configuration. First at the Backend pools, open the default created backend pool, select &#8220;App Service&#8221; and browse to the required web app.</p>
<p id="XTvdaeX"><img loading="lazy" decoding="async" width="581" height="393" class="alignnone size-full wp-image-2431 " src="https://www.e-apostolidis.gr/wp-content/uploads/2019/02/img_5c582df528aad.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582df528aad.png 581w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582df528aad-300x203.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582df528aad-120x80.png 120w" sizes="auto, (max-width: 581px) 100vw, 581px" /></p>
<p style="text-align: justify;">Then add a health probe. For host add the FQDN of the Web App.</p>
<p id="TAdrvsH"><img loading="lazy" decoding="async" width="575" height="558" class="alignnone size-full wp-image-2432 " src="https://www.e-apostolidis.gr/wp-content/uploads/2019/02/img_5c582e65bf612.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582e65bf612.png 575w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582e65bf612-300x291.png 300w" sizes="auto, (max-width: 575px) 100vw, 575px" /></p>
<p>at the HTTP settings check the &#8220;Use for App service&#8221;</p>
<p id="KxKVHVi"><img loading="lazy" decoding="async" width="580" height="608" class="alignnone size-full wp-image-2433 " src="https://www.e-apostolidis.gr/wp-content/uploads/2019/02/img_5c582e9bbdd33.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582e9bbdd33.png 580w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582e9bbdd33-286x300.png 286w" sizes="auto, (max-width: 580px) 100vw, 580px" /></p>
<p>Add a rule to bind the Listener, Backendpool and HTTP settings</p>
<p id="ZIBQoUI"><img loading="lazy" decoding="async" width="578" height="387" class="alignnone size-full wp-image-2434 " src="https://www.e-apostolidis.gr/wp-content/uploads/2019/02/img_5c582f4435224.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582f4435224.png 578w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582f4435224-300x201.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2019/02/img_5c582f4435224-120x80.png 120w" sizes="auto, (max-width: 578px) 100vw, 578px" /></p>
<p>And that&#8217;s all. Now we can try our Web App from the Internet. In order to do so we need to browse to the Web App&#8217;s URL, that is now published by the Application Gateway, from the Internet. So, we need to create a Public DNS record to point the FQDN to the Application Gateway&#8217;s FQDN. In this case we need to crate a CNAME papwaf3app.funniest.gr to point to the 8b0510c1-47e9-4b94-a0ff-af92e4455840.cloudapp.net. In order to test the app right now we can just add a host file to our computer pointing to the Public IP Address of the application gateway and we can access the Web App behind the WAF.</p>
<p id="OYjdFLD"><img loading="lazy" decoding="async" class="alignnone wp-image-1604 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e2615d9fd0c.png" alt="web application firewall" width="1173" height="258" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e2615d9fd0c.png 1173w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e2615d9fd0c-300x66.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e2615d9fd0c-768x169.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e2615d9fd0c-1024x225.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e2615d9fd0c-600x132.png 600w" sizes="auto, (max-width: 1173px) 100vw, 1173px" /></p>
<p id="ZMBzrJA" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-1595 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e23fc549914.png" alt="waf" width="1333" height="727" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e23fc549914.png 1333w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e23fc549914-300x164.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e23fc549914-768x419.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e23fc549914-1024x558.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e23fc549914-600x327.png 600w" sizes="auto, (max-width: 1333px) 100vw, 1333px" /></p>
<h2>Logging</h2>
<p>In order to be able to see the Application Gateway and Web Application Firewall logs we need to turn on diagnostics. The easiest way to see the logs is by sending them to Log Analytics (OMS).</p>
<p id="RjtcBEu" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-1596 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e240034d99e.png" alt="waf" width="626" height="298" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e240034d99e.png 626w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e240034d99e-300x143.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e240034d99e-600x286.png 600w" sizes="auto, (max-width: 626px) 100vw, 626px" /></p>
<p id="YxDLlaw" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-1597 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e2404e90c37.png" alt="waf" width="639" height="842" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e2404e90c37.png 639w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e2404e90c37-228x300.png 228w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e2404e90c37-600x791.png 600w" sizes="auto, (max-width: 639px) 100vw, 639px" /></p>
<p id="UILEmSI" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-1598 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e251cbdc0f8.png" alt="waf" width="1421" height="625" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e251cbdc0f8.png 1421w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e251cbdc0f8-300x132.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e251cbdc0f8-768x338.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e251cbdc0f8-1024x450.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e251cbdc0f8-600x264.png 600w" sizes="auto, (max-width: 1421px) 100vw, 1421px" /></p>
<p>With the Firewall at &#8220;Detection&#8221; mode, if we try an SQL Injection (?id=10||UTL_INADDR.GET_HOST_NAME( (SELECT user FROM DUAL) )&#8211;), the Web App still servers the landing page.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-1600 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e256703b895.png" alt="waf" width="847" height="314" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e256703b895.png 847w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e256703b895-300x111.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e256703b895-768x285.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e256703b895-600x222.png 600w" sizes="auto, (max-width: 847px) 100vw, 847px" /></p>
<p style="text-align: justify;">By switching the Firewall to &#8220;Prevention&#8221; mode, the same SQL injection attach stops by the WAF before accessing our Web App.</p>
<p id="GeNIuFp" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-1599 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e2565c042a8.png" alt="waf" width="837" height="240" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e2565c042a8.png 837w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e2565c042a8-300x86.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e2565c042a8-768x220.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e2565c042a8-600x172.png 600w" sizes="auto, (max-width: 837px) 100vw, 837px" /></p>
<h2>Protect an IaaS Web Application</h2>
<p>To add a Web Application that runs inside a VM behind the Application Gateway Web Application Firewall, first add the VM as a Back End Pool. Create a new Backend Pool and select &#8220;Virtual Machine&#8221;. Select the Virtual Machine that runs the Web Application.</p>
<p id="wJFYiWW"><img loading="lazy" decoding="async" width="589" height="344" class="alignnone size-full wp-image-1613 " src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e38491d257e.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e38491d257e.png 589w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e38491d257e-300x175.png 300w" sizes="auto, (max-width: 589px) 100vw, 589px" /></p>
<p>Then create a new probe adding the URL of the Web Application<img loading="lazy" decoding="async" width="582" height="602" class="alignnone size-full wp-image-1614 " src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e384f93f20c.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e384f93f20c.png 582w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e384f93f20c-290x300.png 290w" sizes="auto, (max-width: 582px) 100vw, 582px" /></p>
<p>next add HTTP settings and add custom probe the new created probe &#8220;vmsite&#8221;</p>
<p id="YnVbWZN"><img loading="lazy" decoding="async" width="643" height="487" class="alignnone size-full wp-image-1616 " src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e38d35ddce3.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e38d35ddce3.png 643w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e38d35ddce3-300x227.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e38d35ddce3-600x454.png 600w" sizes="auto, (max-width: 643px) 100vw, 643px" /></p>
<p>Next step is to create two multi-site listeners, one for each host name</p>
<p id="WwoaGmQ"><img loading="lazy" decoding="async" width="1293" height="250" class="alignnone size-full wp-image-1617 " src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e38f3f06837.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e38f3f06837.png 1293w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e38f3f06837-300x58.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e38f3f06837-768x148.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e38f3f06837-1024x198.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e38f3f06837-600x116.png 600w" sizes="auto, (max-width: 1293px) 100vw, 1293px" /></p>
<p>After the listener, add a Basic rule using the Listener, Backend Pool and HTTP settings we created for the VM Web Application,</p>
<p id="SFMOmzk"><img loading="lazy" decoding="async" width="651" height="310" class="alignnone size-full wp-image-1618 " src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e38f77d13c0.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e38f77d13c0.png 651w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e38f77d13c0-300x143.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e38f77d13c0-600x286.png 600w" sizes="auto, (max-width: 651px) 100vw, 651px" /></p>
<p>Finally one extra step is to change the default rule1 to listen to the WeB App listener</p>
<p id="hpMFJMs"><img loading="lazy" decoding="async" width="656" height="388" class="alignnone size-full wp-image-1619 " src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e3913eaf3dd.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e3913eaf3dd.png 656w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e3913eaf3dd-300x177.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e3913eaf3dd-600x355.png 600w" sizes="auto, (max-width: 656px) 100vw, 656px" /></p>
<p>Finally the Application Gateway Web Application Firewall provides secure access to both the Web App (PaaS) and the VM Web Application (IaaS)</p>
<p id="iPPNmYj"><img loading="lazy" decoding="async" width="1027" height="739" class="alignnone size-full wp-image-1620 " src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59e392843b503.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e392843b503.png 1027w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e392843b503-300x216.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e392843b503-768x553.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e392843b503-1024x737.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59e392843b503-600x432.png 600w" sizes="auto, (max-width: 1027px) 100vw, 1027px" /></p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author">
<div class="saboxplugin-tab">
<div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div>
<div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div>
<div class="saboxplugin-desc">
<div itemprop="description">
<p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div>
</div>
<div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div>
<div class="clearfix"></div>
<div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:p&#114;o&#120;&#105;m&#097;&#103;r&#064;&#104;otma&#105;&#108;&#046;&#099;o&#109;" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div>
</div>
</div>
<p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fprotect-your-web-application-with-azure-application-gateway-waf%2F&amp;linkname=Protect%20your%20Web%20App%20using%20Azure%20Application%20Gateway%20Web%20Application%20Firewall" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fprotect-your-web-application-with-azure-application-gateway-waf%2F&amp;linkname=Protect%20your%20Web%20App%20using%20Azure%20Application%20Gateway%20Web%20Application%20Firewall" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fprotect-your-web-application-with-azure-application-gateway-waf%2F&#038;title=Protect%20your%20Web%20App%20using%20Azure%20Application%20Gateway%20Web%20Application%20Firewall" data-a2a-url="https://www.cloudcorner.gr/microsoft/azure/protect-your-web-application-with-azure-application-gateway-waf/" data-a2a-title="Protect your Web App using Azure Application Gateway Web Application Firewall"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/protect-your-web-application-with-azure-application-gateway-waf/">Protect your Web App using Azure Application Gateway Web Application Firewall</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/azure/protect-your-web-application-with-azure-application-gateway-waf/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
