Lösenordsskyddade sidor

Tråden skapades och har fått 12 svar. Det senaste inlägget skrevs .
1

Jag har under en rad år använt GateKeeper för att hålla nyfikna borta från några sidor som innehåller personinformation ( = de blir därmed inte publika och omfattas inte av EU-direktivet om elektronisk kommunikation ). För några dagar sedan lyckades en kollega ta sig in "illegalt", vilket resulterar i ramaskri från informationsägarna, vilket inte är att undra på.

Jag vet att det på en UNIX-server som kör Apache ska finnas en funktion som heter htpasswd som jag kan använda för att göra det mer "kassaskåpssäkert". Det är möjligt att lägga all känslig information i en enda katalog, så jag ska inte behöva skydda alla sidor, bara noderkatalogen.

Alla handledningar jag hittat förutsätter att man använder sig av den i OS X inbyggda Apache-servern, dvs. snickra allt via Terminalen - och det är inte min melodin alls, utan jag vill ha sidorna på ett hotell som kör Apache.

Borde det inte gå att skapa alla de nödvändiga filerna med ex.vis Textredigerare för att sedan ladda upp dem till rätt katalog i hotellet? Jag inbillar mig att det handlar om att kunna hantera "dot"-filer, men hur, vad och vilka?

  • Medlem
  • International user
  • 2008-04-21 11:07
Ursprungligen av leonardo:

Jag har under en rad år använt GateKeeper för att hålla nyfikna borta från några sidor som innehåller personinformation ( = de blir därmed inte publika och omfattas inte av EU-direktivet om elektronisk kommunikation ). För några dagar sedan lyckades en kollega ta sig in "illegalt", vilket resulterar i ramaskri från informationsägarna, vilket inte är att undra på.

Jag vet att det på en UNIX-server som kör Apache ska finnas en funktion som heter htpasswd som jag kan använda för att göra det mer "kassaskåpssäkert". Det är möjligt att lägga all känslig information i en enda katalog, så jag ska inte behöva skydda alla sidor, bara noderkatalogen.

Alla handledningar jag hittat förutsätter att man använder sig av den i OS X inbyggda Apache-servern, dvs. snickra allt via Terminalen - och det är inte min melodin alls, utan jag vill ha sidorna på ett hotell som kör Apache.

Borde det inte gå att skapa alla de nödvändiga filerna med ex.vis Textredigerare för att sedan ladda upp dem till rätt katalog i hotellet? Jag inbillar mig att det handlar om att kunna hantera "dot"-filer, men hur, vad och vilka?

Du kan hitta info om hur du gör i länken under. Men notera att det bara funkar om du kör en Apache-webserver.
http://httpd.apache.org/docs/1.3/howto/htaccess.html

  • Medlem
  • Gävle
  • 2008-04-21 11:24

På denna sida finns en generator som skapar texten som ska in i filerna. Använder den själv ibland.
http://www.tools.dynamicdrive.com/password/

Fråga gärna igen om du inte får till det.

De båda tipsade sidorna är kända, plus Apache egen sida, men det är lite för avancerat - eller så är jag bara "a little bit too thick". Jag läser och jag läser, men fattar likt förbenat inte det grundläggande; var ska resp. filer ligga för att skydda de delar av strukturen jag vill skydda? Delar av sajten ser ut som illustrationen längst ner i posten.

I root finns just nu, förutom datakatalogerna;

• .htaccess (med "fel" innehåll),
• errorkatalog (skickar lite snyggare felmeddelanden),
• favicon.ico,
• index.html och
• rw_common (CSS-mallar och -info)

Enligt sysadm kan jag langa bort den nuv. .htaccess utan men för funktionalitet eller säkerhet. Sidan [iris] innehåller bara en klickbar bild på en portklapp (plus lite instruktioner riktade till seniora besökare), och när besökaren klickar på den ska [internt] laddas, men för att den ska laddas, måste rätt lösen anges. Att klicka på menylänken {internt}, ska ge samma reaktion. När [internt] laddats, skall tre menylänkar finnas - {eu}, {b} och {d} och besökaren ha fritt tillträde (via sitt "huvudlösenord") till sidan [eu]. För att komma till sidorna [b] och [d], avkrävs besökaren nytt lösenord för resp. sida.

Att knåpa till de olika sidornas innehåll, anser jag mig klara av; sajtstruktur med länk- och menyapparat, styrkoderna i .htaccess och dataparen (user/PW) i tre olika .htpasswd, men var ska jag lägga respektive filer? Det är de allt överskuggande frågorna - och jag klarar inte av att klura ut det egen hand, ens efter att ha läst allt, flera gånger.

• Var ska .htaccess som styr sajten (bot-, IP- och linkblock mm.) läggas? - root?
• Kan jag lägga till funktionalitet med extra .htaccess filer?
• Ärvs i så fall egensk. fr. .htaccess i root, eller ska jag skriva in koden igen?
• Kan jag gömma .htpasswd på en annan sajt ( = minimera läsrisken)?
• Hur ser i så fall pekaren ut?

.htpasswd ska ligga ovanför din normala webbstruktur så att den är helt omöjlig att nå från internet. .htaccess-filen ligger i den katalog som den gäller för.

I .htaccess-filen hänvisar du till din .htpasswd-fil i den logiska strukturen.
Exempel för att tydliggöra:

Om du vill skydda en mapp som heter iris som i sin tur ligger i en mapp som heter public_html (allt som ligger i mappen public_html delas ut av webbservern) kan det se ut så här:
/root/.htpasswd <--- Omöjlig att läsa utan att direkt stå framför maskinen.
/root/public_html/iris/.htaccess <--- Ligger i den katalog den skyddar.

OK - så långt är jag med - men nu kommer "idioten-frågorna";

Om jag tittar i den mappstruktur som webhotellet tillhandahåller så finns där ju ingen mapp home_html, eller public_html, bara min root-mapp / i vilken hela min struktur hamnar. Hur ska jag då kunna lägga en fil _ovanför_ min struktur?

.htaccess innehåller en väldans massa information för att hålla klåfingriga borta. Kan jag låta den ligga kvar högst upp, dvs. ärvs den i sin helhet i strukturen? De delar som ska lösenordsskyddas - kan jag ge dem egna .htaccess-filer som bara innehåller PW-funktionen?

För övrigt anser jag att ComHem bör tillåta trafik över port 548.

Nu börjar jag bli lite ilsk - de' va' då själva f-n - morra-morra!

Jag har skapat en katalog [public_html] i [root]. I [root] ligger fn

.htaccess
.htpasswd
server-default.hmtl
favicon.ico
public_html

.htaccess ser ut så här

# Prevent .htacces from beeing listed
<Files .htaccess>
order allow,deny
deny from all
</Files>

# Prevent site from beeing indexed
IndexIgnore *

# Redirect visitor to sub_folder
Redirect /index.html http://site.se/public_html/index.html

# User authentification
AuthName "Restricted Area - Members Only !" 
AuthType Basic 
AuthUserFile /.htpasswd 
AuthGroupFile /dev/null 
require valid-user

Redirect till {index.html} i [public_html] fungerar UA, likaså att autentiseringen stratar, men trots att jag mycket väl vilket lösenord jag lagt in, frågar Apache om efter lösenordet. Jag tolkar det som att den inte hittar .htpasswd. Vad gör jag för fel?

För övrigt anser jag att ComHem bör tillåta trafik över port 548.

Delvis löst problemet; pekaren till .htpasswd skall vara

/customers/example.com/example.com/httpd.www/.htpasswd

och nu fungerar det. Lärt mig något idag också.

Näääästan framme vid målet, men en idiotfråga återstår; - en som jag helst vill ha "Ja"-svar på - får filen .htpasswd heta vad som helst? ex.vis .htpwdett, .htpwdtva, .htpwdtre etc.?

  • Medlem
  • International user
  • 2008-05-19 17:42

.htpasswd filen får absolut inte ligga i en mapp som man kommer åt från internet. Då kan någon kunna ladda ner filen och knäcka lösenordet.

//Rob

Suck - nä jag vet det, men snälla - ta ställning till frågan i stället?

  • Medlem
  • International user
  • 2008-05-19 20:30

Varför suckar du? Om du vill skydda datan så måste du skydda passwd filen. Annars kan du lika gärna ha den öppen. Och hade du läst och provad lite så skulle du se att det spelar ingen roll vad passwd filen heter så länge htaccess filen pekar till din passwd fil.

//Rob

Jag bockar och bugar för att Du tar Dig tid att vara trevlig och hjälpsam - det är alltid lika trevligt på detta forum tycker jag. Än en gång - tack snälla för all assistans och de vänliga orden.

1
Bevaka tråden