[ newyork @ 24.06.2007. 10:32 ] @
| Napravio sam aplikaciju koja koristi MS SQL server.
Doslo je vreme da se postavi na host server i zeleo bi da bude zasticena kako treba.
Postavljeno je MSSQL server i windows authentication.
Postavljen je korisnik koji ima admin prava i preko koga aplikacija pristupa bazi.
Sta da napravim da sve bude kako treba i da onemogucoim adminu hosta i drugima da koriste podatke unutar db, brine me npr. da ne pristupi preko "sa" ili da ne napravi neki stos koji mi ni ne moze pasti na pamet.
Hvala svima
|
[ priki @ 25.06.2007. 11:59 ] @
ako gledas security kroz tvoju aplikaciju,
to možeš da kontrolišeš kroz aplikaciju, da li neko ulazi sa 'sa' nalogom,
tebi faktički trebaju samo read i write prava da bi aplikacija mogla da koristi bazu
jedino ako u aplikaciju nisi stavio neke administratorske procedure ?!?!?!?!?!!
ako misliš da bazu kontrolišeš preko MS SQL servera tipa da zaključaš
bazu i dozvoliš pristup samo tvojoj aplikaciji, to već ne znam
u principu, 'sa' nalog ima pristup svemu
tako da preko Analyzer-a može raditi bilo kakve upite
zato i postoje ljudi koji se zovu administratori sistema
da brinu o sigurnosti sistema
[ newyork @ 25.06.2007. 23:00 ] @
Hvala na odgovoru. Ovde se radi o hostu koji nema obavezu zastiti moje podatke, dakle njihov administrator nije i "moj" administrator.
Zelim izbaciti "sa" ako je moguce i omoguciti samo pristup mojoj aplikaciji, jednostavno, samo read i write, nista vise.
Sta konkretno uraditi da bi bio siguran da nisam ostavio vrata otvorena?
[ dekibre @ 26.06.2007. 00:55 ] @
@newyork
Objasni mi molim te šta ti znači "njihov administrator"
1. Administrator SQL Server na kome ćeš hostovati svoju bazu
2. Administrator operativnog sistema na serveru na kome je instaliran SQL server i koji nema pravo pristupa SQL Serveru
3. Administrator operativnog sistema na serveru na kome je instaliran SQL server i koji ima administratorska prava pristupa SQL Serveru.
4. nešto drugo...
[ newyork @ 26.06.2007. 08:22 ] @
Nije mi jasno zasto me to pitas, ali nije ni vazno?
Mislim na administratora ili administratore "host" servera na kome ce biti moja baza. Rekao bi da je odgovor sve navedeno, odnosno na bilo koga tko moze kopati po mojoj bazi. Ovo "njihov" znaci da to nije neki kolega unutar moje firme vec neko nepoznat...
[ priki @ 26.06.2007. 08:34 ] @
stari moj, bez ljutnje
ali mnogo si konfuzan u objasnjenjima
[ negyxo @ 26.06.2007. 08:58 ] @
Pa ovako. Ako se vec odlucis da hostujes kod nekog od provajdera onda moras imati poverenja u tog provajdera. Njemu je u interesu da tebi zastiti sto je vise moguce podatke sa njegove strane a na tebi sve ostalo. Znaci ovo je pitanje medjusobnog poverenja. Inace, kada neko ima fizicki pristup bazi onda nema leka, moze da radi sa njom sta hoce, nema tu nikakvih sifri pa cak ni enkrpicija podataka te nece mnogo spasiti. Drugo resenje je, naravno, da sam uzems i postavis server na netu.
[ newyork @ 26.06.2007. 10:38 ] @
Hvala na odgovoru.
Zao mi je cuti da nema zastite cak ni sa skupe baze kao sto je MS SQL. Nisam mislio na kriptiranje i sl. vec da je ugradjeni security dovoljan a da ja samo trebam podesiti sve kako treba... :((((( Razocaran sam u MS SQL u potpunosti...
O poverenju prema hostovima se ne moze govoriti, to je cisto kockanje sa podatcima.
[ negyxo @ 26.06.2007. 10:58 ] @
Pa cuj, nije ovo pitanje samo MS SQL-a nego i svih ostalih baza. Kada ti imas pristup podacima i to fizicki pristup, onda mozes da radis sta ti je volja i tu ne postoje nikakvi apsolutni mehanizmi zastite. Ne postoji zastita od samog sebe.
[ priki @ 26.06.2007. 11:26 ] @
onda ces biti razocaran u sve sisteme za upravljanje bazama podataka
[ newyork @ 26.06.2007. 11:56 ] @
Zao mi je da je tako...
Programerski gledano napravio sam maksimalnu zastitu pristupa bazi i iskreno, nadao sam se da se MS SQL nece moci otvoriti samo tako.
Imam podatke na kojima sam radio vise godina, zapisi su po 200.000 redova u tabeli i nije mi vazna brzina niti neke druge prednosti MS SQL-a. Isao sam na MS SQL radi toga sto sam verovao da pruza bolju zastitu podataka jer inace posao bi mi dobro odradio i MS Access, da ne kazem jevtiniji hosting.
Ovo u vezi kradje od samog sebe ne bi se slozio i ako to sad nije vazno jer ovde je baza na stranom hostu. Ako zamislimo veliku firmu sa puno ljudi logicno bi bilo da ima nekih podataka koji ne bi trebali biti dostupni svima pa makar oni bili i admini.
Mozda bi bilo zanimljivo da neko objasni na koji nacin bi se mogla otvoriti MS SQL baza ako je zasticena passwordima. Moram priznati da me to sad intrigira.
[ priki @ 26.06.2007. 12:12 ] @
vidi se iz tvojih postova da nemas iskustva sa RDBMS
to su drugaciji sistemi nego do sada tabele ili Access
većini administratora treba puno vremena da povezu tabele i
naprave upite da bi shvatili logiku programa a toliko
vremena nemaju jer imaju gomilu drugih poslova i odgovornost
prema firmi jer ona je ta koja ih hrani
kakve to imas podatke kad si toliki naglasak stavio o kradji
ili bolje da pitam kakva to iskustva imas sa kradjama ?
[ ventura @ 26.06.2007. 12:30 ] @
Sigurno ima jako bitne podatke čim je planirao da ih stavi na virtual hosting...
Čoveče opusti se, baš je nekome sad stalo do tvojih podataka...
[ newyork @ 26.06.2007. 12:52 ] @
Na zalost imam losa iskustva sa hostinzima.
Npr. ukradena mi je domena i posle sam ucenjivan da je mogu dobiti ako platim 250$ i sl. Ne zelim siriti pricu u pogresnom smeru.
Ovde se ne radi o meni i o mojim podatcima niti o njihovoj vrednosti vec o mogucnostima i nemogucnostima MS SQL-a.
Dakle, ako se slozimo da nisam strucnjak za MS SQL ili bilo sta drugo i da su moji podatci bezvredni i dalje ostaje pitanje da li MS SQL to moze ili ne moze i ako moze kako. Sve drugo su price i pricice.
Zahvaljujem se svima na pomoci.
[ negyxo @ 26.06.2007. 13:26 ] @
Pa gledaj ovako. Vec sam spomenuo, kada neko ima fizicki pristup kompjuteru tada nema leka, sta god da uradis u najboljem slucaju mozes da zastitis da ti neko ne vidi podatke, ali ne mozes da ih sacuvas, tj. neko moze veoma lako da ti ih korumpira, dovoljno bi bilo da uzme jedan progam koji moze da zapisuje bitove na HDD i dovoljno je jedan bit da zapise na HDD u delu u kome se nalaze tvoji podaci i tvoji podaci vise nisu validni. Znaci kako god okrenes ako stavljas na neciji server podatke moras imati poverenja u njega i to ti je to. Jedino drugo resenje je da zakupis liniju i postavis svoj server koji ce se nalaziti kod tebe i ti ces imati svu moc u tvojim rukama. Sve ostalo jeste, rekla-kazala, ali nijedan drugi sistem ti ne moze garantovati zastitu ako neko moze do njih da dopre kako hoce. U tom smislu sam rekao ne mozes da zastitis podatke od samog sebe, jer kada ti sednes za kompjuterom ili neko drugi komjuter to ne zna, njemu svi koji imaju pristup su isti.
[ newyork @ 26.06.2007. 13:49 ] @
Hvala na pojasnjenju.
U stvari, ne brine me da ce neko unistiti te podatke vec ih zelim zastiti od citanja (otvaranja-prenosa). Mislio sam da je ok ako stavim jednog usera i da je on admin sa read i write pravima i da aplikacija preko njega pristupa podatcima. Kako sam rekao, pristup sam zastitio kroz aplikaciju ali ostaje problem same baze koja stoji na serveru i pitanje njene zasticenosti. Pitao sam kako bi neko provalio u MS SQL jer me zanima koliko je znanja potrebno za to i koliko je komplikovano. Naravno, svestan sam da nema univerzalne i potpune zastite.
Ocito je najbolje koristiti svoj server i ako ne i "najudobnije", izgleda da ne ide drugacije.
Hvala jos jednom :)
[ negyxo @ 26.06.2007. 14:30 ] @
Pa u sustini trebalo bi da te brine i 'curenje podataka' i korupcija podataka. Jer i jedno i drugo ce izazvati stete. Sem, sto prilikom korupcije redovni backup moze da pomogne. Nego, SQL Server ti ne nudi dobru security administraciju izmedju SQL Server-a i OS na kome hostuje SQL Server, nego izmedju Servera i konektovanih user-a. U tome se svodi ovaj advanced security sistem u odnosu na obicne baze poput accessa. A taj deo oko sigurnosti same baze, tj. zabrane logovanja bilo kome nema ni smisla da se resava kada neko ima pristup bazi jer sasvim lako moze da provali sifru ma kakav sistem zastite bio. Pitao si kako neko moze da provali na SQL Server - pa dosta lako, s tim da bi bolji izraz bio ne 'provali' nego konektuje. S obzirom da se ti konektujes na Server a ne na bazu (loginu dodedljujes kojoj bazi moze da pristupi preko user-a) dovoljno je da se logujes u win kao admin i tu ti je vec zagarantovana konkcija ka serveru. Jednom kada se korisnik loguje kao admin, sve opcije su mu otvorene. Tako da bi se moglo reci da je znanje dosta minimalno.
[ newyork @ 26.06.2007. 14:44 ] @
Aleksandar,
hvala ti na pomoci, iskreno cenim tvoju strucnost i dobru volju da mi pomognes.
Hvala jos jednom :)
[ dekibre @ 27.06.2007. 22:20 ] @
Citat: negyxo: S obzirom da se ti konektujes na Server a ne na bazu (loginu dodedljujes kojoj bazi moze da pristupi preko user-a) dovoljno je da se logujes u win kao admin i tu ti je vec zagarantovana konkcija ka serveru. Jednom kada se korisnik loguje kao admin, sve opcije su mu otvorene.
To je tačno pod uslovom da na SQL Serveru ostaviš BUILTIN\Administrators Server Login, što naravno niti jedan SQL Server database administrator nikada nebi trebao da dozvoli, nego obriše taj login tako da administrator OS nemora da bude i administrator SQL Servera već samo oni useri koji su u sysadmin server role SQL Servera.
@newyork
ako ti je baš toliko stalo do toga o čemu govoriš onda poslušaj savet negyxo o zakupu linije i hostovanju servere kod tebe... A i pored toga moj ti je savet da ukoliko tu bazu otvaraš prema internetu dobrano proučiš SQL Server security.
[ negyxo @ 27.06.2007. 23:27 ] @
Ono je bilo cisto ilustarativno, nesto sto svako veoma lako moze da uradi. Poenta je da pristupom samom OS-u kao administrator, taj neko moze da radi sta hoce sa SQL Serverom. To brisanje BULTIN\Administrators po meni nista ne znaci ako si admin na winu, jer ako si admin na winu onda mozes da radis sta hoces sa bilo kojim korisnicima. I na kraju poenta cele price je - da, gde god da hostuje, neko drugi ce biti admin a ne on 
[ dekibre @ 27.06.2007. 23:55 ] @
@negyxo
Razumemo se u potpunosti, u najgorem mogućem slučaju svašta je moguće od strane administratora pod uslovom da zna i da želi da bude zlonameran.
[ zelbi @ 29.06.2007. 18:55 ] @
pozdrav,
evo ti procedura kako blindirati MS SQL :
Microsoft Q263712
bye
[ newyork @ 29.06.2007. 22:35 ] @
Hvala zelbi 
[ negyxo @ 30.06.2007. 02:15 ] @
@zelbi
Mozes li da pojasnis sta se ovime dobija?
PS. Sve sto treba da radite je, da zamislite da vam neko da mdf i ldf koji cete attachovati kod vas i zatim da taj neko pokusa da vas spreci da se logujete na bazu. Pa sad razmislite koliko je to izvodljivo...
[ zelbi @ 30.06.2007. 10:10 ] @
Izbrise se konto BUILTIN\Administrators sa MS SQL i nema vise mogucnosti se konektirati kao Administrator.
Poslije za .mdf i .ldf, "dovoljno" je zabraniti sve mogucnosti kontu Administrators u NTFS Security, poslije sigurno ima nacina kako opet doci do .mdf ili .ldf ali poslije je igra macke i misa :-)
[ negyxo @ 30.06.2007. 10:21 ] @
Vidi, sve to sto pises je cista glupost. Ovde se ne govori o tome kako zabraniti nekome preko mreze da ima pristup, nego na kompjuteru kome moze fizicki da se pristupa i uz to jos kao administrator. Administrator je vrh, i tu se cela prica zavrsava. Sa ovim postovima cete samo zbuniti ostale koji su manje upuceni u problematiku.
[ zelbi @ 30.06.2007. 11:59 ] @
ne znam zasto je to glupost za Vas. Zasad nevidim ni jednu propoziciju sa Vase strane, Vidim samo kritike...
Ako Microsoft je dao soluciju kako nedozvoliti konekciju Administratorima na servis MS SQL-a, tko ste Vi da kazete da je to glupost ???
Druga stvar "preko mreze da ima pristup", tko prica o mrezi ? ja pricam o NTFS Security i definisanju prava lokalno na file .mdf i .ldf
Uzmite bilo koji file na Vasem hard disku, idite na Properties pa onda na "Security" i onda na "Advanced" tu kliknete na kvacicu ispod "Inherit rights..." pa onda "Delete" i sada konfigurisete sva prava. Ako se nevaram, treba dodati "Administrators" i onda kliknuti na "Refused" na liniji "Read" a "Autorised" na liniji "Write" i dodati naravno Vas konto koji nije u grupi "Administrators". Imate sigurno mnogo toga na netu za korektno konfigurisanje.
Druga stvar o kojoj nisam pricao je mogucnost kriptiranja filova .mdf i .ldf u NTFS-u, to je jos najlaksa opcija :
Datebase encryption
Tu bih trebalo napraviti naprimjer Windows konto "MyMSQLLogin", promijeniti konto startovanja servisa MSSQL Service na "MySQLLogin", logovati se pod tim kontom i onda kriptirati filove .mdf i .ldf.
jos malo teorije EFS Encrypted File System
bye
[ priki @ 30.06.2007. 13:10 ] @
kad budes imao malo vise iskustva
videces da ljudi prave alate da bi se koristili sa
njim a ne da bi dobre stvari skidali sa njih ili zabranjivali.
MS SQL server je odlican sistem za upravljanje bazama podataka ako
znas da ga iskoristis, radimo sa njim vec duze vreme i mogu vam reci
da nema poslovnog zadatka koji nije ispunio
inace, ako mene pitas oko securitija, to sto si ti zamislio u glavi
jedino je ostvarivo ako lepo zakupis i dignes svoj server
onda si najsigurniji i za podatke i i za sve ostale stvari
ako radis za drugoga, reci mu lepo da ti plati troskove
hostovanja servera i miran si
da iskljucujes naloge i ostale stvari vezane za tvoju bazu
samo zato sto ti neko ne garantuje sigurnost je cista
glupost i neodgovornost tih ljudi
promeni porvajdera
jos nesto, ne mesaj babe i zabe,
jedno je NTFS a drugo baza podataka
[ negyxo @ 30.06.2007. 13:54 ] @
Zelbi bez ljutnje, do sada nikad nisam imao nameru da omalovazavam nekog. Mozda je ono delovalo ostro ali za nesto sto apsolutno nema nikakvog efekta za ovaj problem nisam znao lepsu rec da nadjem 
Iskreno da ti kazem nije mi jasan ni onaj primer sto si linkovao na MS-u. Jasno je kada je upitanju mreza ali standalone server + administrator wina = radi sta hoces. Vidis ja kada dobijem bazu mogu da radim sa njom sta hocu. Sva ona administracija nema apsolutnog smisla ako ti sam radis na kompjuteru, ukoliko se radi pod mrezom ili vise ljudi na jednom kompu, onda moze imati smisla, ali, po meni, cak i tada ako si ti administrator koji moze da pristupi kompjuteru na kome se nalazi SQL Server ti mozes da radis sta hoces. Mozes lepo da stopiras servis i lepo deinstaliras SQL Server, hey mozes da deinstaliras ceo windows, koliko ovo god glupo bilo ali mozes! Ovde nije problem do alata nego do administratora.
Sto se tice NTFS security-a, nije mi jasno sta hoces da kazes, pa neces valjda nekako da sakrijes od samog sebe i onda da se pravis lud da ne znas gde si sakrio? Pogresno postavljas sliku, onaj ko je administrator znace sve sta radi i to je to. Jedino sto njemu donekle moze da pomogne je enkripcija ali s ozbirom da bi ovo stavio na neciji server, onda mu ni to ne pomaze mnogo, jer ceo network trafic na tvom serveru mozes da nadgledas, ustvari dosta je i SQL Profiler.
[ dekibre @ 30.06.2007. 15:04 ] @
Nadam se da se možemo svi složiti da ovakva rasprava može trajati u nedogled a da ne doprinosi odgovoru(ima) na postavljeno(a) pitanje(a).
Nadam se da možemo rezimirati ono što su već kolege rekle:
Za zadate zahteve najbolje rešenje je hostovanje servera kod sebe i tačka. Na taj način se obezbedjuje kakva takva sigurnost da fizički niko drugi nemože prići serveru a zaštita od spolja je jedna nova tema kojom se treba baviti tek kad se korisnik odluči na prvi korak hostovanje kod sebe.
Ako se svako od nas stavi u ulogu administrator kod nekog providera, niko od nas se nebi odrekao administratorskih prava zarad nekog korisnika i njegovih specifičnih zahteva, pa čak i da se nadje zadovoljavajuće rešenje za takvog korisnika to rešenje nebi nikako bilo jeftino što opet ima svoje prednosti i mane.
Pozdrav svima.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|