diff --git a/README_EN.md b/README_EN.md index 5f2539c9f..072aaadea 100644 --- a/README_EN.md +++ b/README_EN.md @@ -1,143 +1,245 @@ -## Jumpserver +# Jumpserver - The Bastion Host for Multi-Cloud Environment [](https://www.python.org/) [](https://www.djangoproject.com/) [](https://hub.docker.com/u/jumpserver) ----- -## CRITICAL BUG WARNING +- [中文版](https://github.com/jumpserver/jumpserver/blob/master/README.md) -Recently we have found a critical bug for remote execution vulnerability which leads to pre-auth and info leak, please fix it as soon as possible. - -Thanks for **reactivity from Alibaba Hackerone bug bounty program** report us this bug - -**Vulnerable version:** -``` -< v2.6.2 -< v2.5.4 -< v2.4.5 -= v1.5.9 ->= v1.5.3 -``` - -**Safe and Stable version:** -``` ->= v2.6.2 ->= v2.5.4 ->= v2.4.5 -= v1.5.9 (version tag didn't change) -< v1.5.3 -``` - -**Bug Fix Solution:** -Upgrade to the latest version or the version mentioned above - - -**Temporary Solution (upgrade asap):** - -Modify the Nginx config file and disable the vulnerable api listed below - -``` -/api/v1/authentication/connection-token/ -/api/v1/users/connection-token/ -``` - -Path to Nginx config file - -``` -# Previous Community version -/etc/nginx/conf.d/jumpserver.conf - -# Previous Enterprise version -jumpserver-release/nginx/http_server.conf - -# Latest version -jumpserver-release/compose/config_static/http_server.conf -``` - -Changes in Nginx config file - -``` -### Put the following code on top of location server, or before /api and / -location /api/v1/authentication/connection-token/ { - return 403; -} - -location /api/v1/users/connection-token/ { - return 403; -} -### End right here - -location /api/ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://core:8080; - } - -... -``` - -Save the file and restart Nginx - -``` -docker deployment: -$ docker restart jms_nginx - -rpm or other deployment: -$ systemctl restart nginx - -``` - -**Bug Fix Verification** - -``` -# Download the following script to check if it is fixed -$ wget https://github.com/jumpserver/jumpserver/releases/download/v2.6.2/jms_bug_check.sh - -# Run the code to verify it -$ bash jms_bug_check.sh demo.jumpserver.org -漏洞已修复 (It means the bug is fixed) -漏洞未修复 (It means the bug is not fixed and the system is still vulnerable) -``` - - -**Attack Simulation** - -Go to the logs directory which should contain gunicorn.log file. Then download the "attack" script and execute it - -``` -$ pwd -/opt/jumpserver/core/logs - -$ ls gunicorn.log -gunicorn.log - -$ wget 'https://github.com/jumpserver/jumpserver/releases/download/v2.6.2/jms_check_attack.sh' -$ bash jms_check_attack.sh -系统未被入侵 (It means the system is safe) -系统已被入侵 (It means the system is being attacked) -``` +|Security Notice| +|------------------| +|On 15th January 2021, JumpServer found a critical bug for remote execution vulnerability. Please fix it asap! [For more detail](https://github.com/jumpserver/jumpserver/issues/5533) Thanks for **reactivity of Alibaba Hackerone bug bounty program** report use the bug| -------------------------- ----- - -- [中文版](https://github.com/jumpserver/jumpserver/blob/master/README.md) - -Jumpserver is the world's first open-source PAM (Privileged Access Management System) and is licensed under the GNU GPL v2.0. It is a 4A-compliant professional operation and maintenance security audit system. +Jumpserver is the world's first open-source Bastion Host and is licensed under the GNU GPL v2.0. It is a 4A-compliant professional operation and maintenance security audit system. Jumpserver uses Python / Django for development, follows Web 2.0 specifications, and is equipped with an industry-leading Web Terminal solution that provides a beautiful user interface and great user experience Jumpserver adopts a distributed architecture to support multi-branch deployment across multiple cross-regional areas. The central node provides APIs, and login nodes are deployed in each branch. It can be scaled horizontally without concurrency restrictions. -Change the world, starting from little things. +Change the world by taking every little step ---- +### Advantages -### Features +- Open Source: huge transparency and free to access with quick installation process. +- Distributed: support large-scale concurrent access with ease. +- No Plugin required: all you need is a browser, the ultimate Web Terminal experience. +- Multi-Cloud supported: a unified system to manage assets on different clouds at the same time +- Cloud storage: audit records are stored in the cloud. Data lost no more! +- Multi-Tenant system: multiple subsidiary companies or departments access the same system simultaneously. +- Many applications supported: link to databases, windows remote applications, and Kubernetes cluster, etc. -  +## Features List + +
| Authentication | +Login | +Unified way to access and authenticate resources | +
| LDAP/AD Authentication | +||
| RADIUS Authentication | +||
| OpenID Authentication(Single Sign-On) | +||
| CAS Authentication (Single Sign-On) | +||
| MFA (Multi-Factor Authentication) | +Use Google Authenticator for MFA | +|
| RADIUS (Remote Authentication Dial In User Service) | +||
| Login Supervision | +Any user’s login behavior is supervised and controlled by the administrator:small_orange_diamond: | +|
| Accounting | +Centralized Accounts Management | +Admin Users management | +
| System Users management | +||
| Unified Password Management | +Asset password custody (a matrix storing all asset password with dense security) | +|
| Auto-generated passwords | +||
| Automatic password handling (auto login assets) | +||
| Password expiration settings | +||
| Password change Schedular | +Support regular batch Linux/Windows assets password changing:small_orange_diamond: | +|
| Implement multiple password strategies:small_orange_diamond: | +||
| Multi-Cloud Management | +Automatically manage private cloud and public cloud assets in a unified platform :small_orange_diamond: | +|
| Users Acquisition | +Create regular custom tasks to collect system users in selected assets to identify and track the privileges ownership:small_orange_diamond: | +|
| Password Vault | +Unified operations to check, update, and test system user password to prevent stealing or unauthorised sharing of passwords:small_orange_diamond: | +|
| Authorization | +Multi-Dimensional | +Granting users or user groups to access assets, asset nodes, or applications through system users. Providing precise access control to different roles of users | +
| Assets | +Assets are arranged and displayed in a tree structure | +|
| Assets and Nodes have immense flexibility for authorizing | +||
| Assets in nodes inherit authorization automatically | +||
| child nodes automatically inherit authorization from parent nodes | +||
| Application | +Provides granular access control for privileged users on application level to protect from unauthorized access and unintentional errors | +|
| Database applications (MySQL, Oracle, PostgreSQL, MariaDB, etc.) and Remote App:small_orange_diamond: | +||
| Actions | +Deeper restriction on the control of file upload, download and connection actions of authorized assets. Control the permission of clipboard copy/paste (from outer terminal to current asset) | +|
| Time Bound | +Sharply limited the available (accessible) time for account access to the authorized resources to reduce the risk and attack surface drastically | +|
| Privileged Assignment | +Assign the denied/allowed command lists to different system users as privilege elevation, with the latter taking the form of allowing particular commands to be run with a higher level of privileges. (Minimize insider threat) | +|
| Command Filtering | +Creating list of restriction commands that you would like to assign to different authorized system users for filtering purpose | +|
| File Transfer and Management | +Support SFTP file upload/download | +|
| File Management | +Provide a Web UI for SFTP file management | +|
| Workflow Management | +Manage user login confirmation requests and assets or applications authorization requests for Just-In-Time Privileges functionality:small_orange_diamond: | +|
| Group Management | +Establishing a multi-tenant ecosystem that able authority isolation to keep malicious actors away from sensitive administrative backends:small_orange_diamond: | +|
| Auditing | +Operations | +Auditing user operation behaviors for any access or usage of given privileged accounts | +
| Session | +Support real-time session audit | +|
| Full history of all previous session audits | +||
| Video | +Complete session audit and playback recordings on assets operation (Linux, Windows) | +|
| Full recordings of RemoteApp, MySQL, and Kubernetes:small_orange_diamond: | +||
| Supports uploading recordings to public clouds | +||
| Command | +Command auditing on assets and applications operation. Send warning alerts when executing illegal commands | +|
| File Transfer | +Full recordings of file upload and download | +|
| Database | +How to connect | +Command line | +
| Built-in Web UI:small_orange_diamond: | +||
| Supported Database | +MySQL | +|
| Oracle :small_orange_diamond: | +||
| MariaDB :small_orange_diamond: | +||
| PostgreSQL :small_orange_diamond: | +||
| Feature Highlights | +Syntax highlights | +|
| Prettier SQL formmating | +||
| Support Shortcuts | +||
| Support selected SQL statements | +||
| SQL commands history query | +||
| Support page creation: DB, TABLE | +||
| Session Auditing | +Full records of command | +|
| Playback videos | +