Django Auth Policy
Django auth policy is een add-on voor het Django framework ontwikkelt door Rudolph in samenwerking met Fox-IT om meer controle te houden over authenticatie van gebruikers in een applicatie.
Authenticatie bij webapplicaties is bedoeld om de identiteit van een bezoeker vast te stellen. Zodra de identiteit is vastgesteld krijgt men toegang tot de afgeschermde gegevens en functionaliteit binnen de webapplicatie. Voor veel webapplicaties wordt een gebruikersnaam en wachtwoord gebruikt voor de authenticatie.
De authenticatie met gebruikersnaam en wachtwoord moet betrouwbaar zijn en goed beveiligd tegen misbruik. De gevolgen van zwakke wachtwoorden en slecht beveiligde authenticatie zijn regelmatig in het nieuws. Het blijkt onvoldoende om de verantwoordelijkheid voor het gebruik van krachtige wachtwoorden volledig bij de eind-gebruiker te leggen.
Rudolph Froger heeft in samenwerking met Fox-IT de ‘Django auth policy’ software ontwikkelt die een aantal authenticatie maatregelen afdwingt. ‘Django auth policy’ kent drie type maatregelen:
- Eisen aan de complexiteit van wachtwoorden zoals de minimale lengte, de aanwezigheid van verschillende soorten karakters en het verkomen van het gebruik van veelgebruikte en voor de hand liggende wachtwoorden.
- Eisen aan de inlogprocedure zoals het (tijdelijk) blokkeren na een ingesteld aantal mislukte inlogpogingen.
- Eisen aan het afdwingen van wachtwoord aanpassingen waaronder periodieke wachtwoordwijzigingen en de wijziging na het gebruik van een uitgegeven eenmalig bruikbaar wachtwoord.
De maatregelen zijn per project te kiezen en zijn configureerbaar zodat de maatregelen aansluiten op de eisen die het project aan authenticatie stelt.
Een goed beveiligde authenticatie is één van de vele maatregelen die Dreamsolution neemt voor de beveiliging van webapplicaties.
De broncode van het project is te vinden op de Django Auth Policy Github pagina en releases staan in de Python package index.
Meer informatie over krachtige wachtwoorden is onder andere te vinden op de site van Bruce Schneier, op Wikipedia en in de NIST Special Publication 800-118.