ďťż
 
Postgresql i zabezpieczenia ďťż
 
Postgresql i zabezpieczenia
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Postgresql i zabezpieczenia



Bartek Siebab - 22-02-2006 21:48
Postgresql i zabezpieczenia
  Witam!

Jak ugryźć ten problem:

Jest aplikacja która łączy się z bazą na użytkowniku
(każdy juzer ma swoje konto w bazie).
Jak zabezpieczyć bazę tak by z poziomu tej aplikacji
można było pracować tak jak aplikacja pozwala
(napisana w BC++ i ZEOS) by jednak z poziomu ODBC
użytkownik nie miał możliwości zaciągania danych z bazy ;-)

Czytać bazę poprzez procedury czy jak?
Są jakieś możliwości czy od razu odpuścić temat?
Bo przecież po stronie bazy nie da się rozróżnić
połączenia czy jest z aplikacji czy z odbc...
--
..---------- -------- ------ ---- ---- --- - -- -
| Bartek `saphire` Siebab http://bartek.siebab.net





Cezary Jackiewicz - 22-02-2006 21:48

  On Wed, 22 Feb 2006 07:16:01 +0100
Bartek Siebab <bs@vt.pl> wrote:

> Czytać bazę poprzez procedury czy jak?
> Są jakieś możliwości czy od razu odpuścić temat?
> Bo przecież po stronie bazy nie da się rozróżnić
> połączenia czy jest z aplikacji czy z odbc...

Przeciez nic nie stoi na przeszkodzie, ale były inne hasła
do bazy i inne do aplikacji.

User podaje hasło, podłącz się bazy jako inny user, który
ma prawa tylko do czytania z tabeli haseł. Odczytaj
właściwe hasło usera (może być kodowane tym co podał user +
jakies inne, nieznne mu), i wtedy podłącz się do bazy już
parą user/hasłodb. Może się zalogować do aplikacji, ale
nie może do bazy bo jest inne hasło. Nie może je zdekodować
bo nie zna potrzebnej mu 2 części klucza.

--
Cezary




Bartek Siebab - 22-02-2006 21:48

  > Cezary Jackiewicz w dniu 2006-02-22 07:33 pisze:

> Przeciez nic nie stoi na przeszkodzie, ale były inne hasła
> do bazy i inne do aplikacji.
>
> User podaje hasło, podłącz się bazy jako inny user, który
> ma prawa tylko do czytania z tabeli haseł. Odczytaj
> właściwe hasło usera (może być kodowane tym co podał user +
> jakies inne, nieznne mu), i wtedy podłącz się do bazy już
> parą user/hasłodb. Może się zalogować do aplikacji, ale
> nie może do bazy bo jest inne hasło. Nie może je zdekodować
> bo nie zna potrzebnej mu 2 części klucza.

nie da rady bo aplikacja i baza robi autoryzację w kerberosie :p
a ponadto _musi_ być tak że na juzerze rzeczywistym łączy się z bazą
a nie na wirtualnym ze względu na historię zmian w bazie
na poziomie bazy (triggerami) itp.

--
..---------- -------- ------ ---- ---- --- - -- -
| Bartek `saphire` Siebab http://bartek.siebab.net




=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 22-02-2006 21:48

  Bartek Siebab wrote:
> Witam!
>
> Jak ugryźć ten problem:
>
> Jest aplikacja która łączy się z bazą na użytkowniku
> (każdy juzer ma swoje konto w bazie).
> Jak zabezpieczyć bazę tak by z poziomu tej aplikacji
> można było pracować tak jak aplikacja pozwala
> (napisana w BC++ i ZEOS) by jednak z poziomu ODBC
> użytkownik nie miał możliwości zaciągania danych z bazy ;-)
>
> Czytać bazę poprzez procedury czy jak?
> Są jakieś możliwości czy od razu odpuścić temat?
> Bo przecież po stronie bazy nie da się rozróżnić
> połączenia czy jest z aplikacji czy z odbc...

Pewnej metody nie ma.
Możesz spróbować tworzyć aplikacją tabele tymczasową i coś
do niej wpisać, a potem w każdej procedurze sprawdzać czy
odpowiedni wpis jest w tej tabeli.
Jest to upierdliwe, a pozatym opierasz się na niewiedzy urzytkownika.
Jak się dowie na czym polega zabezpieczenie, to je obejdzie.
Najlepiej pisać aplikacje tak, żeby była tylko interfejsem graficznym,
a logike zawrzeć w bazie - wtedy Ty dbasz o spójność danych, ale za to
co wprowadza user on odpowiada (logujesz co kto robił).

--
P.M.





Bartek Siebab - 22-02-2006 21:49

  > Paweł Matejski w dniu 2006-02-22 12:16 pisze:

> Możesz spróbować tworzyć aplikacją tabele tymczasową i coś
> do niej wpisać, a potem w każdej procedurze sprawdzać czy
> odpowiedni wpis jest w tej tabeli.
> Jest to upierdliwe, a pozatym opierasz się na niewiedzy urzytkownika.
> Jak się dowie na czym polega zabezpieczenie, to je obejdzie.
> Najlepiej pisać aplikacje tak, żeby była tylko interfejsem graficznym,
> a logike zawrzeć w bazie - wtedy Ty dbasz o spójność danych, ale za to
> co wprowadza user on odpowiada (logujesz co kto robił).

chyba nie zrozumialeś mnie...

chcę uniemożliwić podpinanie po odbc do bazy
jednakże połączenie z aplikacji (natywnie przez zeosa czy pglib'a)
ma działać, czyli progs tak ale odbc nie :-)

--
..---------- -------- ------ ---- ---- --- - -- -
| Bartek `saphire` Siebab http://bartek.siebab.net




Andrzej Kosmala - 24-02-2006 14:45

  Użytkownik "Bartek Siebab" <bs@vt.pl> napisał w wiadomości
news:dtij58$acc$1@nemesis.news.tpi.pl...
> > Paweł Matejski w dniu 2006-02-22 12:16 pisze:
>
>> Możesz spróbować tworzyć aplikacją tabele tymczasową i coś
>> do niej wpisać, a potem w każdej procedurze sprawdzać czy
>> odpowiedni wpis jest w tej tabeli.
>> Jest to upierdliwe, a pozatym opierasz się na niewiedzy urzytkownika.
>> Jak się dowie na czym polega zabezpieczenie, to je obejdzie.
>> Najlepiej pisać aplikacje tak, żeby była tylko interfejsem graficznym,
>> a logike zawrzeć w bazie - wtedy Ty dbasz o spójność danych, ale za to
>> co wprowadza user on odpowiada (logujesz co kto robił).
>
> chyba nie zrozumialeś mnie...
>
> chcę uniemożliwić podpinanie po odbc do bazy
> jednakże połączenie z aplikacji (natywnie przez zeosa czy pglib'a)
> ma działać, czyli progs tak ale odbc nie :-)
>

Sądzę, że wszyscy Cię doskonale rozumieją, natomiast Ty nie do końca
rozumiesz, gdzie jest problem. Dostałeś sensowne rady, ale nic Ci po nich
dopóki nie uświadomisz sobie, że tak naprawdę Twój problem polega na tym, że
chcesz uniemożliwić połączenie z bazą za pomocą programu innego niż
dedykowany użytkownikom którzy posiadają login i hasło do bazy danych. ODBC
nie ma tu nic do rzeczy. Po pierwsze nie uda Ci się po stronie bazy
zidentyfikować klienta łączącego się przez ODBC, a nawet jeśli, to sprytny i
uparty user podłączy się inaczej i znowy klapa. Jak już napisałem, rady,
których Ci udzielono, choć nie wyczerpują wszystkich możliwości, są dobre.

--

Pozdrawiam,
Andrzej Kosmala




Bartek Siebab - 28-02-2006 13:11

  > Andrzej Kosmala w dniu 2006-02-23 09:25 pisze:

> nich dopóki nie uświadomisz sobie, że tak naprawdę Twój problem polega
> na tym, że chcesz uniemożliwić połączenie z bazą za pomocą programu
> innego niż dedykowany użytkownikom którzy posiadają login i hasło do
> bazy danych. ODBC nie ma tu nic do rzeczy. Po pierwsze nie uda Ci się po

oj rozumiem i to dobrze ;-)

> stronie bazy zidentyfikować klienta łączącego się przez ODBC, a nawet
> jeśli, to sprytny i uparty user podłączy się inaczej i znowy klapa. Jak
> już napisałem, rady, których Ci udzielono, choć nie wyczerpują
> wszystkich możliwości, są dobre.

rzecz w tym że baza robi autoryzację juzera w AD2003 po kreberosie
więc jakim cudem mozna to zrobić jadąc na fake userze?

zestawienie połączenia na dedykowanym juzerze to dla mnie nie jest
rozwiązanie bo wtedy musze w bazie trzymać konta juzerów z hasłami
zatem nie mogę zrobić tak by juzer miał jedno hasło domenowe
do wszystkiego w tym także do bazy a chodzi także o integrację
z domena AD 2003 więc jedyne co mi przychodzi na myśl to
posadzenie aplikacji na terminalu windowsowym, ustawienie
bazy by wpuszczała połączenia tylko z tego adresu
a ludziska logując się na terminal zamiast shella/explorera
dostają od razu aplikację na starcie...

--
..---------- -------- ------ ---- ---- --- - -- -
| Bartek `saphire` Siebab http://bartek.siebab.net
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    postgresql - int/int postgresql Select count(*) czy raczej Select count(ID) [PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=3F?= [postgresql] INSERT OR UPDATE - jak =?ISO-8859-2?Q?b=EAdzie_na?==?ISO-8859-2?Q?jlepiej=3F?= [postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?= [PostgreSQL] Jak =?ISO-8859-2?Q?po=B3=B1czy=E6_funkcje_z_w?==?ISO-8859-2?Q?idokiem?= Postgres - replikcja master-master Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL] Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?= =?ISO-8859-2?Q?[psql]_Polskie_t=B3umaczenie_?= =?ISO-8859-2?Q?licencji_BSD_dla_PostgreSQL=3F?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • own-team.pev.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com