Selfsigned certifikat Administration

peque
Antal: 845
Tilmeldt:
20-04-2005
User is offline
Selfsigned certifikat Administration

Hejsa.
Jeg har en tanke omkring selfsigned certifikat administration.
Jeg er i firbindelse med mit arbejde igang med at bygge et større mySQL Database setup.
Al replikering kører via SSL Selfsigned Certifikater.

Nu til spørgsmålet ?
Når nu jeg udsteder et CA - kan man på nogen måde lave dette setup således at man kan rewoke et certificat.

Min tanke er - den SLAVE DB som står og henter fra de forskellige databaser - er også Certifikat udsteder ( via easy-rsa)
Men hvis jeg rewoker et certificat - hvordan finder MASTER databasen ud af dette certifikat er rewoked.
Kort beskrivelse:
SRV-A --> Master database ( sidder på en fjerndestination
SRV-B --> Master database (Sidder på samme remote destination)
SRV-C --> Slave database ( placeret i HQ) replikerer fra SRV-A med SSL Certifikater
SRV-A/B replikerer hinanden som et failover setup via SSL Certifikater.

SRV-C er Slavedatabasen som også er CA maskinen.
Men hvordan kan jeg fra Remote destination tjekke om mit certifikat er rewoked ?
Som sagty er jeg ude efter at SRV-A skal verificere sit certifikat fra SRV-C - således jeg kan styre disse certifikater.
Håber det giver lidt mening ?


julemand101
julemand101's picture
Antal: 1615
Tilmeldt:
17-01-2004
User is offline
Når du bruger self-signed

Når du bruger self-signed certifikater så skal du under alle omstændigheder ind på de forskellige systemer og angive at du stoler på certifikatet. Ligeledes skal du så også ind på dine systemer og angive at du ikke længere stoler på et givent certifikat hvis du vil rework. Ved pakkesystemet i Arch Linux fungerer dette ved at pakken der indeholder certifikater som der skal stoles på også indeholder en liste over certifikater der nu er reworked.

Hvis du ønsker at styre rework centralt så er du nød til at have en server som de andre servere kan tilgå og som kan svare på spørgsmålet "skal vi stadig stole på x?". Og hvis du har gang i dette design så vil det under alle omstændigheder bare være nemmere at upload dit certifikat til en af de mange centrale database hvor du ligeledes vil upload din rework. Du kan så lave et script der løbende tjekker certifikatdatabasen efter om dit certifikat er blevet reworked.

Men altså det nemmest vil klart være at du manuelt går ind på de servere der er tale om og angiver at de ikke længere skal stole på et givent certifikat. Dette skal du jo under alle omstændigheder gøre da du jo skal angive et nyt certifikat der kan stoles på. :)


peque
Antal: 845
Tilmeldt:
20-04-2005
User is offline
Min tanke er lidt at finde

Min tanke er lidt at finde ud hvordan dette kan gøres.

Grunden til dette er det bliver et større kompleks setup med rigtig mange databaser - derfor ville jeg gerne have en automatiseret styring af dette.
Systemet er baseret til dataopsamling på skibe. Derfor er det must at have denne mulighed for at rewoke et certificat.

Hvis et skib bliver solgt - har jeg med det samme ikke adgang til dette mere og kan ikke uploade til nogel servere -. derfor er det vigtigt for mig at have en server på land der administrerer dette .

Men for at spørge - hvilken fil CA serveren håndterer de rewoked certifikater


julemand101
julemand101's picture
Antal: 1615
Tilmeldt:
17-01-2004
User is offline
Men hvad vil du gøre når

Men hvad vil du gøre når du har revoked et certifikat og skibet ikke længere kan tilgå databasen?


peque
Antal: 845
Tilmeldt:
20-04-2005
User is offline
Så er det ude af mine

Så er det ude af mine hænder for rederiet har solgt skibet til et andet rederi.
Derfor skal dette certifikat rewokes således at det ikke har adgang mere - samt slette channel på SLAVE DB

Ment som - selve data opsamlingen ombord på skibet skal foresætte - Men det skal ikke replikere eller have adgang til den tidligere kundes setup/data


julemand101
julemand101's picture
Antal: 1615
Tilmeldt:
17-01-2004
User is offline
Det er ikke noget nemt

Det er ikke noget nemt problem du forsøger at løse fordi du er afhængig af en 3. server som kan fortælle status på dine certifikater og denne server kan jo også have et trust-issue.

Men altså det du skal bruge er en webserver der hoster en CRL (Certificate revocation lists) som dine hosts så løbende tjekker op imod for at sikre at det certifikat de har fortsat kan bruges. En hurtig Google-søgning gav mig følgende:
https://jamielinux.com/docs/openssl-certificate-au...

Dit problem bliver nok nærmere at få MySQL til løbende at tjekke dette (gætter på du bare har angivet certifikatet i opsætningen) og du kommer nok ikke uden om at lave et cron-job der laver tjekket evt. dagligt og stopper så din slave overførsel hvis certifikatat er trukket tilbage.


mich
mich's picture
Antal: 927
Tilmeldt:
13-10-2007
User is offline
Kan du ikke nøjes med at

Kan du ikke nøjes med at opdatere slave-databasen mht. gyldigheder?

De to databaseservere har vel en handshake-session, hvor de udveksler certifikater.
Hvis de stadig er gyldige, er alt ok og de kan udveksle data.
Hvis Master-databasens certifikat er revoked, siger slave-databasen: "Dit certifikat er ikke længere gyldigt. End of conversation."

./mich