ΕΕΛΛΑΚ - Λίστες Ταχυδρομείου

Re: !***SPAM***! Re: Re: GSIS OAuth2 Keycloak Identity Providers Plug-in

Γεια χαρά,

Απλά με τη σειρά μου να αναφέρω ότι η ανάλυση είναι σωστή, και ότι οι περισσότερες βιβλιοθήκες μπορούν να λειτουργήσουν ως ενδιάμεσοι (proxies) ως έχουν ή με ελάχιστες τροποποιήσεις. Σε ότι αφορά στο Keycloak αυτό είναι καθαρά θέμα ρύθμισης κατά την λειτουργία αν θα επιτρέπεται ή όχι.

To keycloak είναι ένα εξαιρετικά δημοφιλές έργο ανοιχτού λογισμικού και χρησιμοποιείται από χιλιάδες οργανισμούς ανά τον κόσμο, συμπεριλαμβανομένης και της Red Hat εσωτερικά σαν το βασικό μας σύστημα SSO. Αξιολογείται, υποστηρίζεται και εξελίσσεται συνεχώς από ομάδες με πολύ βαθιά γνώση σε θέματα ασφαλείας.

Η συγκεκριμένη υλοποίηση που προτείνεται μπορεί να ενθαρρύνει και άλλους παραγωγούς εφαρμογών να δημιουργήσουν λύσεις που θα συμφωνούν με την άδεια χρήσης που παρέχει η ΓΓΠΣ, επομένως θεωρώ ότι είναι προς την σωστή κατεύθυνση.

Για οποιαδήποτε τεχνική απορία/αμφιβολία, code/configuration review, κτλ. μπορώ να σας φέρω σε επαφή με την κεντρική ομάδα ανάπτυξης του Keycloak.

Χαιρετώ

/Δημήτρης Ανδρεάδης



On 01/07/2021 12:46, Konstantinos Togias wrote:
Καλησπέρα,

Θα ήθελα, χάριν διευκρίνησης, να αναφέρω ότι δεν χρησιμοποιούμε το Apache Keycloak (ίσως αναφέρεστε στο mod_auth_openidc), αλλά το Keycloak Identity and Access Management System της RedHat.

Αναφέρετε στο email σας ότι "Το apache keycloak **δύναται** να δράσει ως ενδιάμεσος OpenID Connect/OAuth2 proxy, ώστε τρίτες web εφαρμογές να το χρησιμοποιούν για να εκτελούν OAuth2 protocol, Authorization Code Grant flow, SSO sessions προς OAuth2 Identity Providers στους οποίους το Keycloak έχει καταχωρηθεί ως OAuth2 client για συγκεκριμένη εφαρμογή SSO".

To keycloak δύναται να δράσει ως ενδιάμεσος OpenID Connect/OAuth2 proxy σε τρίτες εφαρμογές, εφόσον όμως ρυθμιστεί γι αυτό τον σκοπό από τον υπεύθυνο διαχειριστή του. Από την πλευρά μας δεν είναι προρυθμισμένο για αυτή τη λειτουργία, ούτε είναι αυτός ο κύριος ή μοναδικός σκοπός χρήσης του. Εξάλλου, ο διαχειριστής μιας εφαρμογής στην οποία έχει δοθεί πρόσβαση στο authentication service του TAXISnet δύναται με οποιοδήποτε άλλο εργαλείο, σύστημα, βιβλιοθήκη ή custom κώδικα να κάνει proxying σε τρίτες εφαρμογές, παραβιάζοντας την άδεια χρήσης της ΓΓΠΣ. (π.χ. μπορείτε να δείτε εδώ μια λίστα με OpenID Provider Libraries που μπορεί να χρησιμοποιήσει κάποιος και που δύνανται να χρησιμοποιηθούν σε συνδυασμό με την πρόσβαση στο TAXISnet για proxying σε τρίτες εφαρμογές: https://openid.net/developers/certified/ <https://openid.net/developers/certified/> )

Επομένως, κάθε υλοποίηση και κάθε εφαρμογή που έχει δικαίωμα χρήσης του authentication service του TAXISnet (ή οποιουδήποτε άλλου OAuth ή OpenID provider - δεν πρόκειται για κάποια συγκεκριμένη αδυναμία του TAXISnet, αλλά για τον τρόπο με τον οποίο λειτουργεί και το σκοπό για τον οποίο σχεδιάστηκε το ΟAuth πρωτόκολλο - ) **δύναται** τεχνικά να δράσει ως ενδιάμεσος OpenID Connect/OAuth2 proxy προς τρίτες εφαρμογές. Η διασφάλιση του ότι κάτι τέτοιο δεν θα συμβεί είναι κατά τη γνώμη μας θέμα νομικό και όχι τεχνικό. Καταλαβαίνουμε και συμφωνούμε πλήρως με τον προβληματισμό και το σκεπτικό κάτω από τα οποία αναφέρεται στην άδεια χρήσης που παρέχει η ΓΓΠΣ ότι κάτι τέτοιο αποτελεί παραβίασή της και συνεπάγεται τη διακοπή της πρόσβασης.

Εμείς, ακολουθώντας τις διεθνείς καλές πρακτικές και έχοντας ως γνώμονα την ασφάλεια, την απόδοση και τη λειτουργικότητα των εφαρμογών που υλοποιούμε, χρησιμοποιούμε το keycloak, αντί για custom code, προκειμένου να υλοποιήσουμε το user management, authentication και authorization υποσύστημα της εφαρμογής μας, για την οποία ζητήσαμε πρόσβαση στις υπηρεσίες της ΓΓΠΣ. Μια γενική ιδέα σχετικά με την τεχνική μας προσέγγιση μπορείτε να πάρετε από την ακόλουθη παρουσίαση του Sebastien Blanc της RedHat: https://www.doag.org/formes/pubfiles/11143470/2019-NN-Sebastien_Blanc-Easily_Secure_your_Microservices_with_Keycloak-Praesentation.pdf <https://www.doag.org/formes/pubfiles/11143470/2019-NN-Sebastien_Blanc-Easily_Secure_your_Microservices_with_Keycloak-Praesentation.pdf>

Τα πλεονεκτήματα της χρήσης μιας έτοιμης, ασφαλούς, ανοικτού κώδικα, ενεργά υποστηριζόμενης, standards compliant και ευρείας αποδοχής λύσης όπως το keycloak της Redhat, έναντι μιας οποιασδήποτε custom υλοποίησης σε java ή PHP με χρήση ή μη κάποιου έτοιμου library, θεωρούμε ότι είναι γνωστά σε όλους μας και η ανάλυσή τους είναι εκτός του πεδίου της συζήτησης (ευχαρίστως αν ενδιαφέρεται κάποιος, να κάνουμε μια άλλη συζήτηση πάνω σε αυτό και γενικότερα σε θέματα security και user management/authentication/authorization σε service oriented και microservices αρχιτεκτονικές).

Τέλος, αν και αποτελεί μάλλον πλεονασμό μια και αυτό συνεπάγεται από το γεγονός ότι έχουμε αποδεχτεί την άδεια χρήσης των υπηρεσιών της ΓΓΠΣ στην οποία γίνεται σχετική μνεία,  δηλώνουμε ότι δεν έχουμε πρόθεση, ούτε πρόκειται να λειτουργήσουμε ως ενδιάμεσοι για τρίτες web εφαρμογές. Η πρόσβαση που μας παρέχετε θα χρησιμοποιηθεί αποκλειστικά για τη σύνδεση και αναγνώριση χρηστών στην εφαρμογή του ΟΠΣ «Διαχείρισης Τάξης Μαθητείας», μία εφαρμογή για τη διαχείριση του μεταλυκειακού έτους μαθητείας που αναπτύσσουμε και υποστηρίζουμε για λογαριασμό του Υπουργείου Παιδείας. Ο σκοπός χρήσης είναι λοιπόν συγκεκριμένος και ακριβώς αυτός για τον οποίο μας έχει δοθεί από εσάς η άδεια χρήσης της υπηρεσίας. Κάθε ενέργεια που έχουμε κάνει και ο κώδικας που έχουμε αναπτύξει, συμπεριλαμβανομένου του plugin για το keyckloak, εξυπηρετεί τη συγκεκριμένη εφαρμογή και το συγκεκριμένο σκοπό και λειτουργεί σύμφωνα με τον όρο της άδειας που αναφέρετε.

Με βάση τα παραπάνω αιτούμαστε να μας δοθεί η άδεια για χρήση της υπηρεσίας OAuth2 Authentication σε παραγωγική λειτουργία για τη συγκεκριμένη εφαρμογή και να μην αποτελέσει το γεγονός ότι χρησιμοποιούμε την τεχνική λύση του keycloak λόγο απόρριψης.

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

Με εκτίμηση,
//

------
Κωνσταντίνος Τόγιας
Δ/νση Πανελλήνιου Σχολικού Δικτύου & Δικτυακών Τεχνολογιών Ινστιτούτο Τεχνολογίας Υπολογιστών & Εκδόσεων - <<Διόφαντος>>
Οδός Ν. Καζαντζάκη, Πανεπιστήμιο Πατρών, Ρίο, TK-26504

Τηλ. 2610 960 328
email: ktogias [ at ] cti [ dot ] gr <mailto:ktogias [ at ] cti [ dot ] gr>
url: http://www.cti.gr/nts/ <http://www.cti.gr/nts/>

On Thu, Jul 1, 2021 at 9:58 AM Άγγελος Καρβούνης <a [ dot ] karvounis [ at ] gsis [ dot ] gr <mailto:a [ dot ] karvounis [ at ] gsis [ dot ] gr>> wrote:

    Καλημέρα,____

    __ __

    σας ενημερώνω ότι η χρήση του keycloak*δεν συνάδει με την πολιτική
    Ασφάλειας του Κέντρου Διαλειτουργικότητας.*____

    __ __

    /Συγκεκριμένα το keycloak είναι middleware λογισμικό Identity and
    Access Management που υποστηρίζει identity federation
    αρχιτεκτονικές. ____/

    /Το apache keycloak δύναται να δράσει ως ενδιάμεσος OpenID
    Connect/OAuth2 proxy, *ώστε τρίτες web εφαρμογές να το χρησιμοποιούν
    για να εκτελούν OAuth2 protocol*, Authorization Code Grant flow, SSO
    sessions ____/

    /προς OAuth2 Identity Providers στους οποίους το Keycloak έχει
    καταχωρηθεί ως OAuth2 client για συγκεκριμένη εφαρμογή SSO.____/

    __ __

    Από την στιγμή που ο πολίτης ενημερώνεται από τις οθόνες του
    oauth2.0 και αποδέχεται ότι θα συνδεθεί σε μια συγκεκριμένη εφαρμογή
    για να αποσταλούν τα στοιχεία του, απαγορεύεται να αποσταλούν τα
    στοιχεία σε τρίτες εφαρμογές.____

    Επιπρόσθετα στο έγγραφο για ένταξη σε παραγωγική Λειτουργία της
    υπηρεσίας του oauth2.0 που στέλνει ο φορές στην ΓΓΠΣΔΔ δηλώνει ρητά
    ότι :____

    *“ο Φορέας δεσμεύεται ότι δεν θα προβεί σε διαμοιρασμό (proxying)
    της υπηρεσίας oauth2.0 με άλλες εφαρμογές/site με διαφορετικό σκοπό
    χρήσης, έστω και εάν αυτές είναι του ιδίου Φορέα”____*

    __ __

    Με βάση τα παραπάνω δεν θα εγκρίνονται για παραγωγική λειτουργία
    αιτήματα ( με εξαίρεση ειδικές περιπτώσεις ) για χρήση της υπηρεσίας
    oauth2.0 που αξιοποιούν το keycloak____

    __ __

    __ __

    Με εκτίμηση____

    __ __

    __ __

    __ __

    GGPS_LOGO____

    	

    *Καρβούνης Άγγελος____*

    Προϊστάμενος τμήματος Διαλειτουργικότητας & Ηλεκτρονικών Υπηρεσιών____

    Διεύθυνση  Σχεδιασμού και Ανάπτυξης Εφαρμογών ____

    Γενική Γραμματεία Πληροφοριακών Συστημάτων Δημόσιας Διοίκησης ____

    Υπουργείο Ψηφιακής Διακυβέρνησης ____

    Τηλ : +30 210 4803288 - 3172____

    e-mail: a [ dot ] karvounis [ at ] gsis [ dot ] gr <mailto:a [ dot ] karvounis [ at ] gsis [ dot ] gr>____

    __ __

    __ __

    __ __

    __ __

    __ __

    -----Original Message-----
    From: Dimitris Andreadis
    Sent: Wednesday, June 30, 2021 6:52 PM
    To: Konstantinos Togias <info [ at ] ktogias [ dot ] gr <mailto:info [ at ] ktogias [ dot ] gr>>;
    opensource-developers [ at ] ellak [ dot ] gr <mailto:opensource-developers [ at ] ellak [ dot ] gr>
    Subject: !***SPAM***! Re: [opensource-developers] Re: GSIS OAuth2
    Keycloak Identity Providers Plug-in

    __ __

    Ωραία δουλειά :-)____

    __ __

    Δηλαδή θα μπορείς να χρησιμοποιείς το SSO του TAXIXnet για να κάνεις
    login σε κάποια εγκεκριμένη από την ΓΓΠΣ εφαρμογή, ναι;____

    __ __

    Αν χρειαστείς κάτι από την ομάδα του Keycloak πες να σας συνδέσω.____

    __ __

    Χαιρετώ!____

    __ __

    /Δημήτρης____

    __ __

    --____

    Dimitris Andreadis____

    Engineering Director____

    Cloud Native Runtimes____

    Quarkus Team, Red Hat____

    __ __

    On 30/06/2021 15:08, Konstantinos Togias wrote:____

     > Επειδή δέχθηκα σχετικό τηλεφώνημα από τη ΓΓΠΣ, να διευκρινίσω ότι
    όταν ____

     > μιλάω για single sign-on με TAXISnet εννοώ SSO μεταξύ της
    εφαρμογής ____

     > για την οποία κάποιος έχει ζητήσει και λάβει άδεια χρήσης των ____

     > υπηρεσιών της ΓΓΠΣ και του TAXISnet. 'Οχι την υλοποίηση πρόσβασης
    ____

     > τρίτων εφαρμογών διαφορετικών από αυτή για την οποία έχει δοθεί η
    ____

     > πρόσβαση από τη ΓΓΠΣ, ενέργεια η οποία απαγορεύεται από την άδεια
    που ____

     > δίνει η ΓΓΠΣ για τη χρήση της υπηρεσίας της και θα έχει οπως με ____

     > ενημέρωσαν σαν συνέπεια την άρση της.____

     > ____

     > ---____

     > Konstantinos Togias____

     > M.Sc. in Mathematics of Computers and Decision Making Software &
    Web ____

     > Applications Developer____

     > ____

     > tel. (+30)6946977595____

     > e-mail: info [ at ] ktogias [ dot ] gr <mailto:info [ at ] ktogias [ dot ] gr>
    <mailto:info [ at ] ktogias [ dot ] gr <mailto:info [ at ] ktogias [ dot ] gr>>____

     > www: http://ktogias.gr <http://ktogias.gr> <http://ktogias.gr
    <http://ktogias.gr>>____

     > ____

     > ____

     > On Wed, Jun 30, 2021 at 12:07 PM Konstantinos Togias
    <info [ at ] ktogias [ dot ] gr <mailto:info [ at ] ktogias [ dot ] gr> ____

     > <mailto:info [ at ] ktogias [ dot ] gr <mailto:info [ at ] ktogias [ dot ] gr>>> wrote:____

     > ____

     >     Αφήνω εδώ το σύνδεσμο για ένα Keycloak extension για identity____

     >     brokering με τις OAuth 2 υπηρεσίες της Γ.Γ.Π.Σ.Δ.Δ. που____

     >     κατασκευάσαμε στο ΙΤΥΕ Διόφαντος και τη Διεύθυνση ΠΣΔ.____

     > ____

     >     Ελπίζω να φανεί χρήσιμο σε όσους θέλουν να υλοποιήσουν single____

     >     sign-on με TAXISnet.____

     > ____

     > https://github.com/cti-nts/keycloak-gsis-providers
    <https://github.com/cti-nts/keycloak-gsis-providers>____

     > ____

     >
    <https://github.com/cti-nts/keycloak-gsis-providers?fbclid=IwAR3omGwo_
    <https://github.com/cti-nts/keycloak-gsis-providers?fbclid=IwAR3omGwo_>____

     > 5j168pSfX5cDkv-lKQmFQkejvlOZPuwYAMYbTWDaH4msJ82VSo>____

     > ____

     >     ---____

     >     Konstantinos Togias____

     >     M.Sc. in Mathematics of Computers and Decision Making____

     >     Software & Web Applications Developer____

     > ____

     >     tel. (+30)6946977595____

     >     e-mail: info [ at ] ktogias [ dot ] gr <mailto:info [ at ] ktogias [ dot ] gr>
    <mailto:info [ at ] ktogias [ dot ] gr <mailto:info [ at ] ktogias [ dot ] gr>>____

     >     www: http://ktogias.gr <http://ktogias.gr> <http://ktogias.gr
    <http://ktogias.gr>>____

     > ____

     > ____

     > ____

     > ----____

     > Λαμβάνετε αυτό το μήνυμα απο την λίστα: Γενική λίστα
    αλληλογραφίας που ____

     > απευθύνεται σε developers/contributors έργων ανοικτού λογισμικού
    - A ____

     > general discussion list for developers/contributors of
    open-source ____

     > projects,
    https://lists.ellak.gr/opensource-developers/listinfo.html
    <https://lists.ellak.gr/opensource-developers/listinfo.html>____

     > Μπορείτε να απεγγραφείτε από τη λίστα στέλνοντας κενό μήνυμα ηλ.
    ταχυδρομείου στη διεύθυνση
    <opensource-developers+unsubscribe [ at ] ellak [ dot ] gr
    <mailto:opensource-developers+unsubscribe [ at ] ellak [ dot ] gr>>.____

     > ____
----
Λαμβάνετε αυτό το μήνυμα απο την λίστα: Γενική λίστα αλληλογραφίας που απευθύνεται σε developers/contributors έργων ανοικτού λογισμικού - A general discussion list for developers/contributors of open-source projects,
https://lists.ellak.gr/opensource-developers/listinfo.html
Μπορείτε να απεγγραφείτε από τη λίστα στέλνοντας κενό μήνυμα ηλ. ταχυδρομείου στη διεύθυνση <opensource-developers+unsubscribe [ at ] ellak [ dot ] gr>.

πλοήγηση μηνυμάτων