Skip to content

Commit 15be8b1

Browse files
authored
Merge pull request #6735 from EnterpriseDB/docs/edits_to_pem10_group3
Edits to pem10 group3
2 parents 9b5df46 + 867d7a3 commit 15be8b1

File tree

4 files changed

+34
-34
lines changed

4 files changed

+34
-34
lines changed

product_docs/docs/pem/10/considerations/index.mdx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,12 @@ navigation:
99
- installing_pem_server_and_apache_web_server_preferences
1010
---
1111

12-
There are a number of things to consider before deploying Postgres Enterprise Manager.
12+
Before deploying Postgres Enterprise Manager, consider these factors.
1313

1414
| Considerations | Implementation instructions |
1515
| ---------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
1616
| Is a standalone server sufficient or do you need a high availability architecture? | [Installing the server](../installing/) or [Deploying high availability](ha_pem/) |
1717
| Do you need to implement connection pooling? | [Deploying connection pooling](pem_pgbouncer/) |
18-
| What type of authentication to use? | [Authentication options](authentication_options/) |
18+
| What type of authentication should you use? | [Authentication options](authentication_options/) |
1919
| What actions should you take to avoid security vulnerabilities? | [Securing your deployment](pem_security_best_practices/) |
20-
| Where to host the web server? | [Web server installation options](installing_pem_server_and_apache_web_server_preferences) |
21-
20+
| Where should you host the web server? | [Web server installation options](installing_pem_server_and_apache_web_server_preferences) |

product_docs/docs/pem/10/considerations/installing_pem_server_and_apache_web_server_preferences.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ redirects:
99

1010
---
1111

12-
During the PEM server installation, you can specify your hosting preferences for the web server.
12+
While installing the PEM server, you can specify your hosting preferences for the web server.
1313
For production environments, best practice is to have the PEM server and web server on separate hosts.
1414

1515
## PEM server and web server on separate hosts
1616

1717
1. Install the PEM server on both the hosts. See [Installing the PEM server](../installing/).
18-
2. Configure the PEM server host by selecting the **Database** option on the first host.
19-
3. Configure a web server by selecting the **Web Services** option on the second host.
18+
1. Configure the PEM server host by selecting the **Database** option on the first host.
19+
1. Configure a web server by selecting the **Web Services** option on the second host.
2020

2121
For more information about configuring a PEM server, see [Configuring the PEM server on Linux platforms](../installing/configuring_the_pem_server_on_linux/).
2222

2323
## PEM server and web server on the same host
2424

2525
1. Install the PEM server. See [Installing the PEM server](../installing/).
26-
2. Run the configuration script. Select the **Web Services and Database** option to install the PEM server and web server on the same host. See [Configuring the PEM server on Linux](../installing/configuring_the_pem_server_on_linux/).
26+
1. Run the configuration script. To install the PEM server and web server on the same host, select the **Web Services and Database** option. See [Configuring the PEM server on Linux](../installing/configuring_the_pem_server_on_linux/).
2727

product_docs/docs/pem/10/considerations/pem_security_best_practices/index.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ navigation:
1414

1515
To harden your PEM deployment against attack, consider the following measures:
1616

17-
1. Ensure PEM itself, your operating system, and third party libraries are regularly updated. Without the most recent security patches, your system is vulnerable to cyberattacks.
18-
Please refer to the [Dependencies](../../installing/dependencies.mdx) page to learn more about the system packages used by PEM.
17+
- Ensure PEM, your operating system, and third-party libraries are regularly updated. Without the most recent security patches, your system is vulnerable to cyberattacks.
18+
See [Dependencies](../../installing/dependencies.mdx) to learn more about the system packages used by PEM.
1919

20-
2. Ensure the Postgres instance used as the PEM server is kept up to date and apply [Postgres security best practices](https://info.enterprisedb.com/rs/069-ALB-339/images/Security-best-practices-2020.pdf).
20+
- Ensure the Postgres instance used as the PEM server is kept up to date and apply [Postgres security best practices](https://info.enterprisedb.com/rs/069-ALB-339/images/Security-best-practices-2020.pdf).
2121

22-
3. [Secure the web server](apache_httpd_security_configuration.mdx)
22+
- [Secure the web server](apache_httpd_security_configuration.mdx).
2323

24-
4. Configure the [security settings of the PEM web application](pem_application_configuration.mdx) as appropriate.
24+
- Configure the [security settings of the PEM web application](pem_application_configuration.mdx) as appropriate.
2525

2626

2727

product_docs/docs/pem/10/considerations/pem_security_best_practices/pem_application_configuration.mdx

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,29 @@ redirects:
99

1010
## Session timeout
1111

12-
Insufficient session expiration by the web application increases the exposure of other session-based attacks. The attacker has more time to reuse a valid session ID and hijack the associated session. The shorter the session interval is, the less time an attacker has to use the valid session ID. We recommend that you set the inactivity timeout for the web application to a low value to avoid this security issue.
12+
Setting session expiration time too long in the web application increases the exposure of other session-based attacks. The attacker has more time to reuse a valid session ID and hijack the associated session. The shorter the session interval is, the less time an attacker has to use the valid session ID. To avoid this security issue, we recommend that you set the inactivity timeout for the web application to a low value.
1313

14-
In PEM, you can set the timeout value for a user session. When there's no user activity for a specified duration on the web console, PEM logs out the user from the web console. A PEM administrator can set the length of time for inactivity. This value is for the whole application and not for each user. To configure the timeout duration, modify the `USER_INACTIVITY_TIMEOUT` parameter in the `config_local.py` file, located in the `<PEM_INSTALLATION_PATH>/web` directory. By default, this functionality is disabled.
14+
In PEM, you can set the timeout value for a user session. When there's no user activity for a specified duration on the web console, PEM logs the user out of the web console. A PEM administrator can set the length of time for inactivity. This value is for the whole application, not for each user.
1515

16-
For example, to specify for an application to log out a user after 15 minutes of inactivity, set:
16+
To configure the timeout duration, modify the `USER_INACTIVITY_TIMEOUT` parameter in the `config_local.py` file in the `<PEM_INSTALLATION_PATH>/web` directory. By default, this parameter is disabled. Specify the value in seconds.
17+
18+
For example, to specify for an application to log a user out after 15 minutes of inactivity, set the time as follows:
1719

1820
```ini
1921
USER_INACTIVITY_TIMEOUT = 900
2022
```
2123

22-
!!! Note
23-
The timeout value is specified in seconds.
24-
25-
To apply the changes, restart the Apache service.
24+
To apply the change, restart the Apache service.
2625

27-
For detailed information on the `config.py` file, see [Managing Configuration Settings](../../managing_configuration_settings/).
26+
For detailed information on the `config.py` file, see [Managing configuration settings](../../managing_configuration_settings/).
2827

2928
## RestAPI header customization
3029

31-
You can customize the RestAPI token headers to meet your requirements. The default values aren't exposed by the `config.py` file. Customize the following headers in the `config_local.py` file:
30+
You can customize the RestAPI token headers to meet your requirements. The default values aren't exposed by the `config.py` file. In the `config_local.py` file, customize the following headers.
3231

3332
### PEM_HEADER_SUBJECT_TOKEN_KEY
3433

35-
This configuration option allows you to change the HTTP header name to get the generated token. By default, when you send a request to create a token, the server response has an `X-Subject-Token` header. This header contains the value of a newly generated token. If you want to customize the header name, then you can update the `config_local.py` file:
34+
This configuration option lets you change the HTTP header name to get the generated token. By default, when you send a request to create a token, the server response has an `X-Subject-Token` header. This header contains the value of a newly generated token. If you want to customize the header name, then you can update the `config_local.py` file:
3635

3736
```ini
3837
PEM_HEADER_SUBJECT_TOKEN_KEY = 'Pem-RestAPI-Generate-Token'
@@ -51,55 +50,55 @@ Pem-RestAPI-Generate-Token: 997aef95-d46d-4d84-932a-a80146eaf84f
5150

5251
### PEM_HEADER_TOKEN_KEY
5352

54-
This configuration option allows you to change the HTTP request header name. With this header name, you can send the token to the PEM server. By default, when you send a request to generate a token, the token header name is `X-Auth-Token`. If you want to customize the RestAPI request header name, then you can update the `config_local.py` file:
53+
This configuration option lets you change the header name of the HTTP request. With this header name, you can send the token to the PEM server. By default, when you send a request to generate a token, the token header name is `X-Auth-Token`. If you want to customize the RestAPI request header name, you can update the `config_local.py` file:
5554

5655
```ini
5756
PEM_HEADER_TOKEN_KEY = 'Pem-Token'
5857
```
5958

60-
This setting allows you to send the token:
59+
This setting lets you send the token:
6160

6261
```shell
6362
$ curl -Lk -X GET -H "Pem-Token: gw5rzaloxydp91ttd1c97w24b5sv60clic24sxy9" https://localhost:8443/pem/api/v4/agent
6463
```
6564

6665
### PEM_TOKEN_EXPIRY
6766

68-
This configuration option allows you to change the PEM RestAPI token expiry time after it's generated. By default, the token expiry time is set to 20 minutes (1200 seconds). If you want to change the token expiry time to 10 minutes, then you can update the `config_local.py` file:
67+
This configuration option lets you change the PEM RestAPI token expiry time after it's generated. By default, the token expiry time is set to 20 minutes (1200 seconds). For example, to change the token expiry time to 10 minutes, update the `config_local.py` file as follows:
6968

7069
```ini
7170
PEM_TOKEN_EXPIRY = 600
7271
```
7372

74-
To apply the changes, restart the Apache service.
73+
To apply the change, restart the Apache service.
7574

7675
## Role-based access control in PEM
7776

78-
Role-based access control (RBAC) restricts application access based on a user’s role in an organization and is one of the primary methods for access control. The roles in RBAC refer to the levels of access that users have to the application. Users are allowed to access only the information needed to do their jobs. Roles in PEM are inheritable and additive, rather than subscriptive. In other words, as a PEM admin you need to grant the lowest level role to the user and then grant the roles the user needs to perform their job. For example, to give access only to SQL profiler:
77+
Role-based access control (RBAC) restricts application access based on a user’s role in an organization. It's one of the primary methods for access control. The roles in RBAC refer to the levels of access that users have to the application. Users are allowed to access only the information needed to do their jobs. Roles in PEM are inheritable and additive rather than subscriptive. In other words, as a PEM admin, you need to grant the lowest level role to the user and then grant the roles the user needs to perform their job. For example, to give access only to SQL Profiler:
7978

8079
```sql
8180
CREATE ROLE user_sql_profiler WITH LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT NOREPLICATION CONNECTION LIMIT -1 PASSWORD 'xxxxxx';
8281
GRANT pem_user, pem_comp_sqlprofiler TO user_sql_profiler;
8382
```
8483

85-
For detailed information on roles, see [PEM Roles](../../managing_pem_server/#using-pem-predefined-roles-to-manage-access-to-pem-functionality).
84+
For detailed information on roles, see [PEM roles](../../managing_pem_server/#using-pem-predefined-roles-to-manage-access-to-pem-functionality).
8685

8786
## SQL/Protect plugin
8887

89-
Often, preventing an SQL injection attack is the responsibility of the application developer, while the database administrator has little or no control over the potential threat. The difficulty for database administrators is that the application must have access to the data to function properly.
88+
Often, preventing an SQL injection attack is the responsibility of the application developer. The database administrator has little or no control over the potential threat. The difficulty for database administrators is that the application must have access to the data to function properly.
9089

9190
SQL/Protect is a module that allows a database administrator to protect a database from SQL injection attacks. SQL/Protect examines incoming queries for typical SQL injection profiles in addition to the standard database security policies.
9291

93-
Attackers can perpetrate SQL injection attacks with several different techniques. A specific signature characterizes each technique. SQL/Protect examines queries for unauthorized relations, utility commands, SQL tautology, and unbounded DML statements. SQL/Protect gives the control back to the database administrator by alerting the administrator to potentially dangerous queries and then blocking those queries.
92+
Attackers can perpetrate SQL injection attacks using several different techniques. A specific signature characterizes each technique. SQL/Protect examines queries for unauthorized relations, utility commands, SQL tautology, and unbounded DML statements. SQL/Protect gives the control back to the database administrator by alerting the administrator to potentially dangerous queries and then blocking those queries.
9493

9594
!!! Note
96-
This plugin works only on the EDB Postgres Advanced Server server, so this is useful only when your PEM database is hosted on the EDB Postgres Advanced Server server.
95+
This plugin is useful only when your PEM database is hosted on the EDB Postgres Advanced Server server. It doesn't work on other servers.
9796

9897
For detailed information about the SQL Profiler plugin, see [SQL Profiler](../../profiling_workloads/).
9998

10099
## Password management
101100

102-
One security tip for PEM administrative users is to change your PEM login passwords to something new regularly. Changing your password:
101+
One security tip for PEM administrative users is to regularly change your PEM login passwords to something new. Changing your password:
103102

104103
- Prevents breaches of multiple accounts
105104
- Prevents constant access
@@ -110,7 +109,9 @@ One security tip for PEM administrative users is to change your PEM login passwo
110109

111110
In most cases, pemAgent is installed as a root user and runs as a daemon process with root privileges. By default, PEM disables running the scheduled jobs/task. PEM provides support for running scheduled jobs as a non-root user by changing the pemAgent configuration file.
112111

113-
To run scheduled jobs as a non-root user, modify the entry for the `batch_script_user` parameter in the `agent.cfg` file and specify the user to run the script. You can either specify a non-root user or root user identity. If you don't specify a user, or the specified user doesn't exist, then the script doesn't execute. Restart the agent after modifying the file. If a non-root user is running `pemagent`, then the value of `batch_script_user` is ignored, and the same non-root user used for running the `pemagent` executes the script.
112+
To run scheduled jobs as a non-root user, modify the entry for the `batch_script_user` parameter in the `agent.cfg` file and specify the user to run the script. You can specify either a non-root user or root user identity. If you don't specify a user or the specified user doesn't exist, the script doesn't execute.
113+
114+
After modifying the file, restart the agent. If a non-root user is running pemAgent, the value of `batch_script_user` is ignored. The same non-root user used for running the pemAgent executes the script.
114115

115116
To invoke a script on a Windows system, set the registry entry for `AllowBatchJobSteps` to `true` and restart the PEM agent. PEM registry entries are located in:
116117

0 commit comments

Comments
 (0)