Passdora: Implement Restore Routine

in utopian-io •  7 years ago  (edited)

We implemented a new feature for our PASSDORA Box. Passdora is a Raspberry Pi based system which hosts the Sequry password-manager.

Passdora

New Features

What feature(s) did you add?

The Passdora system offers a function to create backups, so the users' data isn't lost if the system drive fails or some other fault causes data loss. So far the files saved in a backup had to be copied back onto a new system manually. Since the backup is encrypted, compressed, contains a lot of files and even a database dump, the manual restore is too complex for a regular user. In order to simplify that process, a feature should be added that only requires a backup file and the key used for encryption to restore the system back to the state of that backup.

Reasons
  • system needs a function to restore backups
  • manually restoring a backup is too complex
    • automation required

How did you implement it/them?

  • add a dialog that asks for a backup file and it's restore-key:

    • bin/js/controls/RestoreDialog.css [link]
    • bin/js/controls/RestoreDialog.html [link]
    • bin/js/controls/RestoreDialog.js [link]
  • upload the backup to the system

  • try to decrypt the backup with the given restore-key

    • ajax/processRestoreFile.php [link]
  • copy the files in the backup-archive to their correct location

    • in repository sequry/passdora: Build_Image/files/passdora_scripts/lib/autostart/RestoreListener.py [link]
  • restore the database

    • in repository sequry/passdora: Build_Image/files/passdora_scripts/lib/autostart/RestoreListener.py [link]
  • restart the system

    • in repository sequry/passdora: Build_Image/files/passdora_scripts/lib/autostart/RestoreListener.py [link]

Since the commits unfortunately overlap, a nice log cannot be created :(.
I tried to specify the files that were affected, you can find a link behind every file name.

A complete commit log can you find [here]

Preview

as always, a picture says more than 1000 words

Asking for backup-file:

Asking for backup-file's restore-key:

System-Restore successfully initialized:

Allow the user to abort the system-restore:

Thanks for reading,
Jan, for PCSG Developers



Posted on Utopian.io - Rewarding Open Source Contributors

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

  ·  7 years ago (edited)

Thank you vladimir.

Hey @vladimir-simovic, I just gave you a tip for your hard work on moderation. Upvote this comment to support the utopian moderators and increase your future rewards!

Hey @pcsg-dev I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Not having a proper back up can be detrimental to the activities of any individual or organization.

I have lost 10 years worth of data before, due to my negligence of not backing up.

I believe Passdora is worth a trial....

How can we access the service?

Hm? Passdora is not a service.

Passdora is mainly intended for agencies, companies that have to manage many passwords internally. of course, private persons can also use passdora.

To clarify the point:

  • passdora is the box which contains sequry, so say a ready to run password manager box
  • sequry is, so to speak, a password manager (developed by us, too)

We are in the process of building the first prototype. sequry is already usable, also for private use.

The goal of passdora is to just buy a small box, connect it to your network and you're done. Your company, agency, or you personally have a finished password manager. Your passwords are then with you and not somewhere in the cloud.

Here is an overview:

In our company it often happens that passwords to different systems have to be shared among several employees. The problem is that this usually happens in unsafe ways (e.g. e-mail or chats etc.). With Sequry (a password manager) is it possible to share and store passwords (using modern cryptographic procedures) between several persons without problems. Besides security, an important factor is that the whole thing should be developed as an on premise solution so that sensitive passwords (or other data) do not have to be given to third parties (keyword "cloud service"), but remain in the company.

Sequry stores passwords created by a user in an encrypted (local) database. For these passwords, you can specify which other users can view this password. Corresponding password recipients can then view these passwords and use them to log into third-party systems. This sharing of passwords is based on a mix of symmetric and asymmetric encryption and key derivation. To access passwords, a user must first authenticate himself. The system is designed for multi-factor authentication. Passwords can be divided into security classes, which require various freely configurable authentication factors. New authentication factors can be added to the system at any time (modular structure). The system is cryptographically designed in such a way that a successful decryption of passwords is only possible when all correct authentication information is available.

Users can also be divided into user groups to simplify password management and assignment.

;-)