[ASP/SCRIPT] Rechten geven op dir. buiten IIS

Pagina: 1
Acties:

  • Davidoff402
  • Registratie: Oktober 2000
  • Laatst online: 24-03-2022

Davidoff402

The more you tweak....

Topicstarter
De situatie als volgt:

Er moeten Word documenten in een directory op IIS komen te staan. Om via internet toegang te krijgen tot deze sectie, moet er ingelogd worden via database verificatie. Als men voldoende rechten heeft kan men naar een index op het extranet surfen. In deze index staan de links naar de Word documenten.

Het probleem:

Stel dat iemand zonder rechten het complete adres naar dit Word document intikt, dan krijg je OOK het document op je scherm. :(

Ik zoek een oplossing die er voor zorgt dat deze word documenten niet direct kan weergeven maar alleen als je bent ingelogd. Dus het liefst een directory buiten IIS die door een script is aan te spreken.

Wie kan mij uitleggen hoe ik dit het beste op kan lossen?

Sempron 3800+ 8k9a7i


  • BlaTieBla
  • Registratie: November 2000
  • Laatst online: 01-09 07:33

BlaTieBla

Vloeken En Raak Schieten

Ik ben niet bekend met asp etc.
Ik gebruik zelf coldfusion.
Hierin is de mogelijkheid aanwezig, dat je een file van een andere locatie dan de IIS op laat halen en dit aanbied aan de browser.

waar het op neer komt:
code:
1
2
3
4
5
6
7
8
<check of gebruiker rechten heeft>
<html>
blablabla

<cfcontent type = "file_MIME_type" file = "c:\locatie buiten de IIS\filename.doc">

blablabla
</html>

als de gebruiker GEEN rechten heeft, wordt binnen CF ook het cfcontent verhaal niet uitgevoerd en krijgt de gebruiker ook het document niet.

Aangezien de gebruiker (normaal) niet bij files kan buiten de IIS, staat tie daar redelijk veilig.

Misschien dat je nu een leidraad heb om dit in IIS aftevangen.

leica - zeiss - fuji - apple | PSN = Sh4m1n0


  • Davidoff402
  • Registratie: Oktober 2000
  • Laatst online: 24-03-2022

Davidoff402

The more you tweak....

Topicstarter
Ik zat er aan te denken om het op te lossen met een script.
Dit script moet zelf toegang hebben tot een directory buiten IIS waar hij de documenten vandaan haalt.

Ik ben op zoek naar zo'n script en de werking daarvan of een andere oplossing.

Sempron 3800+ 8k9a7i


  • itsjohan
  • Registratie: Januari 2001
  • Nu online
Hmm ben zelf wel aardig bekend met asp, maar een cfm equivalent voor asp zoals blatiebla voorsteld ken ik zelf niet. Wat je zou kunnen doen is de ntfs rechten zo instellen dat de anonymous users geen rechten hebben op de dir met word bestanden. vervolgens zou je dan een asp component moeten gebruiken die via impersonation (via een inlogaccount op nt meer rechten verwerven dan je nu hebt) wel rechten heeft op de word dir. Ik weet helaas niet direct een component dat dat voor je kan doen; ik ken het alleen van upload components. Volgens mij kan het asp.net zelfs zonder componenten, maar daar ben ik nog niet zo bekend mee. Succes!

  • Davidoff402
  • Registratie: Oktober 2000
  • Laatst online: 24-03-2022

Davidoff402

The more you tweak....

Topicstarter
Ik wil de gebruikers niet via NT authentication in laten loggen want er zijn nogal wat externe gebruikers.

Een component die dit kan regelen zou mooi zijn.
Ook dan vraag ik me af hoe er wordt omgegaan met links in een Word document die linken naar andere documenten.
Kijkt ie dan in de IIS zelf of in de directory buiten IIS?
Het gaat trouwens om een stuk of 1500 documenten dus het omzetten naar een database is geen oplossing. De indexing service van Microsoft biedt ook weining oplossing.

Sempron 3800+ 8k9a7i


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:02

gorgi_19

Kruimeltjes zijn weer op :9

Op maandag 22 juli 2002 10:23 schreef Davidoff het volgende:
Ik zat er aan te denken om het op te lossen met een script.
Dit script moet zelf toegang hebben tot een directory buiten IIS waar hij de documenten vandaan haalt.

Ik ben op zoek naar zo'n script en de werking daarvan of een andere oplossing.
Het kan goed in ASP. Het is een variant van dit script:
[url="http://www.asp101.com/samples/download_sample.asp"]http://www.asp101.com/samples/download_sample.asp[/url]

Gecombineerd met:

[url="http://www.asp101.com/samples/source.asp"]http://www.asp101.com/samples/source.asp[/url]

De methode is:

* Controleer authenticatie
* Indien correct ga verder, eindig anders.
* Zet de juiste headers (Response.Contenttype)
* open het bestand met FileSystemObject
* Lees dit bestand en schrijf dit weg naar de 'browser'
* Gebruik hiervoor de juiste methode (write of BinaryWrite)
* Sluit FileSystemObject

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • BlaTieBla
  • Registratie: November 2000
  • Laatst online: 01-09 07:33

BlaTieBla

Vloeken En Raak Schieten

Ik ben geen asp guru [understatement], maar onderstaande code zou lijkt mij toch al een stuk in de goede richting zijn.
code:
1
2
3
4
5
6
Dim DisplayFile As String = "c:\locatie buiten IIS\MyTestFile.txt"

If System.Io.File.Exists(DisplayFile) Then
Response.Write("Here's the file:<br/><br/>")
Response.WriteFile(DisplayFile)
End If

Anders is het lijkt mij weer een zet in de juiste richting

leica - zeiss - fuji - apple | PSN = Sh4m1n0


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:02

gorgi_19

Kruimeltjes zijn weer op :9

Op maandag 22 juli 2002 10:35 schreef BlaTieBla het volgende:
Ik ben geen asp guru [understatement], maar onderstaande code zou lijkt mij toch al een stuk in de goede richting zijn.
code:
1
2
3
4
5
6
Dim DisplayFile As String = "c:\locatie buiten IIS\MyTestFile.txt"

If System.Io.File.Exists(DisplayFile) Then
Response.Write("Here's the file:<br/><br/>")
Response.WriteFile(DisplayFile)
End If

Anders is het lijkt mij weer een zet in de juiste richting
Misschien even erbij vermelden dit jouw code ASP.Net is, geschreven in VB.Net. Methode is goed; weet alleen niet of de topicstarter hier veel aan heeft (gebruikt nog ASP, dacht ik)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • BlaTieBla
  • Registratie: November 2000
  • Laatst online: 01-09 07:33

BlaTieBla

Vloeken En Raak Schieten

Op maandag 22 juli 2002 10:41 schreef gorgi_19 het volgende:

[..]

Misschien even erbij vermelden dit jouw code ASP.Net is, geschreven in VB.Net. Methode is goed; weet alleen niet of de topicstarter hier veel aan heeft (gebruikt nog ASP, dacht ik)
Zoals ik al aangaf, ben ik geen asp guru >:)

leica - zeiss - fuji - apple | PSN = Sh4m1n0


  • Davidoff402
  • Registratie: Oktober 2000
  • Laatst online: 24-03-2022

Davidoff402

The more you tweak....

Topicstarter
gorgi,

Ik ga even die links uitpluizen.

Lijkt me redelijk zinnige code. Met een beetje ombouwen
kan ik wel wat voor elkaar krijgen denk ik.

Ps. ik werk met ASP en niet met ASP.Net

Sempron 3800+ 8k9a7i


  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
Is allemaal niet nodig. Maak een dir aan die in een website/virtual dir valt. Haal de IUSR weg uit gerechtigden, en voeg een nieuwe gebruiker toe in Windows met rechten op die dir. Zet de toegang in IIS op basic authentication, klaar.

  • Davidoff402
  • Registratie: Oktober 2000
  • Laatst online: 24-03-2022

Davidoff402

The more you tweak....

Topicstarter
Zneek,

Ik wilde eigenlijk niet met NT authentication werken i.v.m. het versturen van wachtwoorden over een door windows beveiligde connectie :r . Eigenlijk is het nog niet eens zo'n gek idee als ik er nog eens over nadenk. Een script zou mooier zijn. Nu moet bij iedereen een wachtwoord bekend zijn om toegang te krijgen tot de directory. Door dit op het beveiligde deel van het intranet te plaatsen zou het in principe haalbaar zijn.

Sempron 3800+ 8k9a7i


  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
Pcies, en anders kun je er ook nog ip-restrictions aan hangen.

Ik las trouwens net je post wat beter. Mensen moeten al inloggen om op dat deel te komen waar die Word docs staan. Dan zijn ze toch al geauthenticeerd? Heb je helemaal geen script oid nodig.

[edit] Lama, ik lees weer slecht. Via db verificatie. :) i suck, sorry

  • syllaz
  • Registratie: Mei 2002
  • Laatst online: 20-04 17:01
Zodra een user is ingelogd zou je de gebruiker in een sessie kunnen stoppen. Zodra iemand anders dan de complete URL weet te vinden, maar niet onder die user is ingelogd, kick je hem naar een andere pagina.

bv:
<%
Session.Timout = 5
Session("user") = "voorbeeld"
%>

<%
If Session("user") <> "voorbeeld" Then
Response.Redirect "no-access.asp"
Else
Ga dingen downloaden en zo...
End If
%>

:)

  • Davidoff402
  • Registratie: Oktober 2000
  • Laatst online: 24-03-2022

Davidoff402

The more you tweak....

Topicstarter
Het probleem is dat Word documenten niet te beveiligen met Sessiechecks. Op iedere (ASP) pagina wordt gechecked of iemand is ingelogd ja of nee. Diegene die de complete URL weet naar een *.doc kan 'm zo van het net plukken en met de hyperlinks in dat document lekker verder graaien in de rest van de documenten.

Ik heb nog even een vraag over de veiligheid van de NT authentication op het voorbeeld van Zneek.

Weet iemand de nadelen van zo'n constructie m.b.t. veiligheid?
Welke netwerkinformatie wordt er over het internet verzonden? Je gebruikt nl. wel een login die door de server zelf moet worden geauthenticeerd.

Sempron 3800+ 8k9a7i


  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
Op dinsdag 23 juli 2002 10:16 schreef Davidoff het volgende:
Het probleem is dat Word documenten niet te beveiligen met Sessiechecks. Op iedere (ASP) pagina wordt gechecked of iemand is ingelogd ja of nee. Diegene die de complete URL weet naar een *.doc kan 'm zo van het net plukken en met de hyperlinks in dat document lekker verder graaien in de rest van de documenten.

Ik heb nog even een vraag over de veiligheid van de NT authentication op het voorbeeld van Zneek.

Weet iemand de nadelen van zo'n constructie m.b.t. veiligheid?
Welke netwerkinformatie wordt er over het internet verzonden? Je gebruikt nl. wel een login die door de server zelf moet worden geauthenticeerd.
Er wordt een geldige login/password voor NT verstuurd. Das natuurlijk niet zo mooi. Maar als je alleen voor dit doel een gebruiker creeerd die verder geen rechten heeft is er nog niet zoveel aan de hand. Daarnaast zou je SSL in kunnen zetten om het afluisteren van de logingegevens te bemoeilijkheden c.q. onmogelijk te maken.

Ik denk ook niet dat het probleem zozeer zit in beveiligingsrisico van het over het internet versturen van logins en passwords, maar meer in het feit dat het beheren van de login gegevens voor dit doel makkelijk is wanneer alles in een DB staat.

  • Basszje
  • Registratie: Augustus 2000
  • Laatst online: 01-09 11:10

Basszje

Reisvaap!]

Als je je eigen login wilt behouden moet je de rechten op je dirs en documenten zetten naar de IUSR_ANONYMOUS op dirs buiten IIS .

Deze kan dan de documenten oppikken idd met FileSystemObject het hele zooitje weer naar de browser oid toeplempen.

De gebruikers kunnen dan niet van buitenaf zomaar bij de word docjes.

Beware of listening to the imposter; you are undone if you once forget that the fruits of the earth belong to us all, and the earth itself to nobody.


  • Davidoff402
  • Registratie: Oktober 2000
  • Laatst online: 24-03-2022

Davidoff402

The more you tweak....

Topicstarter
Thanks everybody. Heb het toch opgelost met een dir buiten IIS. Verificatie via NT authentication.

Sempron 3800+ 8k9a7i


  • maikel
  • Registratie: Januari 2001
  • Laatst online: 13:04
Als zo'n dir echt buiten IIS valt, kan er toch van buitenaf nooit iemand direct naar die doc-files linken ?
Als dat zou kunnen, zou ik bijv. ook http://www.blabla.com//winnt/system32/... kunnen doen.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 09:31

Crazy D

I think we should take a look.

Overigens kun je als je geen dir buiten de www-root ter beschikking hebt maar je wel rechten kan zetten op een dir, een dir geen leesrechten geven, dan kun je niet rechtstreeks de file opvragen (want geen leesrechten), maar wel via een script die het docje kan lezen en uitspugen (en dat script kan dan ook de security checken). Buiten de webroot is uiteraard wel veiliger.

Exact expert nodig?

Pagina: 1