|
| Linux/Oracle: Kan man bruge krypterede pas~ Fra : Claus Rasmussen |
Dato : 05-06-02 05:28 |
|
Jeg vil gerne gøre det muligt for mine brugere, at de kan logge direkte
ind i Oracle programmet sqlplus uden at skulle bruge password. Men jeg
vil gerne gøre det uden at der opstår sikkerhedsproblemer.
Jeg har så fået den ide, at give mine brugere deres krypterede password
fra /etc/shadow filen som password i Oracle. Når de så skal logge ind i
sqlplus sker det via et suid script, der læser brugerens password fra
/etc/shadow filen og giver det som password til sqlplus.
Men er det sikkert ? Så vidt jeg kan se, er den eneste måde en cracker
kan komme ind i Oracle er at få fingre i /etc/shadow filen. Men den
eneste måde at få den på er ved at køre som root, og så er det sket
alligevel med sikkerheden på min maskine.
Er der nogen, der har en mening om det ?
-Claus
| |
N/A (05-06-2002)
| Kommentar Fra : N/A |
Dato : 05-06-02 08:01 |
|
| |
Claus Rasmussen (05-06-2002)
| Kommentar Fra : Claus Rasmussen |
Dato : 05-06-02 08:01 |
|
Lars Kim Lund wrote:
> Hej Claus Rasmussen <clr@cc-consult.dk>
>
>>Men er det sikkert ? Så vidt jeg kan se, er den eneste måde en cracker
>>kan komme ind i Oracle er at få fingre i /etc/shadow filen. Men den
>>eneste måde at få den på er ved at køre som root, og så er det sket
>>alligevel med sikkerheden på min maskine.
>>
>>Er der nogen, der har en mening om det ?
>
> Hvad med den anden vej? Hvis en person napper koden fra oracle så har
> han adgang til operativsystemet?
Det mener jeg ikke. Oracles password fil er også krypteret. Det gør det
umuligt at køre en password cracker på den - tror jeg Altså det
eneste crackere har at kigge efter er strenge bestående udelukkende
af alfanumeriske tegn...
Desuden er password filen ejet af oracle brugeren, så crackeren vil
altså være inde på systemet i forvejen. Men hvis han kan cracke Oracles
password fil, vil han selvfølgelig have adgang til alle brugere, der
har en Oracle konto (incl. ikke root).
-Claus
| |
Kasper Dupont (05-06-2002)
| Kommentar Fra : Kasper Dupont |
Dato : 05-06-02 08:04 |
|
Lars Kim Lund wrote:
>
> Hej Claus Rasmussen <clr@cc-consult.dk>
>
> >Men er det sikkert ? Så vidt jeg kan se, er den eneste måde en cracker
> >kan komme ind i Oracle er at få fingre i /etc/shadow filen. Men den
> >eneste måde at få den på er ved at køre som root, og så er det sket
> >alligevel med sikkerheden på min maskine.
> >
> >Er der nogen, der har en mening om det ?
>
> Hvad med den anden vej? Hvis en person napper koden fra oracle så har
> han adgang til operativsystemet?
Nej, ikke umiddelbart. Man får jo kun fat i hash-værdien, og
derfra kan man sandsynligvis ikke udlede kodeordet. Men man
kan jo så prøve at bruge et brute-force attack. Så jeg synes
stadig det er en dårlig idé.
>
> Der er mange (praktiske) fordele ved at synkronisere koder
Er der nogen fordele i det her tilfælde? Kunne man ikke i
stedet generere nogle tilfældige passwords udelukkende til
brug for oracle og så gemme dem i en anden fil, som også kun
kan læses af root?
--
Kasper Dupont -- der bruger for meget tid på usenet.
For sending spam use mailto:razor-report@daimi.au.dk
| |
Alex Holst (05-06-2002)
| Kommentar Fra : Alex Holst |
Dato : 05-06-02 11:35 |
|
Claus Rasmussen <clr@cc-consult.dk> wrote:
>
> Jeg vil gerne gøre det muligt for mine brugere, at de kan logge direkte
> ind i Oracle programmet sqlplus uden at skulle bruge password. Men jeg
> vil gerne gøre det uden at der opstår sikkerhedsproblemer.
Jeg ved ikke om det vil vaere overkill i din situation, men har du
overvejet at skifte til Kerberos?
--
I prefer the dark of the night, after midnight and before four-thirty,
when it's more bare, more hollow. http://a.area51.dk/
| |
Claus Rasmussen (05-06-2002)
| Kommentar Fra : Claus Rasmussen |
Dato : 05-06-02 13:09 |
|
Alex Holst wrote:
> Claus Rasmussen <clr@cc-consult.dk> wrote:
>>
>> Jeg vil gerne gøre det muligt for mine brugere, at de kan logge direkte
>> ind i Oracle programmet sqlplus uden at skulle bruge password. Men jeg
>> vil gerne gøre det uden at der opstår sikkerhedsproblemer.
>
> Jeg ved ikke om det vil vaere overkill i din situation, men har du
> overvejet at skifte til Kerberos?
Jo, men Oracle bruger ikke Kerberos.
Det kan være, jeg skal forklare: Jeg skal have nogle systemjobs
kørende, der fodrer Oracle med data. Det normale på linux er, at
man fra cron laver en su til den bruger, der skal køre jobbet og
så er man sikker på, at evt. fejl i jobbet højst kompromitterer
brugeren.
Oracle har imidlertid sine egne password og sine egne brugere. Så
for at køre et job mod en Oracledatabase, skal man altså forsyne
jobbet med passwordet til Oraclebrugeren. Men hvor pokker gemmer
jeg det ? Og sådan, at det opdateres samtidigt med at brugeren
skifter password i Oracle ?
Det bliver helt umuligt, når jobbet skal udføres fra forskellige
maskiner (opsamling af logs). Så skal man hele vejen rundt og
skifte password på hver eneste konto eller have et centralt
register med nøgler (brrrr....)
Men jeg kan godt se, at min løsning ikke dur', så det kan være,
at jeg bare skal gøre som jeg plejer: Hardcode passwordet
-Claus
| |
Alex Holst (05-06-2002)
| Kommentar Fra : Alex Holst |
Dato : 05-06-02 15:52 |
|
Claus Rasmussen <clr@cc-consult.dk> wrote:
> Det kan være, jeg skal forklare: Jeg skal have nogle systemjobs
> kørende, der fodrer Oracle med data. Det normale på linux er, at
> man fra cron laver en su til den bruger, der skal køre jobbet og
> så er man sikker på, at evt. fejl i jobbet højst kompromitterer
> brugeren.
Jeg ville oprette en systembruger til opgaven, og slippe uden om su fra
scripts.
> Oracle har imidlertid sine egne password og sine egne brugere. Så
> for at køre et job mod en Oracledatabase, skal man altså forsyne
> jobbet med passwordet til Oraclebrugeren. Men hvor pokker gemmer
> jeg det ? Og sådan, at det opdateres samtidigt med at brugeren
> skifter password i Oracle ?
Jeg kender ikke Oracle, men stoetter den ikke getpeereuid() eller
lignende, saa du kan tillade adgang uden password til en bestemt database
konto fra en given system konto?
Indsamling af logs sker vel uden for Oracle? I saa fald har du stoerre
frihed. Faa alle dine logs over paa et filsystem som dit database job
kan laese, og smide ind i din tabel.
--
I prefer the dark of the night, after midnight and before four-thirty,
when it's more bare, more hollow. http://a.area51.dk/
| |
Claus Rasmussen (06-06-2002)
| Kommentar Fra : Claus Rasmussen |
Dato : 06-06-02 05:30 |
|
Alex Holst wrote:
>> Oracle har imidlertid sine egne password og sine egne brugere. Så
>> for at køre et job mod en Oracledatabase, skal man altså forsyne
>> jobbet med passwordet til Oraclebrugeren. Men hvor pokker gemmer
>> jeg det ? Og sådan, at det opdateres samtidigt med at brugeren
>> skifter password i Oracle ?
>
> Jeg kender ikke Oracle, men stoetter den ikke getpeereuid() eller
> lignende, saa du kan tillade adgang uden password til en bestemt database
> konto fra en given system konto?
Oracle understøtter kun operativsystemets login i begrænset omfang.
Det er muligt at logge ind uden password, men så får du DBA rettigheder
(svarer ca. til root), og det er alt for kraftige permissions - navnlig
i betragtning af, at scriptsene kommer til at køre på klienterne.
> Indsamling af logs sker vel uden for Oracle? I saa fald har du stoerre
> frihed. Faa alle dine logs over paa et filsystem som dit database job
> kan laese, og smide ind i din tabel.
Ja, det er nok også der, det ender.
-Claus
| |
Martin Moller Peders~ (05-06-2002)
| Kommentar Fra : Martin Moller Peders~ |
Dato : 05-06-02 22:38 |
|
In <adkv1m$r7k$1@sunsite.dk> Claus Rasmussen <clr@cc-consult.dk> writes:
>Alex Holst wrote:
>> Claus Rasmussen <clr@cc-consult.dk> wrote:
>>>
>>> Jeg vil gerne gøre det muligt for mine brugere, at de kan logge direkte
>>> ind i Oracle programmet sqlplus uden at skulle bruge password. Men jeg
>>> vil gerne gøre det uden at der opstår sikkerhedsproblemer.
>>
>> Jeg ved ikke om det vil vaere overkill i din situation, men har du
>> overvejet at skifte til Kerberos?
>Jo, men Oracle bruger ikke Kerberos.
>Det kan være, jeg skal forklare: Jeg skal have nogle systemjobs
>kørende, der fodrer Oracle med data. Det normale på linux er, at
>man fra cron laver en su til den bruger, der skal køre jobbet og
>så er man sikker på, at evt. fejl i jobbet højst kompromitterer
>brugeren.
Kan du ikke bare koere det som oracle sys-brugeren, da han vel har adgang
til alle schema'er og paa lionux siden som oracle unix brugeren, saa kan du
bruge connect internal uden password.
/Martin
| |
Claus Rasmussen (06-06-2002)
| Kommentar Fra : Claus Rasmussen |
Dato : 06-06-02 05:29 |
|
Martin Moller Pedersen wrote:
> Kan du ikke bare koere det som oracle sys-brugeren, da han vel har adgang
> til alle schema'er og paa lionux siden som oracle unix brugeren, saa kan
> du bruge connect internal uden password.
Jo men det er jo vildt overdrevne permissions at give et job, der bare
skal skovle nogle data ind i databasen. System/Sys/Oracle kontiene har
rettigheder, der svarer til root i operativsystemet.
Men jeg tror, jeg gør som Alex foreslår: Samler de behandlede data på
serveren og bruger en system konto på den maskine til at skovle data
ind.
-Claus
| |
|
|