We recommend applying security policies such as the following on LPM servers:
Minimum passwords policies
Service accounts
Directory permissions
Open ports
Exclude the following folders when performing real-time virus scanning:
Load balancer server or database server
<install-Dir>\Lexmark\Solutions\Apache2\htdocs\auth and all subfolders
<install-Dir>\Lexmark\Solutions\Apache2\htdocs\printrelease and all subfolders
Where <install-Dir> is the installation folder of LDD.
Application servers
<install-Dir>\Lexmark\Solutions\apps\idm and all subfolders
<install-Dir>\Lexmark\Solutions\apps\lpm and all subfolders
<install-Dir>\Lexmark\Solutions\apps\mfpauth and all subfolders
<install-Dir>\Lexmark\Solutions\apps\printrelease and all subfolders
Where <install-Dir> is the installation folder of LDD.
Directory for print jobs
For example, C:\lexmark\printrelease.
Directory for installation and backup files for troubleshooting
For example, C:\ProgramData\Lexmark\PrintManagement and all subfolders.
Run the following on all Lexmark servers during off-peak hours:
Full virus scans
Virus definition updates
From your computer, navigate to the <install-Dir>\Solutions\Apache2\conf folder, where <install-Dir> is the installation folder of Apache.
Using a text editor, configure any of the following:
Notes:
Vulnerability | Directive |
---|---|
The web server response header of an HTTP response may contain the following:
| Set the directive to , and the directive to . |
Other files such as documentation, sample code and applications, and tutorials may be a threat. | Note: The list of sample files may change with the software versions. Remove the following sample code and documentation items:
Where <install-Dir> is the installation folder of Apache. |
To help mitigate denial-of-service attacks, specify timeouts. Note: If necessary, adjust these settings for each server. | Do the following:
|
CGI scripts are one of the most exploited vulnerabilities on web servers. Run CGI scripts in Apache using the following methods:
| Search for the following uncommented directives: For all instances of the and directives, query the web administrator to determine if the directives allow CGI scripts.If CGI scripts are used by the or directives, then it is a finding.For all instances of the directive that are using +ExecCGI or ExecCGI, it is a finding.If the directive is found with -ExecCGI, then it is not a finding.If the value does not exist, then it is a finding unless the statement is set to .Locate the scripts in a directory, and then add the appropriate symbol to disable ExecCGI, or set the directive to . |
The directive configures the web server features that are available in specific directories.The feature lets you reference a file or directory using a symbolic name, raising a potential hazard when the symbol is linked to sensitive data.The feature enables server-side includes but disables the command to help prevent the execution of malware.The feature may respond with all available files in a directory that are not meant for browsing.If a URL maps to a directory without a (index.html), then a list of directories that are not meant for browsing may be returned. | Set all directives to the following, respectively:
Note: Setting the directive to disables all extra features. |
The following directives mitigate buffer overflow and denial-of-service attacks by limiting the amount of accepted data:
Note: If errors occur, then adjust these values for each server. | Do any of the following:
Note: Some of these values are the default values, but they must be explicitly set. |
Web servers get their capabilities using modules. Minimizing the enabled modules to only the required modules reduces the number of vulnerable points. The Apache proxy modules let the server act as a forward or reverse proxy of HTTP and other protocols. | To show a list of loaded modules, do the following:
The following modules are required core Apache modules:
|
Scanning for web servers that send proxy requests is a common attack. Proxy servers can anonymize attacks on other servers or send proxy requests to a protected network. The following modules are Apache proxy modules and are not required for LPM:
Disable the directive to prevent access to user home directories.
Content that is specific to the web server can be used to identify the type and version of the web server. Disable access to various content to help mitigate attacks.
| To disable modules that are not required for LPM, in the httpd.conf file, add before appropriate modules. |
Access to the root of the web server must be secured.
Note: The authz_core_module uses the directive. | Set the root directive ( ) to the following, respectively:If these root directory entries do not exist, then add them. |
The TRACE method is not necessary and must be disabled. | Set the directive to .If this directive does not exist, then add it. |
The Apache directive specifies the IP addresses and port numbers that the Apache web server listens to for requests. Configure the server to listen only to expected addresses and port numbers. | Specify the IP address and the port number for each directive. |
The directive specifies which directories the Apache server recognizes as containing scripts. If the directive uses a URL-path name that is different than the actual file system path, then the script source code may be exposed. | Verify whether and of the directive match.Sample of a correct path
Sample of an incorrect path
|
HTTP Request Methods such as PUT and DELETE modify resources and are not required for LPM to function. Disable these methods. | For each directive except , set the following: |
Save the file.
Restart the Apache service.
Make sure that the firewall allows the following port numbers and protocols:
Component | Port number | Protocol | Function |
---|---|---|---|
Database (Firebird) | 3050 | TCP | Database communications |
8001 | TCP | Backup and Restore agent | |
Load balancer | 443 | TCP | Load balancer HTTPS TLS communications, including Lexmark Management Console |
4113 | TCP | Web adapter (JMX) | |
9700 | TCP |
| |
9705 | TCP | Apache agent | |
9780 | TCP | Load balancer communications, including Lexmark Management Console | |
9783 | TCP | Load balancer HTTPS TLS communications, including Lexmark Management Console | |
Server | 4111 | TCP | JMX |
5111 | TCP | RMI | |
8009 | TCP | AJP and Tomcat connector (load balancer worker) | |
9743 | TCP | HTTPS TLS profile job submission from printers or client software to a server, including Lexmark Management Console | |
9788 | TCP | Profile job submission from printers or client software to a server, including Lexmark Management Console | |
Printer | 79 | TCP | Finger |
161 | UDP |
| |
5000 | TCP |
| |
5353 | UDP | Multicast DNS | |
6000 | UDP |
| |
6100 | UDP |
| |
6110 | TCP |
| |
9100 | TCP |
| |
9300 | UDP |
| |
9500 | TCP | NPA protocol TCP communications | |
LPM | 631 | TCP | IPP |
5672 | TCP | ActiveMQ | |
9780 | TCP | MFPAuth | |
61614 | TCP | ActiveMQ | |
61616 | TCP |
Port number | Function |
---|---|
389 | LDAP communications |
636 | LDAPS communications |
To protect resources, the LPM REST API token uses JSON web token for verifying access claims. Depending on the credentials provided during authentication, the REST service may issue an administrator or user token.
By default, the token validity is 30 minutes. To update the expiration time, do the following:
From your computer, navigate to the <install-Dir>\Lexmark\Solutions\apps\idm\WEB-INF\classes folder, where <install-Dir> is the installation folder of LDD.
Using a text editor, open the idm-production-config.properties file.
Specify the value for
.Save the file.
To address the Insecure Direct Object Reference vulnerability, the LPM REST API service masks all resource IDs with hashids. This method prevents the interface from exposing dbid references to outside entities.
The hashid algorithm relies on key phrase or salt to calculate and generate a hashid value. Changing the salt value generates different hashid calculations.
To change the default salt value, do the following:
From your computer, navigate to the <install-Dir>\Lexmark\Solutions\apps\lpm\WEB-INF\classes folder, where <install-Dir> is the installation folder of LDD.
Using a text editor, open the app-production-config.properties file.
Specify the value for
.Save the file.