A method for starting a desktop operation and maintenance client of a bastion host

By using the bastion machine initiator as an HTTP client and interacting with the asset access client and server through the HTTP protocol protocol initiator mode, the problems of unfriendly interaction, excessive URL and insufficient security are solved, achieving a more friendly user experience and higher system security.

CN119668767BActive Publication Date: 2025-06-10BEIJING LONGERSEC TECH CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510191908.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-21
Publication Date
2025-06-10
Estimated Expiration
2045-02-21

AI Technical Summary

Technical Problem

When using the URL protocol launcher mode, existing bastion machine products have problems such as unfriendly interaction, excessive URLs lead to business exceptions, inability to transmit startup error logs, and insufficient security.

Method used

By using the bastion machine initiator as an HTTP client, it interacts with the asset access client and the asset access server with the asset access signature token as the request body, and uses the HTTP protocol to start the desktop operation and maintenance client.

Benefits of technology

Improve user experience, avoid business exceptions caused by excessive URLs, realize the transmission and storage of startup error logs, and improve the security of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119668767B_ABST
    Figure CN119668767B_ABST
Patent Text Reader

Abstract

The present invention relates to the technical field of bastion hosts, and discloses a method for starting a desktop operation and maintenance client of a bastion host. The method uses the bastion host launcher as an HTTP client, and the bastion host launcher, the asset access client, and the asset access server use the asset access signature token as the request body, and interact using the HTTP protocol to complete the startup of the desktop operation and maintenance client, solving the technical problems in the prior art that when using the URL protocol launcher to start the desktop operation and maintenance client, the interaction is not friendly, the URL is too long leading to service anomalies, the startup error log cannot be transmitted, and the security is insufficient.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of bastion hosts, and specifically, to a method for starting a desktop operation and maintenance client of a bastion host. Background Art

[0002] Usually, operation and maintenance personnel are used to using a desktop operation and maintenance client to operate and maintain target assets during asset operation and maintenance. After an enterprise deploys a bastion host system, as the only entry for operating and maintaining target assets, the bastion host should also support operation and maintenance personnel to operate and maintain target assets through the desktop operation and maintenance client.

[0003] When implementing the function of operating and maintaining target assets by a desktop operation and maintenance client in existing mainstream bastion host products, there are usually the following two solutions:

[0004] Solution 1 is that the user starts the desktop operation and maintenance client by himself. Specifically, when the user requests to operate and maintain a certain target asset, the interface displays a dynamically generated user, a dynamically generated password, and a protocol proxy service address. Then, the user starts the desktop operation and maintenance client by himself and fills in the above information for connection and operation and maintenance.

[0005] Solution 2 is to use the URL protocol launcher mode, see Figure 1 , specifically, the user first installs the launcher provided by the bastion host on the computer. When the launcher is installed, it registers a custom URL protocol with the computer. When the URL navigated by the browser belongs to this custom URL protocol, the launcher is run with the URL as a parameter; then, when the user requests to operate and maintain a certain target asset, the front end navigates to a URL address that conforms to the custom URL protocol. The URL path part is usually encoded access information, which usually includes the identifier of the desktop operation and maintenance client to be started, the account name, the access token authenticated by the bastion host, and the protocol proxy server address; finally, the URL protocol handler mechanism is triggered to run the installed launcher and process the URL. The launcher parses the information described in the previous step and starts the corresponding desktop operation and maintenance client and fills in the account name, access token, server address, etc. on behalf, and then connects and starts operation and maintenance.

[0006] The disadvantage of the user starting the desktop operation and maintenance client by himself is that dynamic generated access information needs to be filled in every time an asset is accessed, which cannot be saved and is rather cumbersome. And the URL protocol launcher mode has the following disadvantages:

[0007] 1) The bastion host cannot simply detect whether the user has installed the launcher and registered the URL protocol handler, so it cannot prompt users who have not installed it, and the interaction is not friendly enough;

[0008] 2) As the business logic increases, more and more information needs to be encoded in the custom URL. However, the browser has limitations on the length of the URL. Therefore, this solution may cause the custom URL to be truncated, ultimately leading to business exceptions.

[0009] 3) The launcher log information is stored on the ordinary user's computer. When a startup failure occurs, the administrator cannot view the reason for the startup failure in the FortiGate management interface log. The FortiGate after-sales service needs to guide the ordinary user to obtain the corresponding log and troubleshoot, increasing the after-sales cost.

[0010] 4) In the existing technology, the access information encoded in the URL is usually not encrypted or not signed. Even if it is encrypted or signed, the key is hard-coded in the launcher program. The access information cannot prevent tampering, and the launcher may receive specially constructed requests from phishing websites, thus introducing security risks.

[0011] Therefore, a method for starting the FortiGate desktop operation and maintenance client is needed to solve the technical problems of unfriendly interaction, business exceptions caused by too long URLs, inability to transmit startup error logs, and insufficient security when using the URL protocol launcher to start the desktop operation and maintenance client. Summary of the Invention

[0012] The purpose of the present invention is to provide a method for starting the FortiGate desktop operation and maintenance client. The method uses the FortiGate launcher as an HTTP client. The FortiGate launcher, the asset access client, and the asset access server use the asset access signature token as the request body and interact using the HTTP protocol to complete the startup of the desktop operation and maintenance client, solving the above-mentioned technical problems of unfriendly interaction, business exceptions caused by too long URLs, inability to transmit startup error logs, and insufficient security when using the URL protocol launcher to start the desktop operation and maintenance client.

[0013] The present invention is realized through the following technical solutions:

[0014] A method for starting the FortiGate desktop operation and maintenance client, installing the FortiGate launcher when deploying the FortiGate and using the FortiGate launcher as an HTTP client;

[0015] Run the FortiGate launcher. When the asset access client monitors the user's request to access the target asset through the asset access page, the FortiGate launcher, the asset access client, and the asset access server use the asset access signature token as the request body and interact using the HTTP protocol to obtain access information; then, the FortiGate launcher starts the desktop operation and maintenance client according to the access information and establishes a connection with the protocol proxy server.

[0016] The desktop operation and maintenance client mentioned in the present invention is a client used by users when connecting to a server, such as xshell, mstsc, vncviewer, filezilla, etc.

[0017] The bastion host launcher mentioned in the present invention is used to receive the startup instruction sent by the bastion host, and finally start and fill in the desktop operation and maintenance client on behalf of the user.

[0018] To better implement the present invention, further, when installing the bastion host launcher, register the startup item at boot for the operating system where the asset access client runs; when it is monitored that the user logs in to the desktop computer, the bastion host launcher can automatically run and provide HTTP services externally.

[0019] To better implement the present invention, further, during the process of interacting using the HTTP protocol, the asset access client monitors the startup error log of the bastion host launcher and transmits the startup error log to the asset access server, and the asset access server associates the startup error log with the operation and maintenance session record.

[0020] To better implement the present invention, further, during the process of interacting using the HTTP protocol, when there is a startup exception that causes the failure to start the bastion host desktop operation and maintenance client, the bastion host launcher, the asset access client or the asset access server generates startup error information corresponding to the startup exception as the startup error log.

[0021] To better implement the present invention, further, during the process of interacting using the HTTP protocol, the asset access client sends a request to verify the version information to the bastion host launcher;

[0022] When the request connection to verify the version information fails, the asset access client prompts the user to install or run the bastion host launcher through the asset access page;

[0023] When the version information returned by the bastion host launcher is verified to pass, the asset access client sends a request to start the desktop operation and maintenance client to the bastion host launcher;

[0024] When the version information returned by the bastion host launcher is not verified to pass, the asset access client prompts the user to upgrade the bastion host launcher and restart the bastion host launcher through the asset access page.

[0025] To better implement the present invention, further, the asset access signature token is a JSON Web Token; the asset access signature token uses an encryption algorithm as the signature, and the payload of the asset access signature token is provided with a signature verification public key, the UTC time when the token expires, the URL of the access information, and a unique log identifier.

[0026] To better implement the present invention, further, when the bastion host launcher receives a request to verify version information or a request to start the desktop operation and maintenance client, it checks the trusted status of the verification public key by the user;

[0027] If the verification public key is not trusted by the user, the bastion host launcher sends a request to the user asking whether to trust the verification public key;

[0028] If the verification public key is trusted by the user, the bastion host launcher uses the verification public key to perform signature verification on the asset access signature token;

[0029] If the signature verification is successful, the bastion host launcher sends the version information to the asset access client or sends a request for the URL to access the access information to the asset access server;

[0030] If the signature verification fails, the bastion host launcher prompts the user that an abnormal request has been received.

[0031] To better implement the present invention, further, when the asset access server receives the URL of the access information, it performs signature verification on the asset access signature token and verifies the authentication status of the operation and maintenance session record corresponding to the unique log identifier;

[0032] If the signature verification is successful and the operation and maintenance session record corresponding to the unique log identifier is in a state of pending authentication, the asset access server sends the access information to the bastion host launcher, otherwise the asset access server prompts the user that the access information acquisition fails.

[0033] To better implement the present invention, further, the access information includes the asset protocol type, the protocol proxy server address, the username, and a one-time password for protocol proxy authentication. When the bastion host launcher receives the access information, it starts the desktop operation and maintenance client according to the access information and fills in the form on behalf of the user, so that the desktop operation and maintenance client is connected to the protocol proxy server.

[0034] To better implement the present invention, further, when initially deploying the bastion host, a private key corresponding to the verification public key of the asset access signature token is dynamically generated.

[0035] Compared with the prior art, the present invention has the following advantages and beneficial effects:

[0036] (1) Using the HTTP protocol for interaction between the bastion host launcher, the asset access client, and the asset access server enables the asset access client to detect whether the user has installed the bastion host launcher and gives a prompt, making the interaction more friendly and improving the usability;

[0037] (2) The interaction between the bastion host launcher, the asset access client, and the asset access server uses the HTTP protocol, enabling the transmission of startup error logs and reducing after-sales costs;

[0038] (3) Using the asset access signature token as the request body for interaction can prevent the tampering of access information and enhance security;

[0039] (4) Using the asset access signature token as the request body for interaction can avoid business exceptions caused by overly long URLs and enhance stability. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] The present invention will be further described below in conjunction with the following drawings and embodiments. All innovative concepts of the present invention should be regarded as the disclosed content and the protection scope of the present invention.

[0041] Figure 1 Schematic diagram of the prior art.

[0042] Figure 2 Schematic diagram of Embodiment 1 of the present invention.

[0043] Figure 3 Schematic diagram of the process of step S3 in Embodiment 2 of the present invention.

[0044] Figure 4 Schematic diagram of the process of step S4 in Embodiment 2 of the present invention.

[0045] Figure 5 Schematic diagram of the process of step S5 in Embodiment 2 of the present invention.

[0046] Figure 6 Schematic diagram of the process of step S6 in Embodiment 2 of the present invention.

[0047] Figure 7 Schematic diagram of the process of step S7 in Embodiment 2 of the present invention.

[0048] Figure 8 Schematic diagram of the process from step S10 to step S11 in Embodiment 2 of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0049] Embodiment 1

[0050] This embodiment provides a method for starting a desktop operation and maintenance client of a bastion host. The bastion host in this embodiment includes a bastion host launcher, an asset access client, an asset access server, a desktop operation and maintenance client, and a protocol proxy server. The asset access client further includes an asset access page. The method includes installing the bastion host launcher when deploying the bastion host and using the bastion host launcher as an HTTP client. When the asset access client listens to a user's request to access a target asset through the asset access page, the bastion host launcher, the asset access client, and the asset access server interact using the asset access signature token as the request body and the HTTP protocol to obtain access information. Then, the bastion host launcher starts the desktop operation and maintenance client according to the access information and establishes a connection with the protocol proxy server.

[0051] See Figure 2 , in a specific implementation manner, the bastion host launcher has been installed when deploying the bastion host. Using the bastion host launcher as an HTTP client and running it, the method for starting the desktop operation and maintenance client of the bastion host specifically includes the following steps:

[0052] Step S1: The asset access client requests to obtain an asset access signature token. Specifically, when the asset access client listens to a user's request to access a target asset through the asset access page, the asset access client uses the HTTP protocol to request the asset access server to obtain the asset access signature token corresponding to the target asset.

[0053] Step S2: The asset access server returns the asset access signature token. Specifically, when the asset access server receives an HTTP protocol request from the asset access client, it returns the asset access signature token corresponding to the target asset to the asset access client.

[0054] Step S3: The asset access client requests to verify the version of the bastion host launcher. Specifically, the asset access client uses the asset access signature token as the request body and uses an HTTP POST request to establish a connection with the bastion host launcher and verify the version of the bastion host launcher.

[0055] Step S4: The bastion host launcher returns version information. Specifically, after the bastion host launcher completes the verification of the asset access signature token, it returns version information to the asset access client.

[0056] Step S5: The asset access client requests to start the desktop operation and maintenance client. Specifically, the asset access client verifies the received version information. When the version information meets the version requirements of the current bastion host, the asset access client uses the asset access signature token as the request body and uses an HTTP POST request to request the bastion host launcher to start the desktop operation and maintenance client.

[0057] Step S6: The bastion host launcher requests to obtain access information. Specifically, the bastion host launcher verifies the asset access signature token again. After successful verification, it uses the asset access signature token as the request body and sends an HTTP POST request to the asset access server to access the URL in the asset access signature token for obtaining access information;

[0058] Step S7: The asset access server returns the access information. Specifically, the asset access server verifies the asset access signature token in the request from the bastion host launcher. After successful verification, it returns the access information to the bastion host launcher;

[0059] Step S8: The bastion host launcher starts the desktop operation and maintenance client according to the access information. Specifically, the bastion host launcher starts the corresponding desktop operation and maintenance client according to the access information and fills in the authentication information in the access information;

[0060] Step S9: The desktop operation and maintenance client connects to the protocol proxy server.

[0061] With this embodiment, information transmission can be achieved through the HTTP protocol interaction between modules of the bastion host.

[0062] In the URL protocol bastion host launcher mode of the prior art, after the browser navigates to a custom URL, the browser does not provide an interface or callback mechanism for the front-end js to determine whether the URL protocol handler (custom URL processor) has been registered on the computer or whether the bastion host launcher has been triggered. Therefore, it is impossible to detect whether the user has installed the bastion host launcher, and no information about the bastion host launcher can be obtained, including version information, startup error logs, etc.;

[0063] However, with HTTP protocol interaction, the asset access client can detect whether the user has installed the bastion host launcher by sending an HTTP protocol connection request to the bastion host launcher. If the request connection fails, it is considered that the user has not installed or started the bastion host launcher, which greatly improves the interactivity;

[0064] At the same time, when the bastion host launcher has been installed and is in normal use, the asset access client can also obtain startup error information such as the version of the bastion host launcher being too low or the asset access signature token verification failure that causes startup failure. These startup error information are stored in the bastion host instead of on the ordinary user's computer. Personnel with management permissions can view the corresponding startup failure reasons on the management page of the bastion host. The after-sales of the bastion host does not need to guide ordinary users to obtain the corresponding logs for troubleshooting, reducing the after-sales cost.

[0065] In this embodiment, when performing HTTP protocol interaction, the combination of the asset access signature token further ensures the security of the entire process;

[0066] In the URL protocol bastion host launcher mode of the prior art, the URL is passed as a running parameter to the bastion host launcher. The bastion host launcher needs to parse the URL to obtain access information. However, if the access information in the URL is encrypted, the launcher also needs a corresponding key to decrypt the URL. But in the existing solution, this key is hard-coded and may be cracked, exposing the key, posing a security risk;

[0067] While adopting this embodiment, the asset access signature token itself carries a signature. The signature private key is initialized during the deployment of the bastion host, and the signature verification public key is placed in the token. During the interaction, the user needs to confirm and verify the asset access signature token, which can effectively prevent the access information from being tampered with and enhance the security during the use process;

[0068] At the same time, taking the URL as a running parameter will make the URL too long, and the length of the browser URL is limited. Therefore, this solution may cause the custom URL to be truncated and eventually lead to business exceptions;

[0069] While adopting this embodiment, the URL of the access information can be set in the asset access signature token, making the length of the URL of the access information fixed, effectively avoiding the situation where the URL is truncated and eventually leads to business exceptions;

[0070] In addition, in the prior art, the bastion host launcher obtains access information by directly accessing the URL. While in this embodiment, the bastion host launcher needs to first send a request to the asset access server. After the asset access server completes the verification, it can further obtain access information through the URL of the access information. This can further prevent the access information from being tampered with, enhance security, and ensure that the parameters transmitted to the bastion host launcher are controlled and secure.

[0071] Embodiment 2

[0072] This embodiment further optimizes on the basis of Embodiment 1. In this embodiment, when installing the bastion host launcher, register the startup item at startup with the operating system where the asset access client runs; when it is monitored that the user logs in to the desktop computer, the bastion host launcher can automatically run and provide HTTP services externally, and the server listens on a fixed port;

[0073] By adopting this embodiment, it is possible to relatively easily use the bastion host launcher as an HTTP client and automatically run it to provide HTTP services externally, enabling the asset access page of the bastion host to connect to this service and request to start the desktop operation and maintenance client. Moreover, the bastion host launcher can automatically run when the user logs in to the computer desktop, providing HTTP services externally, preventing the situation where the bastion host launcher fails to run when the user needs to start the desktop operation and maintenance client. The fixed port listened by the server can be set by itself, such as 127.0.0.1:19567. If there is a port conflict, a pop-up window will prompt the user.

[0074] In this embodiment, during the process of interacting using the HTTP protocol, the asset access client monitors the startup error log of the bastion host launcher and transmits the startup error log to the asset access server, which associates the startup error log with the operation and maintenance session record.

[0075] Furthermore, during the process of interacting using the HTTP protocol, when a startup exception occurs that causes the failure to start the bastion host desktop operation and maintenance client, the bastion host launcher, the asset access client, or the asset access server generates startup error information corresponding to the startup exception as the startup error log.

[0076] Specifically, in this embodiment, when exceptions such as the failure to detect the bastion host launcher, the failure to verify the version information, the failure to verify the signature, and the failure to obtain access information occur, which cause the failure to start the desktop operation and maintenance client, the bastion host launcher, the asset access client, or the asset access server will generate startup error information corresponding to the exception as the startup error log. After the startup error information is associated with the operation and maintenance session record, it is stored in the asset access server for administrators with relevant permissions to view. The bastion host launcher, the asset access client, or the asset access server will also send corresponding prompts to the user according to the startup error information.

[0077] In this embodiment, during the process of interacting using the HTTP protocol, the asset access client sends a request to verify the version information to the bastion host launcher;

[0078] When the request to verify the version information fails to connect, the asset access client prompts the user to install or run the bastion host launcher through the asset access page;

[0079] When the version information returned by the bastion host launcher is verified to be passed, the asset access client sends a request to start the desktop operation and maintenance client to the bastion host launcher;

[0080] When the version information returned by the bastion host launcher is not verified to be passed, the asset access client prompts the user to upgrade the bastion host launcher and re-run the bastion host launcher through the asset access page.

[0081] With this embodiment, in cases where the user has not installed or run the bastion host launcher, the version of the bastion host launcher does not meet the requirements, etc., the user will be promptly prompted and given the correct operations, which can make the interaction more friendly. The version information requirements can be set according to the actual situation. For example, the version number of the bastion host launcher is the same as the latest version number or within two version numbers of the latest version number.

[0082] Optionally, the asset access signature token is a JSON Web Token; the asset access signature token uses an encryption algorithm as the signature, and the payload of the asset access signature token is provided with a signature verification public key, the UTC time when the token expires, the URL of the access information, and a unique log identifier.

[0083] In this embodiment, the signature algorithm of the asset access signature token can be an RSA-based asymmetric encryption algorithm such as RS256, RS384, RS512, etc., or an asymmetric encryption algorithm based on elliptic curve cryptography (ECC) such as ES256, ES384, ES512, etc.;

[0084] The unique log identifier corresponds to the operation and maintenance session record, so that when transmitting the startup error log, the startup error log can be accurately inserted into the operation and maintenance session record.

[0085] Specifically, when using JSON Web Token as the asset access signature token, its payload is in JSON data format, including verify_key, logid, auth_url, and exp; among them, the attribute value type of verify_key is a string, and the value is the asset access signature token signature verification public key in PKCS1 PEM format; the attribute value type of logid is a string, and the content is the unique log identifier generated by the asset access service, such as: SC0A81BGIO, which is used to identify the unique operation and maintenance session record; the attribute value type of auth_url is a string, which is the URL for obtaining access information from the asset access server, such as: https: / / 192.168.20.10 / assets_manager / get_auth_info; the attribute value type of exp is a number, and the value is the UTC time when the token expires, and the default is half a minute after the token creation time.

[0086] In this embodiment, when the bastion host is initially deployed, the private key corresponding to the signature verification public key of the asset access signature token is dynamically generated instead of being hard-coded in the bastion host code, which can improve security.

[0087] Furthermore, when the bastion host launcher receives a request to verify the version information or a request to start the desktop operation and maintenance client, it checks the trusted status of the signature verification public key by the user;

[0088] If the signature verification public key is not trusted by the user, the bastion host launcher sends a request to the user asking whether to trust the signature verification public key;

[0089] If the signature verification public key is trusted by the user, the bastion host launcher uses the signature verification public key to verify the signature of the asset access signature token;

[0090] If the signature verification is successful, the bastion host launcher sends version information to the asset access client or sends a request for the URL to access the access information to the asset access server;

[0091] If the signature verification fails, the bastion host launcher prompts the user that an abnormal request has been received.

[0092] Further, when the asset access server receives the URL of the access information, it verifies the signature of the asset access signature token and verifies the authentication status of the operation and maintenance session record corresponding to the unique log identifier;

[0093] If the signature verification is successful and the operation and maintenance session record corresponding to the unique log identifier is in the to-be-authenticated state, the asset access server sends access information to the bastion host launcher, otherwise the asset access server prompts the user that the access information acquisition fails.

[0094] See Figure 3 In an optional implementation manner, step S3 includes the following steps:

[0095] Step S301, detect whether the bastion host launcher has been running. Specifically, the asset access client uses the asset access signature token as the request body and uses an HTTP POST request to the http: / / 127.0.0.1:19567 / version port of the bastion host launcher to request to establish a connection. When the connection is successful, execute step S302, and when the connection fails, execute step S303;

[0096] Step S302, the asset access client establishes a connection with the bastion host launcher;

[0097] Step S303, prompt the user to install the bastion host launcher and generate a startup error message. Specifically, the asset access client fails to request a connection, and a pop-up window prompts the user to install or run the bastion host launcher, generating a startup error message with the error type of failed to connect to the bastion host launcher.

[0098] Adopting this implementation manner can securely establish an HTTP connection between the asset access client and the bastion host launcher, detect whether the user has installed or run the bastion host launcher through the success or failure of the request connection, and further give a prompt to improve the interactivity, and generate corresponding startup error messages to facilitate the generation of startup error logs during the startup process of the bastion host.

[0099] See Figure 4 , in an alternative embodiment, step S4 includes the following steps:

[0100] Step S401: Detect whether the signature verification public key is trusted by the user. Specifically, the bastion host launcher receives a request from the asset access client to verify the version information, checks the trusted status of the signature verification public key by the user. If it is not trusted by the user, execute step S402; if it is trusted by the user, execute step S403;

[0101] Step S402: Prompt the user whether to trust the signature verification public key and generate a startup error message. Specifically, when the bastion host launcher checks that the signature verification public key is not trusted by the user, a pop-up window prompts the user whether to trust the new asset access token signature verification public key received, and generates a startup error message with the error type that the user does not trust the asset access token signature verification public key. At the same time, return to execute step S401;

[0102] Step S403: Verify the asset access signature token. Specifically, the bastion host launcher uses the signature verification public key trusted by the user to perform signature verification on the asset access signature token. If the verification is successful, execute step S404; if the verification fails, execute step S405;

[0103] Step S404: Return the version information. Specifically, the bastion host launcher returns the current version information to the asset access client;

[0104] Step S405: Prompt the user that an abnormal request is received and generate a startup error message. Specifically, the bastion host launcher pops up a window to prompt the user that an abnormal request is received, and generates a startup error message with the error type that the signature verification public key verification fails.

[0105] Adopting this embodiment, the version information of the bastion host launcher can be obtained securely. By prompting the user in the business to confirm whether to trust the signature verification public key and perform signature verification, the security of the token is ensured. By generating the corresponding startup error message, it is convenient for the bastion host to establish a startup error log during the startup process.

[0106] See Figure 5 , in an alternative embodiment, step S5 includes the following steps:

[0107] Step S501: Check whether the version information meets the version requirements of the current bastion host. Specifically, the asset access client checks whether the returned version information meets the version requirements of the current bastion host. When the version requirements are met, execute step S502; when the version requirements are not met, execute step S503;

[0108] Step S502: Request to start the desktop operation and maintenance client. Specifically, the asset access client uses the asset access signature token as the request body and sends an HTTP POST request to the http: / / 127.0.0.1:19567 / launch port of the bastion host launcher.

[0109] Step S503: Prompt the user to upgrade the bastion host launcher and generate a startup error message. Specifically, the asset access client prompts the user that the bastion host launcher program needs to be upgraded and run again, and generates a startup error message with the error type that the version of the bastion host launcher does not meet the requirements.

[0110] With this embodiment, it is possible to securely verify the version information of the bastion host launcher, promptly prompt the user to perform correct operations, and generate corresponding startup error messages for the bastion host to establish startup error logs during the startup process.

[0111] See Figure 6 , in an alternative embodiment, step S6 includes the following steps:

[0112] Step S601: Verify the asset access signature token. Specifically, the bastion host launcher uses the signature verification public key trusted by the user to perform signature verification on the asset access signature token. If the verification is successful, execute step S602; if the verification fails, execute step S603.

[0113] Step S602: Request to obtain access information. Specifically, the bastion host launcher uses the asset access token as the request body and sends an HTTP POST request to the URL auth_url of the asset access server to access the access information in the asset access token.

[0114] Step S603: Prompt the user that an abnormal request has been received and generate a startup error message. The bastion host launcher pops up a window to prompt the user that an abnormal request has been received, and generates a startup error message with the error type that the signature verification public key verification fails.

[0115] With this embodiment, it is possible to securely request the URL for accessing access information, promptly prompt the user about the cause of the error, and generate corresponding startup error messages for the bastion host to establish startup error logs during the startup process.

[0116] In an alternative embodiment, step S7 includes the following steps:

[0117] See Figure 7, step S701: Verify whether the requirement for returning access information is met. Specifically, after the asset access server receives a request for the URL auth_url of the access information in the access token, it uses the verification signature public key trusted by the user to verify the signature of the asset access signature token, verifies whether the operation and maintenance session record corresponding to the unique log identifier exists, and verifies whether the status of the operation and maintenance session record is the to-be-authenticated status. When the signature verification is successful, the operation and maintenance session record exists, and the status of the operation and maintenance session record is to-be-authenticated, step S702 is executed; otherwise, step S703 is executed;

[0118] Step S702: Return the access information. Specifically, the asset access server returns the access information to the bastion host launcher;

[0119] Step S703: Prompt the user that obtaining the access information fails and generate a startup error message. Specifically, the asset access server pops up a window to prompt the user that obtaining the access information fails, and generates a startup error message with the error type of obtaining the access information fails.

[0120] In this embodiment, the access information includes the asset protocol type, the protocol proxy server address, the username, and the one-time password for protocol proxy authentication. When the bastion host launcher receives the access information, it starts the desktop operation and maintenance client according to the access information and fills in the form on behalf of the user, so that the desktop operation and maintenance client connects to the protocol proxy server;

[0121] Adopting this embodiment can safely obtain access information, timely prompt the user about the reason for the error, and generate corresponding startup error messages to facilitate the bastion host to establish startup error logs during the startup process.

[0122] See Figure 8 , in the above embodiment, the steps of generating startup error messages, such as step S303, step S402, step S405, step S503, step S603, and step S703, the generated startup error messages will trigger the execution of step S10 and step S11:

[0123] Step S10: Supervise the startup error message. Specifically, the asset access client responds to the startup error message, uses the startup error message and the unique log identifier logid in the asset access signature token as the request body, and uses an HTTP POST request to access the asset access server / assets_manager / log_access_error address;

[0124] Step S11: Store the startup error information. Specifically, when the asset access server receives a request to access the service / assets_manager / log_access_error, it inserts the startup error information in the request into the operation and maintenance session record corresponding to the unique log identifier logid.

[0125] By adopting this embodiment, it is possible to timely monitor the startup error information generated during the startup of the desktop operation and maintenance client through the perception of the asset access client and transmit it to the asset access server. The asset access server accurately corresponds the startup error information with the operation and maintenance session record through the unique log identifier logid for the management personnel to view. Of course, startup error information may also be generated in steps S8 and S9, and the error type will be classified as the failure to start the desktop operation and maintenance client, which can also be perceived and monitored by the asset access client.

[0126] The above are only the preferred embodiments of the present invention, and do not impose any form of limitation on the present invention. Any simple modification or equivalent change made to the above embodiments based on the technical essence of the present invention shall fall within the protection scope of the present invention.

Claims

1. A method for starting a bastion machine desktop operation and maintenance client, characterized in that: When deploying the bastion host, install the bastion host launcher and use the bastion host launcher as the HTTP client. The bastion host includes the bastion host launcher, the asset access client, the asset access server, the desktop operation and maintenance client, and the protocol proxy server. The asset access client also includes the asset access page. Run the bastion host launcher. When the asset access client listens to the user's request to access the target asset through the asset access page, the bastion host launcher, the asset access client and the asset access server use the asset access signature token as the request body and interact using the HTTP protocol to obtain access information. In the process of interacting using the HTTP protocol, the bastion host obtains the startup error information as the startup error log. The interaction process includes: first, the asset access client obtains the asset access signature token from the asset access server. Then, the asset access client uses the asset access signature token to verify the bastion host launcher version and requests to start the desktop client. Then, if the version verification is passed, the bastion host launcher obtains the access information from the asset access server according to the URL of the access information in the asset access signature token. Finally, the bastion host launcher starts the desktop operation and maintenance client based on the access information and establishes a connection with the protocol proxy server.

2. The method for starting a bastion machine desktop operation and maintenance client according to claim 1, characterized in that: When installing the bastion host launcher, register the startup item with the operating system running on the asset access client; when monitoring the user logging into the desktop computer, the bastion host launcher can automatically run and provide HTTP services to the outside world.

3. The method for starting a bastion machine desktop operation and maintenance client according to claim 1, characterized in that: In the process of interaction using the HTTP protocol, the asset access client monitors the startup error log of the bastion host launcher and transmits the startup error log to the asset access server, and the asset access server associates the startup error log with the operation and maintenance session record.

4. The method for starting a bastion machine desktop operation and maintenance client according to claim 3 is characterized in that: During the interaction using the HTTP protocol, when a startup exception occurs that causes the bastion host desktop operation and maintenance client to be unable to start, the bastion host launcher, asset access client, or asset access server generates startup error information corresponding to the startup exception as a startup error log.

5. The method for starting a bastion machine desktop operation and maintenance client according to claim 1, characterized in that: In the process of interacting using the HTTP protocol, the asset access client sends a request to the bastion host launcher to verify version information; When the request to verify the version information fails, the asset access client prompts the user to install or run the bastion host launcher through the asset access page; When the version information returned by the bastion machine launcher is verified, the asset access client sends a request to the bastion machine launcher to start the desktop operation and maintenance client; When the version information returned by the bastion host launcher fails to pass verification, the asset access client prompts the user to upgrade the bastion host launcher and re-run the bastion host launcher through the asset access page.

6. The method for starting the bastion machine desktop operation and maintenance client according to claim 5 is characterized in that: The asset access signature token is a JSON Web Token; the asset access signature token uses an encryption algorithm as a signature, and the payload of the asset access signature token is provided with a signature verification public key, the UTC time when the token expires, the URL of the access information, and a unique log identifier.

7. The method for starting a bastion machine desktop operation and maintenance client according to claim 6 is characterized in that: When the bastion host launcher receives a request to verify version information or a request to launch a desktop operation and maintenance client, it checks the user-trusted status of the signature verification public key; If the signature verification public key is not trusted by the user, the bastion host launcher sends a request to the user to ask whether to trust the signature verification public key; If the verification public key is trusted by the user, the bastion host launcher uses the verification public key to verify the signature of the asset access signature token; If the signature verification is successful, the bastion host launcher sends version information to the asset access client or sends a request to access the URL of the access information to the asset access server; If the signature verification fails, the bastion host launcher prompts the user that an abnormal request has been received.

8. The method for starting a bastion machine desktop operation and maintenance client according to claim 7 is characterized in that: When the asset access server receives the URL of the access information, it performs signature verification on the asset access signature token and verifies the authentication status of the operation and maintenance session record corresponding to the unique log identifier; If the signature verification is successful and the operation and maintenance session record corresponding to the unique log identifier is in the pending authentication state, the asset access server sends access information to the bastion host launcher. Otherwise, the asset access server prompts the user that the access information acquisition failed.

9. The method for starting a bastion machine desktop operation and maintenance client according to claim 8, characterized in that: The access information includes the asset protocol type, the protocol proxy server address, the user name and the one-time password for protocol proxy authentication; when the bastion machine launcher receives the access information, it starts the desktop operation and maintenance client according to the access information and fills in the information on behalf of the desktop operation and maintenance client, so that the desktop operation and maintenance client is connected to the protocol proxy server.

10. The method for starting a bastion machine desktop operation and maintenance client according to claim 6, characterized in that: When the bastion host is deployed for the first time, the private key corresponding to the public key for verifying the asset access signature token is dynamically generated.

Citation Information

Patent Citations

  • Remote operation and maintenance method and computer readable storage medium

    CN118214637A