Con el fin de aumentar la seguridad de un sitio, creo que es importante que conozcas la sección dynamicIpSecurity. Se utiliza para bloquear peticiones maliciosas a nuestro sitio basándonos en el número de peticiones concurrentes o bien teniendo en cuenta el número de peticiones durante un periodo de tiempo, aunque ambas se pueden combinar.
Para poder hacer uso de esta sección es necesario habilitar el módulo IP and Domain restrictions en el IIS del servidor, como se muestra en la documentación oficial. En el caso de Azure Websites este módulo se habilitó el verano del año pasado.
Para definir estas reglas, basta con añadir la sección dynamicIpSecurity en system.webServer > security del archivo web.config:
<system.webServer> <security> <dynamicIpSecurity enableLoggingOnlyMode="true"> <denyByConcurrentRequests enabled="true" maxConcurrentRequests="15" /> <denyByRequestRate enabled="true" maxRequests="30" requestIntervalInMilliseconds="1000" /> </dynamicIpSecurity> </security> </system.webServer>
A través de denyByConcurrentRequests debemos elegir el número de conexiones máximas concurrentes utilizando el atributo maxConcurrentRequests. En el caso de denyByRequestRate es necesario indicar el número máximo de peticiones a través de maxRequest y el intervalo durante el cual no se debe sobrepasar ese límite, utilizando el atributo requestIntervalInMilliseconds.
Espero que sea de utilidad.
¡Saludos!