Προς το περιεχόμενο

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

molf48

SSL

Προτεινόμενες αναρτήσεις

Πως μπορώ να κανώ μια σελίδα να είναι προσβάσιμη μόνο από χρήστες που έχουν εγκαταστήμενο στον υπολογιστή τους κάποιο SSL Certificate η SSL RSA key; Μπορεί κανείς να με βοηθήσει;

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Αν χρησιμοποιείς Apache, μπορείς να το κάνεις βάζοντας στο configuration file του τις εξής παραμέτρους (μπορείς να τις βάλεις και μέσα σε <VirtualHost> directives ώστε να ορίζεις επιλεκτικά authentication ανά virtual host):

 

>SSLVerifyClient require
SSLVerifyDepth 1
SSLCACertificateFile conf/ssl.crt/ca.crt

 

Προφανώς θα πρέπει όλοι οι χρήστες να έχουν εγκατεστημένο ένα certificate υπογεγραμμένο από το συγκεκριμένο CA του server.

 

Αν θέλεις να επιβάλεις authentication μόνο σε συγκεκριμένους καταλόγους, μπορείς να χρησιμοποιήσεις την <location> directive:

>SSLVerifyClient none
SSLCACertificateFile conf/ssl.crt/ca.crt

<Location /secure/area>
SSLVerifyClient require
SSLVerifyDepth 1
</Location>

 

Αυτά αναφέρονται στο documentation του apache, εδώ.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Το εκάνα και όντως ο Internet Explorer μου ζητάει να διαλέξω ένα Digital Certificate για να δω την σελίδα δυστυχώς όμως χώρις επιλογές. Προσπαθήσα να κανώ install το certificate και όντως το εκάνα αλλά και πάλι τίποτα ξερείς τι μπορεί να συμβαίνει;

Στον Mozilla μου βγάζει Error Code -12227..

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Το πιστοποιητικό SSL θα μπει στον server, ένας χρήστης ΔΕΝ μπορεί να έχει πιστοποιητικό SSL. Ο χρήστης θα έχει client πιστοποιητικό. Μπορείς να πάρεις ένα δοκιμαστικό 60 ημερών από εδώ: http://www.verisign.com/products-services/security-services/pki/pki-application/email-digital-id/page_dev004002.html

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Μάλλον δεν κατάλαβες τι θέλει να κάνει.

 

Δεν υπάρχει κανένας απολύτως λόγος να πάρει πιστοποιητικό από αναγνωρισμένο CA (π.χ. verisign) αφού δε θέλει να πιστοποιεί την ταυτότητά του σε άγνωστους clients αλλά αντίθετα να πιστοποιεί την ταυτότητα γνωστών clients σε αυτόν.

 

Οι clients θα έχουν ο καθένας από ένα πιστοποιητικό SSL, υπογεγραμμένο από τον (τοπικό) CA, το πιστοποιητικό του οποίου θα ορίζεται στον http server, ώστε να μπορεί ο server να ελέγχει την εγκυρότητα των πιστοποιητικών των clients.

 

Τώρα το συγκεκριμένο πρόβλημα δε ξέρω που εντοπίζεται.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Ξαναλέω, ένας client δεν μπορεί να έχει πιστοποιητικό SSL. Το πιστοποιητικό SSL είναι για webservers.

 

Το πιστοποιητικό που θα έχει ο client μπορεί να είναι από Verisign, μπορεί να είναι και signed από CA που θα έχει δημιουργήσει. (Δεν είναι και τόσο απλό όσο ακούγεται, γι'αυτό πρότεινα την λύση του δοκιμαστικού της Verisign). Πρέπει να είναι όμως client πιστοποιητικό, όχι SSL. Αφού το καταφέρεις να δουλέψει έτσι, μπορείς να δοκιμάσεις να στήσεις δική σου CA.

 

Ο webserver (o οποίος έχει το δικό του SSL), όταν κάποιος client πάει να συνδεθεί σε αυτόν, πρέπει να αυθεντικοποιηθεί (σύμφωνα με τις ρυθμίσεις που έχουν γίνει). Ο webserver ζητάει από τον client το πιστοποιητικό του, το οποίο αν είναι authorized (μέσω κάποιας ρύθμισης στον webserver, π.χ. δέχεται πιστοποιητικά που έχουν εκδοθεί από συγκεκριμένη CA) θα εμφανιστεί στο παράθυρο του ΙΕ που βγάζει στον molf48, θα μπορέσει να το επιλέξει και να αυθεντικοποιηθεί, ώστε να έχει πρόσβαση στην ιστοσελίδα.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
Ξαναλέω, ένας client δεν μπορεί να έχει πιστοποιητικό SSL. Το πιστοποιητικό SSL είναι για webservers.

Τι εννοείς; Όλα τα certificates μεταξύ άλλων περιέχουν ένα public key, κάποιες πληροφορίες για την ταυτότητα αυτού που αντιπροσωπεύουν και την υπογραφή του CA. Το certificate του CA (που στην προκειμένη θα οριστεί στον web server για να κάνει την αυθεντικοποίηση στα πιστοποιητικά των clients) και τα certificates των clients έχουν ακριβώς την ίδια δομή.

 

Υσ. Είναι απλό να λειτουργήσεις το openssl ως CA, περιέχεται και ένα script μαζί που κάνει generate μια υποδειγματική δομή καταλόγων, από κει και πέρα παράγεις και υπογράφεις certificates με 2 εντολές.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
Υσ. Είναι απλό να λειτουργήσεις το openssl ως CA, περιέχεται και ένα script μαζί που κάνει generate μια υποδειγματική δομή καταλόγων, από κει και πέρα παράγεις και υπογράφεις certificates με 2 εντολές.

 

Το ότι κάτι είναι απλό δεν σημαίνει πως είναι και ασφαλές, και υποθέτω πως ο molf48 αυτό θέλει να επιτύχει... Δεν ξέρω βέβαια τι θέλει να ασφαλίσει με πιστοποιητικά, αλλά αν απλά θέλει να το κάνει για ακαδημαϊκούς λόγους, τότε είναι ΟΚ και με αυτόν τον τρόπο.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Κάνεις λάθος, αν υποθέσουμε ότι το PC που θα κάνει generate και sign τα πιστοποιητικά δεν είναι compromised, είναι ακριβώς μα ακριβώς το ίδιο ασφαλές με το να αγοράσει ένα πιστοποιητικό από αναγνωρισμένο root CA. Το μόνο που προσφέρει ο αναγνωρισμένος CA είναι κάποια εγγύηση για την ταυτότητα του ιδιοκτήτη του certificate προς άγνωστους χρήστες, από τη στιγμή που αυτό δεν ενδιαφέρει κάποιον δεν χάνει τίποτα με το να χρησιμοποιήσει δικό του CA με self-signed πιστοποιητικό.

 

Ο τρόπος και η τεχνολογία δεν διαφέρουν στο ελάχιστο, ο εγγυητής διαφέρει.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Πόσο εύκολο είναι να γίνει compromise η CA που έκανε ο ίδιος και πόσο εύκολο να γίνει compromise η commercial CA? Αυτό εννοώ...

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Αν κάτι από τα δύο είναι inherently πιο insecure αυτό είναι να "ψωνίσεις" από εταιρία, επειδή η εταιρία παρέχει online certificate verification service (κάτι το οποίο δε χρειάζεται αν θέλεις απλά μια σχέση εμπιστοσύνης ανάμεσα σε γνωστούς σου peers όπως ο molf48), επειδή είναι στόχος, κι επειδή δε ξέρεις που μπορεί να βρίσκεται ένα αντίγραφο του private κλειδιού σου, αφού δε το δημιούργησες καν ο ίδιος σε ελεγχόμενο περιβάλλον!

 

Μην διαβάζεις τις διαφημιστικές παπαριές των εταιριών, συνήθως είναι πολύ μπλαμπλα με λίγη ουσία, κι αυτή σε επίτηδες απροσδιόριστο context, με σκοπό να μπερδέψουν και να εντυπωσιάσουν. Διάβασε κατευθείαν πώς λειτουργεί το public key encryption και το PGP.

 

Ένα free βιβλιαράκι που τα λέει ωραία και απλά:

ftp://ftp.pgpi.org/pub/pgp/6.5/docs/english/IntroToCrypto.pdf

 

Στις 30 πρώτες σελίδες πιστεύω θα δεις ότι δεν θα ήταν καθόλου πιο secure αν ψώνιζε έτοιμο πιστοποιητικό.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
×
×
  • Δημιουργία νέου...