Console1984

screenshot of Console1984

The Rails console you love, 1984 style

Overview

The console1984 Rails console extension is a powerful tool designed to enhance security and accountability within Rails applications. Inspired by the adage from George Orwell, this extension protects sensitive access points and ensures that all actions taken within console sessions are auditable. This is particularly beneficial in environments where safeguarding sensitive information is critical.

By integrating seamlessly with Active Record encryption, console1984 not only maintains a log of console sessions but also manages access to encrypted data, requiring justifications for any sensitive operations. This dual approach to security makes it an essential addition for developers aiming to uphold best practices in data management and security.

Features

  • Session Activity Logging: Each console session requires a justification upon startup, documenting the reason and recording all commands executable during that session for accountability.

  • Auditing Integration: Pairs well with the audits1984 tool, which audits and tracks console session trails, creating a robust auditing mechanism.

  • Encrypted Data Access: Users cannot access decrypted data by default; they can only view ciphertexts unless permission is granted through a justification process for sensitive actions.

  • Protected Mode Functionality: In protected mode, modifications to encrypted data are restricted, ensuring that sensitive data remains secure without compromising usability.

  • External System Protection: Offers the ability to include external system URLs in the protection scheme, effectively safeguarding sensitive data across various platforms like Elasticsearch and Redis.

  • Automatic Session Incineration: Sessions can be configured to automatically expire after a set period (default is 30 days), enhancing data hygiene within the application.

  • Eager Loading Compatibility: Automatically eager loads application classes when starting a console session, streamlining operations especially in production environments.

  • Flexible Configuration Options: Provides various options to customize behavior according to the application's requirements, ensuring a tailored approach to security and auditing.