Hur man lösenord skyddar en Apache-webbplats med hjälp av .htaccess
Säkerhet Microsoft Apache / / March 17, 2020
Senast uppdaterad den
Om du kör din webbplats med Apache är det enkelt att säkra webbplatsen med ett lösenord. Jag har nyligen gått igenom processen på en Windows-låda (Majoriteten av bilderna nedan) men stegen är i stort sett desamma för Windows eller Linux Apache-webbplatser.
Steg 1: Konfigurera din .htaccess-fil
Allt arbete kommer att göras med din .htaccess-fil. Du kan hitta den här filen i roten till de flesta Apache-webbplatser.
Skärmdumpen är hämtad från en vaniljinstallation av WordPress som körs på Windows 2003 Server:
.Htaccess-filen kontrolleras av Apache innan webbsidor visas. Vanligtvis används det för ReWrites eller ReDirects, men du kan också använda det för att utnyttja de inbyggda säkerhetsfunktionerna i Apache.
Så det första steget är att lägga till några parametrar till filen. Nedan visas ett exempel på .htaccess-fil. (TIPS: Jag använder anteckningsblock ++ att redigera de flesta PHP och relaterade filer)
AuthUserFile c: apachesecurity.htpasswd. AuthName "Vänligen ange användare och PW" AuthType Basic. kräver giltig användare
Några förklaring:
AuthUserFile: APACHE behöver platsen för User / Password-filen. Ange bara hela sökvägen till din lösenordsdatabasfil som visas ovan. Exemplet ovan är hämtat från min Windows-låda. Om du kör Linux, skulle det vara något som: AuthUserFile /full/path/to/.htpasswd
AuthName: Detta fält definierar titel och text för popup-rutan som kommer att begära användarnamn och PW. Du kan göra detta något du vill. Här är ett exempel på min testruta:
AuthType: Detta fält berättar Apache vilken typ av autentisering som används. I nästan alla fall är “Basic” bara bra (och det vanligaste).
Kräv giltig användare: Det här sista kommandot låter Apache veta vem som är tillåtet. Genom att använda "valid-user“, du berättar för Apache någon kan godkänna om de har ett giltigt användarnamn och lösenord.
Om du föredrar att vara mer EXAKT kan du ange en specifik ANVÄNDARE eller ANVÄNDARE. Detta kommando ser ut som:
Kräv användaren mrgroove groovyguest
I det här fallet är det bara användarna mrgroove och groovyguest som får gå in på sidan / katalogen du skyddar (efter att du har gett rätt användarnamn och lösenord naturligtvis). Alla andra användare (inklusive giltiga) nekas åtkomst. Om du vill tillåta fler användare ska du bara separera dem med mellanslag.
Så nu som vi har gjort alla konfigurationsinställningar är det här din färdiga .htaccess-fil ska se ut:
Skärmdump tas från en Windows 2003 Server-låda som kör WordPress:
Steg 2: Skapa .htpasswd-filen
Att skapa .htpasswd-filen är en enkel process. Filen är inget annat än en textfil som innehåller en lista med användare och deras krypterade lösenord. Varje användarsträng ska separeras på sin linje. Personligen använder jag bara anteckningsblock ++ eller Windows Anteckningar för att skapa filen.
Nedan visas ett exempel .htpasswd-fil med två användare:
Även om Apache inte "kräver" dig för att kryptera lösenorden, är det en enkel process för både Windows och Linux-system.
Windows
Navigera till din Apache BIN-mapp (vanligtvis finns på C: \ Program Files \ Apache Group \ Apache2bin) och kör htpasswd.exe-verktyget för att generera en MD5-krypterad sträng för användarnamn / lösenord. Du kan också använda verktyget för att skapa .htpasswd-filen för dig (vad som fungerar ...). För alla detaljer, bara köra hjälpomkopplaren från kommandoraden (htpasswd.exe /?).
I nästan alla fall, kör bara följande kommando:
htpasswd -nb användarnamn lösenord
När kommandot har utförts kommer verktyget htpasswd.exe att mata ut användarsträngen med det krypterade lösenordet.
Skärmdump nedan är ett exempel på att köra verktyget htpasswd.exe på Windows 2003 Server
När du har använt användarsträngen kopierar du den till din .htpasswd-fil.
Linux:
Gå till: http://railpix.railfan.net/pwdonly.html för att skapa dina användarsträngar med krypterade lösenord. Mycket enkel process.
Steg 3: Verifiera att Apache är korrekt konfigurerad * valfritt
Som standard har Apache rätt moduler aktiverade. Med det sagt är det aldrig ont om att vara lite proaktiv plus att det är en snabb "check".
Öppna din Apache httpd.conf-fil och verifiera att AUTH-modulen är aktiverad:
Om du tycker att modulen inte är aktiverad ska du bara korrigera den som visas ovan. Glöm inte; måste du starta om Apache för att ändringar i din httpd.conf ska börja gälla.
Det borde ta hand om det. Helt klar.
Tags:apache, kryptering, htaccess, säkerhet, fönster