Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Säkerhet på användarnivå

Postades av 2006-05-26 02:05:11 - Stefan Johansson, i forum sql-server/msde, Tråden har 6 Kommentarer och lästs av 1203 personer

Tjo och hej!

Ännu en gång söker jag svar via ett beprövat forum :)

Jag håller på att utveckla ett system för tidsredovisning och håller just nu på med att implementera säkerhet på användarnivå. Dock har jag stött på några frågetecken som jag vill reda ut...

Först, lite bakgrund.

Systemet kommer användas på ett företag som kör Novell nätverk. Inloggning sker mot en server som kör Novell Netware 6.5 som operativsystem. Databasen till systemet ligger på en SQL Server 2000.

SQL server authentication (mixed-mode) används nu på SQL-servern då det inte funkar med windows authentication pga novell.

För att ansluta till SQL servern finns en krypterad connectionstring på alla klienter med ett användarnamn och lösenord (SQL Security). Alla klienter ansluter alltså mot SQL servern med samma användarnamn.

IT-avdelningen på företaget vill inte att varje användare har ett eget SQL login pga administrationsorsaker, därför är det nödvändigt att samma användarnamn avänds på samtliga klienter för anslutning mot servern.

Användarsäkerhet på applikationsnivån kommer att hanteras i databasen genom en tabell 'UserProfile' där användarnamn och lösenord sparas krypterat. Det finns även tabeller för roller, säkerhetsfeatures och länktabeller mellan dessa. Se hur databasen och detta är uppbyggt nedan...

http://www.tfd.chalmers.se/~johansss/misc/060525-10xx_SD5k_database_design.pdf

Nu till da problem. Skulle någon få tillgång till användarnamnet och lösenordet har han full åtkomst till databasen t.ex genom excel. Inte så bra.

Hur löser man detta snyggt?

En idé är att begränsa åtkomst till endast vissa views och stored proceduress och sedan på något sätt
skicka med användarid och lösenord (som matchar tabellen 'UserProfile') och sedan kolla om användaren har åtkomst till just den stored procedure eller view som körs... Men hur???

En annan idé är att använda en application role och därefter kontrollera åtkomst i VB.net koden istället.

Någon som har någon bra idé? Jag tycker jag lagt ganska mycket tid på att surfa och leta info, men det är rätt knepigt (eller så är det jag som är dålig på att hitta rätt...).

/Mvh Stefan Johansson


Svara

Sv: Säkerhet på användarnivå

Postades av 2006-05-26 07:39:22 - Johan Djupmarker

Som du redan har föreslagit så kan du göra all dataaccess genom SP:s som du skickar med inloggningsuppgifterna till. Det enda alternativet jag känner till (som jag tycker är mer rätt) är att bygga någon form av serverapplikation (webservice kanske?) som sköter all kommunikation med databasen. Klienterna pratar istället med serverapplikationen som hanterar rättigheterna.

/Johan


Svara

Sv:Säkerhet på användarnivå

Postades av 2006-05-28 22:47:45 - Mikael Wedham

Du kan gärna kolla på Application Roles i SQL Server. Kanske de kan ge dig ett par tips. Sedan skulle jag krypterat (ifrån applikationen) det som sparas i databasen.

/micke


Svara

Sv:Säkerhet på användarnivå

Postades av 2006-05-29 19:30:12 - Stefan Johansson

Den andra metoden du förslår känns mer rätt, men i dagsläget har jag absolut ingen erfarenhet av programmering av serverapplikationer så därför får det bli ett senare projekt. Därför känns det som att metoden med SP:s är den jag får köra på.

Har du några mer tips vad gäller detta? ska jag bara skicka med användarnamn och lösenord och sedan kontrollera genom att exempelvis anropa en SP som verifierar rättigheterna i varje SP där användarrättigheter ska kontrolleras?

För att få det riktigt säkert bör jag väl också se till att kryptera all data med SSL, annars finns det väl en potentiell risk att någon sniffar nätverkstrafiken och på så sätt kan finna lösenord (visserligen i krypterad form, men ändå)?

Du har inga exempel du kan dela med dej av?

Trial and error i all ära, men exempel lär man sig också mycket av...

Som du märker är jag fruktansvärt grön på detta område.

/Mvh Stefan


Svara

Sv: Säkerhet på användarnivå

Postades av 2006-05-29 19:35:12 - Stefan Johansson

Hello Mikael,

Mmm, jag har kollat upp Application Roles lite och det känns som ett alternativ.

Jag måste ändå på nåt sätt kontrollera användarrättigheter, helst genom att endast ge åtkomst till vissa views och stored procedures och sedan i SP:na kontrollera rättigheter mot mina tabeller för roles och säkerhetsfeatures. Några tips?

Vad menar du med det sista du skrev?

/Mvh Stefan


Svara

Sv: Säkerhet på användarnivå

Postades av 2006-05-29 21:35:28 - Johan Djupmarker

Har tyvärr inget exempel på hyllan. Men du har ju "tänket" klart, så det är ju bara att sätta igång och koda! :)

Vad ska du utveckla klientapplikationen i för språk/miljö?

/Johan


Svara

Sv:Säkerhet på användarnivå

Postades av 2006-06-04 20:21:24 - Stefan Johansson

Okido, det var synd.

Mmm, tänket är kanske rätt, men just hur man ska implementera det bra är inte helt klart... Just säkerhetsgrejer med olika roller och olika accessnivåer är jag helt värdelös på. Ska se om jag kan hitta några böcker som BARA tar upp just såna saker. Du vet ingen bra?

Klientapplikationen utvecklas helt i VB.net 2003. Tanken är att det i ett senare stadie även ska gå att rapportera vissa saker genom en webapplikation...

/Stefan


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
451
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies