Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-23195

Moodle network long term stability still problematic for XMLRPC based services between Moodles

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Do
    • 2.0
    • None
    • MNet
    • None
    • MOODLE_20_STABLE
    • Difficult

    Description

      Raising again this problem to be addressed or statused in Moolde 2.0 , as having spent ton of hours on the subject.

      As far as Moodle Network will repair obsolete keys quite correctly using SSO jumpings, no XMLRPC transaction can repair down keys after they have exprired at a remote point.

      This causes a huge stability of service issue when having a distributed Moodle strategy for big organisations and hoping relying on the stability of the trusted network at long term. The soluce of bumping the key duration is not satisfactory from a theoretical security point of vue.

      We implemented an automated key rotiation solution that allows the cron of a Moodle to check for a neartime key obsolescence, and redistributing a new key to its trusted network.

      the solution is not full satisfactory as it uses a tweaking of the get_public_key() function, allowing an additional "force" mode to inject a changed key within the remote mnet_host matching record.

      We have a 35 Moodles system running without network trouble for 18 months yet.

      Most of the big organisation future development using distributed platforms would hope having a solution to this...

      Attachments

        1. mnet.php
          0.3 kB
        2. mnetcron.php
          4 kB
        3. patch_rotation_core.patch
          4 kB
        4. patch_rotation_settings.patch
          4 kB

        Activity

          People

            Unassigned Unassigned
            vf Valery Fremaux
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: