JohndoeMAKT Skrevet 23. juni 2006 Del Skrevet 23. juni 2006 (endret) JDs halvparanoide tanker om tilgangsbegrensinger på flott norwlish. Dette var orginalt en tråd om hvordan du kan aktivere og bruke avansert fildeling under WinXP, men den ble utvidet og utvidet til dette. Mye kan ses på som bare fabling, men det får så være. For å få et sikrere system kan det være lurt å selv ta over kontrollen over hvilke brukere som er på ditt system og hvilke rettigheter de har. Nesten alle oppgaver som kan gjøres i WinNT krever å bli gjort under et brukernavn og ved å selv kontrollere brukerne kan du sørge for at de ikke blir brukt til annet enn hva de er beregnet for. Som eneste maskin bak en ADSL-router med NAT og brannmur på et sikkert sted med ingen konfidensielle data er nok ikke dette nødvendig, men dersom andre har lokal tilgang eller tilgang over et lokalt nettverk og du ønsker økt brukervennlighet uten nedsatt sikkerhet kan b.l.a. hva jeg skriver her være noe å tenke på. Identifisere nøvendige og unødvendige brukere og brukergrupper: Før du kan begynne å sette begrensninger må du finne ut hvilke brukere du trenger og om du eventuelt krever nye brukergrupper. Dersom du er mye på LAN med faste personer kan det være nyttig med en "LANpersoner" brukergruppe og dersom det er andre lokale brukere som bruker maskinen kan det være en fordel å lage en felles brukergruppe for de. Fordelen med dette er at du ikke trenger å editere Windows sine egne brukergrupper og at opprettelse av en ny bruker i disse brukergrupppene tar under ti sekunder og krever ikke mer konfigurering. Et eksempelsystem kan ha disse brukerne: Administrator | Brukerkontoen du logger inn lokalt med backupadministrator | En administratorkonto med litt begrenset tilgang (nettverkstilgang, remote desktop) med et brutalt passord som kun brukes dersom noe skjer med 'Administrator' brukeren safeexe | Brukerkonto som kan brukes for å kjøre programmer med lavere tilgang. På samme måte kan du ha en slik bruker med høyere tilgang dersom du logger inn med en begrenset bruker. Denne brukeren kan være medlem av ingentilgang-disk og programmer kjørt under denne brukeren kan derfor ikke lese/endre filer/mapper mor | Medlem av lokaltilgang-kiosk slik at maskinen kan brukes til et par utvalgte programmer far | - | | - søster | - | | - lanPer | Medlem av nettilgang-medium og nettilgang-enkel som gjør at denne brukeren har tilgang til X+Y delte mapper lanUlf | - | | - lanGeir | Medlem av nettilgang-maks, nettilgang-medium og nettilgang-enkel som gjør at brukeren har tilgang til X+Y+Z delte mapper lanGunnar | Medlem av nettilgang-maks, nettilgang-medium, nettilgang-enkel og lokaltilgang som gjør at brukeren har tlgang til X+Y+Z delte mapper og kan også logge på maskinen lokalt med begrenset tilgang guest | Medlem av nettilgang-enkel som gjør at denne brukeren har tilgang til X delte mapper Og disse brukergruppene: Administrators | Tilgang til alt ingentilgang-disk | Ved å sette deny i NTFS-rettighetene på alle partisjoner til denne brukergruppen (i %systemdrive% må den nok ha litt lesetilgang) hindrer du at en bruker i denne brukergruppen får lest ut eller skrevet til disk lokaltilgang | Tilgang til å logge på systemet og eller varierende tilgang lokaltilgang-kiosk | Tilgang til å logge på systemet, men ellers veldig begrenset tilgang. Skal maskinen i kiosk-mode må nok hver bruker lagt her også få lastet inn en kiosk-brukerprofil med mindre du setter den til default for nye brukere nettilgang-enkel | Tilgang til å logge på over nettverket men ellers ingenting annet og denne brukergruppen brukes ved avansert deling over nettverket nettilgang-medium | - | | - nettilgang-maks | - | | - Ved å opprette flere brukergrupper som bare har et par rettigheter og gi de beskrivende navn kan du lett lage brukere med forskjellig tilgang uten å bruke mye tid på personlig konfigurering. Dersom en bruker er med i brukergruppen 'lokaltilgang' har den brukeren tilgang til å logge inn direkte på maskinen, men det trenger ikke å bety at den personen kan logge på over nettverket, noe som brukerne som er medlemer av en av 'nettilgang' gruppene har. Det er sannsynligvis få som har så stor trafikk av nye brukere at dette er absolutt nødvendig, men det åpner for å lettere gi brukere større og mer varierende tilgang i motsettning til full/ingen som ofte er alternativet. For å editere hvilke brukere og brukergrupper som er installert på systemet er lusrmgr.msc eller net.exe i CMD verktøyene å bruke. Den første er en grafisk MMC (du kan altså administrere fra en annen maskin uten ekstra programmer) mens den andre bruker CLI som gjør den til det rette valget for batcheditering, små og hurtige oppgaver og administrering over SSH med CMD som shell. Syntaksen for et par viktige oppgaver med net.exe er: net user brukernavn passord /add {Oppretter en ny bruker ned navn brukernavn og passord passord. Denne brukeren er som default med i brukergruppen users} net localgroup gruppenavn /add {Oppretter en ny brukergruppe med navn gruppenavn} net localgroup gruppenavn brukernavn1 brukernavn2 /add {Legger brukerene brukernavn1 og brukernavn2 inn som medlemer av gruppenavn} LM & NTLM: Passord i WinNT frem til Windows XP blir lagret i to hasher i SAM (security accounts manager), en LM-hash og en NTLM-hash. LM-hash ble brukt i LAN Manager fra 80-tallet og er krypteringsmetoden brukt på passord i hvertfall hele 9x serien frem til og med Windows ME. LM-hash er basert på DES, men er implementert ved at passordet først blir konvertert til upper case og blir så delt opp to blokker på syv tegn som hver blir hashet. For femten år siden ble nok dette gjort for å begrense CPU-kraft (men på den tiden var det nok også sikkerhetseksperter som så på IBM og MS og sa "Hæ?") påkrevd for å lage en hash men i dag er maskiner så kraftige at en LM-hash gir veldig begrenset sikkerhet for et passord. Although it is based on DES, a reasonably secure hash function, the LM hash can easily be cracked due to two weaknesses in its implementation. First, passwords longer than 7 characters are divided into two pieces and each piece is hashed separately. Second, all lower case letters in the password are changed to upper case before the password is hashed. The first weakness allows each half of the password to be attacked separately. While there are 284 different passwords made of up to 14 mixed case letters and digits, there would be only 242 different 1-7 character password pieces using the same character set. Restricting the character set to upper case letters and digits further reduces the number of possibilities for each half to 236. By mounting a brute force attack on each half separately, modern desktop machines can crack alphanumeric LM hashes in hours. Tabeller med nok hashes til å få en match på 99.x prosent av alle hasher tar kun timer å generere (Jeg har en hashliste på 610 MB som gjelder for alle upper case bokstaver, altså 'alle' LM hasher, som mine 11 GHz brukte 10-11 timer på å lage) og det finnes også mange kilder online hvor du kan skrive en hash og få lest ut passordet bak hashet i rentekst. Den andre hashen systemet lagrer er NTLM, nå IWA (Integrated Windows Authentication) som bruker MD4 (MD5 i nyere versjoner?) for å hashe passordet. NTLM (hvertfall eldre versjoner, jeg vet ikke om den er seriøst endret) har også en tåpelig implementasjon som selv om den er en forbedring av LM (større antall tegn i hver hash, MD4/MD5 og DES kombinert med et random salt sendt fra server som ber om passord) kunne vært gjort en del bedre. Rene tabeller av alle NTLM-hasher er med dagens maskinvare "umulig" (eller hvertfall ikke praktisk), men ved å selv vite hvilket salt som er brukt (ved å sette serveren til å sende et fast salt) og pga den dårlige implementasjonen skal slike tabeller være praktisk mulig for hvem som helst å både lage og lagre. NTLM hvor det hvertfall trengs litt innsats for å knekke er altså å foretrekke over LM som fortsatt blir brukt pga bakoverkompabilitet (NB, på passord over 14 tegn blir NTLM brukt uansett), så ved å deaktivere LM på maskinen din vil teoretisk øke sikkerheten en del. Flere måter å hindre at LM blir brukt kan du lese om her hos Microsoft. Bruker du Windows XP og er lat kan denne endringen gjøres ved å merge denne fila. Et viktig punkt å få med seg er at denne endringen hindrer at alle nye passord blir lagret som LM-hash, mens alle passord som allerede er lagret på maskinen blir ikke endret. Dersom du ved lusrmgr.msc eller net.exe (net user brukernavn nyttpassord) setter et nytt passord til gamle brukere vil systemet ditt være fritt for LM-hasher. Lokale Sikkerhetsinnstillinger / Local Security Settings: Via en MMC snap-in (secpol.msc) kan du her endre sikkerhetsinnstillinger som igjen blir lagret i registeret. Endring av disse verdiene kan alternativt gjøres grafisk via regedit.exe eller via CLI med reg.exe. (det siste valget kan altså gjøres i batch) Beskrivelse av valgene her kan du lese mer om her hos Microsoft. Mine .reg filer fra tiden jeg satt meg mer inn i WinNT (jeg har bla lest alle tips på jsifaq... to ganger) er borte for lenge siden og det er også all hukommelse, så bortsett fra et par er disse kun utvalgt av logikk. Dersom du mener annet passer inn eller har kommentarer til mine valg setter jeg pris på tilbakemeldinger. Account Policies Account Lockout Policy -Account lockout threshold - 3 invalid logon attempts -Account lockout duration - 2 minutes -Reset account lockout counter after - 2 minutes {Dersom et passord blir skrevet feil tre ganger blir den brukerkontoen stengt for nye innloggingsforsøk i to minutter. Kan hindre 'brute social engineering' forsøk på å tippe et passord men muliggjør 'sabotasje' ved at en bruker kan bli utestengt fra innlogging} Local Policies User Rights Assignment -Access this computer from the network {Her legges alle brukergrupper du ønsker skal ha tilgang inn fra nettverket. Administrators, nettilgang-enkel, nettilgang-medium og nettilgang-maks i eksemplet} -Deny access to this computer from the network {Her legges brukere som er medlem av en gruppe som har denne tilgangen, men skal ikke ha tilgangen. backupadministrator er et slikt eksempel} -Allow logon through Terminal Services {Selvforklarende. Som default kan alle administratorer dette, men siden kan begrenset til kun Administrator siden backupadministrator ikke skal brukes} -Log on locally {Disse brukerne kan logge direkte på maskinen. Administrators, lokaltilgang og lokaltilgang-kiosk i eksemplet} -Deny logon locally {Selvforklarende. Eksempler på brukere som passer her er en bruker som er medlem av administrators som blir brukt for å installere programmer med "run as" mens operatøren er logget inn med en annen bruker. Administratorkontoer som brukes til å starte servere men som ikke skal brukes lokalt kan også passe inn her} -Force shutdown from a remote system {Disse brukerne kan skru av systemet over nettverket. (shutdown.exe, MMC?, Remote Desktop?, o.l) Kjekk feature for f.eks avskruing av flere maskiner på en gang, men sikkert mer missbrukt enn brukt. Bruker du ikke denne featuren tar du bort alle brukere} -Shut down the system {Selvforklarende. Administrators og lokaltilgang i eksempelet, mens lokaltilgang-kiosk ikke får denne tilgangen selv om de kan logge på systemet} -Take ownership of files or other objects {Alle NTFS filer/mapper har en eier som oftest er brukerkontoen som opprettet filen. Eieren av en slik ressurs er den som kan sette andre brukerkontoers tilgang, men alle brukere/brukergrupper som er lagt til her i secpol.msc kan ta over eierskapet av en hvilken som helst fil og dermed med få klikk få akkurat den NTFS tilgangen han ønsker. En administrator kan derfor ta eierskap og lese en annen administrators beskyttede filer. Bruker default (administrators) i eksemplet. Skal du begrense en annen administrator fra å gjøre dette må du også begrense den brukerens mulighet for å endre de lokale sikkerhetsinnstillingene. Security Options -Accounts: Administrator account status {Dersom du bruker en annen administratorkonto med et annet navn bør 'Administrator' deaktiveres. Dette gjelder ikke dersom du har omdøpt denne kontoen til et annet navn} -Accounts: Guest account status {Guest-kontoen blir oftest deaktivert, men siden de fleste som prøver å få tilgang til en maskin prøver aller først med brukernavn og passord 'guest' kan denne brukes til 'public' delte mapper. Men et bedre valg er nok å deaktivere Guest-kontoen, omdøpe den til f.eks Guest2 (fordi den ikke kan slettes) og opprette en ny bruker med navn 'guest' som er 'public'} -Interactive logon : Do not display last user name {Gjør det litt vanskeligere for brukere med lokal tilgang å logge seg inn med en konto de ikke eier, men gjør bruk av maskinen litt tyngre. Har alle brukere som har lov til å logge på lokalt sterkt nok passord er ikke dette nødvendig} -Interactive logon : Do not require CTRL-ALT-DEL {Det samme som over} -Network access : Sharing and security model for local accounts {Denne bør settes til 'Classic - local users authenticate as themselves' dersom pålogging over nettverket (koble til delte mapper f.eks) skal brukes. Med denne på classic må alle som skal logge på over nettverket oppgi brukernavn og passord og du kan derfor bruke avansert fildeling for å gi dele forskjellige mapper for forskjellige brukergrupper/brukere. Dette gjør også at du kan logge på med administratorrettigheter og dermed bruke MMC for administrasjon} -Network security : Do not store LAN Manager hash values on next password change {Dekket av delen om NTLM} -Network security : LAN Manager authentication level {Default her er det øverste valget (0) for bakoverkombabilitet med eldre systemer, men LM er som sagt helt uaktuellt og ved å bruke en egen CIFS server som gir ut et statisk (og kjent) salt kan NTLM-hasher også dekrypteres, så dersom bakover kompabilitet med NTLM ikke er nødvendig (pre NT4 SP4?) er nok valg 3, 'Send NTLMv2 response only' det beste valget} Låsing av maskin: Dersom du har deaktivert 'Bruk Velkomstskjermen' / 'Use the Welcome Screen' vil du ved å trykke CTRL-ALT-DEL få opp 'Windows security' menyen hvor det markerte valget er 'Lock Computer'. Et annet alternativ er WIN+L hvor 'WIN' er den flotte knappen mellom CTRL og ALT. Ved å låse maskinen hver gang du går bort fra den hindrer du andre i å missbruke maskinen din ved å opprette/slette filer, installere trojaner, deaktivere sikkerhetsinnstillinger, opprette nye brukere, endre en brukers passord eller å installere aimbot i din CS slik at storebror blir bannet i RADAR. NTFS-tilgang: For å få mulighet til å lett endre NTFS-tilgang på filer og mapper må du først aktivere 'Security' fanen i Windows Explorer. Den letteste måten er å i explorer (ikke Internet Explorer, men Windows Explorer) under 'Tools' og 'Folder Options' deaktivere 'Use simple file sharing (Recomended)'. Microsoft har laget en kort videosnutt av dette som du kan se her. Et annet alternativ skal være å kjøre denne registerfilen, men jeg har ikke selv testet om den fungerer da første metode er grei nok. Etter at det er gjort kan du gå til egenskapene for en fil/mappe og endre rettigheter under 'security' fanen. Som default arver alt sine innstillinger fra sin forelder helt opp til partisjonens topp, så skal du editere en underressurs må du først deaktivere denne arven som du gjør under 'Advanced' og 'Inherit from parent the permission entries..'. Ved å legge til brukere og brukergrupper og huke av for allow for de forskjellige oppgavene kan du begrense hva brukere får gjøre. En viktig ting å bemerke seg er at deny overstyrer allow. Dersom en bruker er i en brukergruppe som har deny tilgang til lesing av en ressurs hjelper det ikke om den er gitt allow via en annen brukergruppe. Ved å begrense brukeres mulighet for å lese, skrive, modifisere og opprette filer og mapper kan du hindre malware fra å skade systemet og i verste fall begrense området programmet kan skade. Et annet klart bruksområde er å gjøre data ulesbare og private for andre brukere, men vit at denne sikkerheten er veldig svak. En annen administrator kan endre ditt passord for å logge inn, en administrator kan (som default) ta eierskap over en hvilken som helst ressurs på få klikk og dermed kunne endre NTFS-tilgangen, ved å koble disken inn i et annet NT-system kan en av det systemets administrator ta eierskap over filene, en NTLM-hash av ditt passord mot et kjent salt kan teoretisk knekkes og til slutt finnes det en rekke verktøy du kan boote fra som leser ut et systems brukernavn og lar deg overskrive systemets SAM. UBCD som du trolig finner i de fleste supportnerders verktøykasse har bla et slikt verktøy hvor du etter få trykk kan skrive inn nytt passord til de brukerene du ønsker. Skal du virkelig sikre dataene er programmer som OpenSource Truecrypt med AES kryptering og read/write-passord kombinert med NTFS-tilgang for blokkering av lesetilgang og sikkerhet for det som ikke er kryptert et bedre valg. En viktig ting som bør nevnes er at mye i %systemroot%, altså partisjonen hvor Windows er installert og sannsynligvis også bootdiskens primarypartisjon (dersom de ikke er den samme) må ha en viss tilgang for at Windows i det hele tatt skal kunne boote. Jeg vil anbefale å beholde 'Everyone' sin fulle tilgang, ikke bruke den partisjonen til lagring av noe som helst og sette deny tilgang dypere mappestrukturen hvor bruker- og system-sensitive data blir lagret. Runas: Det er flere måter å kjøre et program som en annen bruker og her er tre av de: Høyreklikke på en programfil og velge "Run as". Der kan du skrive inn brukernavn og passord til brukerkontoen du vil kjøre programmet under. Lage en snarvei til en programfil hvor du under Properties, fanen Shortcut og Advanced finner 'Run with different credentials'. Er denne aktivert vil systemet be om brukernavn/passord ved kjøring. I CMD bruke runas.exe. C:\Documents and Settings\Administrator>runas RUNAS USAGE: RUNAS [ [/noprofile | /profile] [/env] [/netonly] ] /user:<UserName> program RUNAS [ [/noprofile | /profile] [/env] [/netonly] ] /smartcard [/user:<UserName>] program /noprofile specifies that the user's profile should not be loaded. This causes the application to load more quickly, but can cause some applications to malfunction. /profile specifies that the user's profile should be loaded. This is the default. /env to use current environment instead of user's. /netonly use if the credentials specified are for remote access only. /savecred to use credentials previously saved by the user. This option is not available on Windows XP Home Edition and will be ignored. /smartcard use if the credentials are to be supplied from a smartcard. /user <UserName> should be in form USER@DOMAIN or DOMAIN\USER program command line for EXE. See below for examples Examples: > runas /noprofile /user:mymachine\administrator cmd > runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc" > runas /env /user:[email protected] "notepad \"my file.txt\"" NOTE: Enter user's password only when prompted. NOTE: USER@DOMAIN is not compatible with /netonly. NOTE: /profile is not compatible with /netonly. C:\Documents and Settings\Administrator> En ting som er felles for alle disse er at det ikke er garantert at programmene fungerer, og at de fungerer som de skal, men er du i tvil om en programfil er det bedre at den ikke blir kjørt enn at den eventuelt gjør skade. Fildeling: Som default er det en rekke ressurser som er skjult delt hvor kun administrator har tilgang. Disse kalles 'administrative shares' og vil opprettes på nytt dersom du sletter de, men siden slik deling lett kan utnyttes er det best å fjerne de. Det kan også være greit å fjerne din maskin fra listen andre Windowsmaskiner har over maskiner på lokalnettet (OBS, linux og programmer for å liste maskiner på lokalnettet vil nok liste den likevel) dersom de rette personene vet ditt maskinnavn og/eller IP. Registerfiler for å gjøre disse tingene ligger her og her, og mens du er i gang kan du også legge inn denne dersom du har mer enn et par hundre megahertz CPU for å gjøre startmenyen en del raskere. For å få en oversikt over hva som for øyeblikket er delt på din maskin kan du kjøre 'net share' i CMD. Fra CMD kan du også dele en ressurs ved å f.eks skrive 'net share katt=c:\katt /remark:"bilder av en katt"', men såvidt jeg vet kan du ikke sett de forskjellige brukergruppenes tilgang til delingen samtidig så en av de grafiske løsningene er et bedre valg. Det den derimot er god til er å slette delte ressurser som du kan gjøre med 'net share katt /delete'. Her nevner jeg tre grafiske måter å legge til en delt ressurs: Høyreklikke på en mappe og under Properties, fanen Sharing velge 'Share this folder' og under 'Permissions' legge til brukere redigere deres tilgang. I MMC legge til 'Shared Folders' snap-in. Denne er også tilgjengelig via 'Computer Management', compmgmt.msc. Høyreklikke og velge 'New File Shar', men.. det er i praksis det samme som å kjøre shrpubw.exe som er min favorittmetode fordi den støtter både å selv skrive path eller å velge via 'Browse' og fordi den støtter comment som gjør 'net share' mer oversiktlig. Ikke se på denne posten som en howto, for det er den langt fra å være, men se på den som en grunnidé for hvordan du selv kan skikre systemet ditt og eventuelt samtidig øke andre brukeres praktiske bruk av det. Kioskmode, mer avansert sikkerhetspolicies, logon- / logoff-script, tidsbegrensinger, gpedit, flytte SAM og annet er det bare å selv søke etter. www.jsifaq.com bør være først stopp på din søken, selv om den nye søkemotoren er nesten like dårlig som dette forumets. Som nevnt tidligere er kommentarer på feil, din mening om hva jeg har skrevet, en beskrivelse av ditt system for begrenset tilgang og utvidelse/utdypning av posten bare positivt. EDIT : All formatering i CODE ser anderledes ut enn i preview. Endret 23. juni 2006 av JohndoeMAKT Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå