Clustering: Security Considerations
1. Access Controls and IP Filtering
In a CompleteFTP cluster, proper access control and IP filtering are essential to ensure secure communication between servers and prevent unauthorized access.
1.1 Adjusting IP Filters
By default, each server in the cluster has strict IP filtering rules that may only allow connections from localhost or LAN IP addresses. To ensure the primary and secondary servers can communicate securely:
- Open CompleteFTP Manager on each secondary server.
- Go to the Sites panel and select the Admin Site.
- In the IP Filtering section, add a rule to allow connections from the primary server's IP address.
- Ensure that only trusted IP addresses (including the primary and other secondary servers) are allowed to communicate with each server in the cluster.
- Remember that each secondary server in the cluster must have open two-way communication with the primary.
Using strict IP filtering helps protect your cluster from unauthorized external access while allowing internal servers to synchronize configurations and data.
1.2 User Permissions
User permissions are synchronized across the cluster, and CompleteFTP uses a Linux-like security model where user permissions are based on groups rather than individual roles. This simplifies managing permissions for large numbers of users. Best practices for managing user access include:
- Group-Based Access Control: Assign users to groups based on their access needs. Managing permissions at the group level ensures consistency and simplifies permission management across the cluster.
- Limit Administrative Access: Ensure that only authorized users have administrative privileges in CompleteFTP. Regularly review and audit access to administrative accounts.
2. Securing Communication
Securing communication between clients and servers, as well as between servers in the cluster, is critical for preventing data interception and unauthorized access. CompleteFTP supports SSL/TLS encryption for specific protocols to protect these communications.
2.1 SSL/TLS Certificates
For secure connections using FTPS or HTTPS, it is important to install valid SSL/TLS certificates on the relevant sites (not individual servers):
- Obtain an SSL/TLS certificate from a trusted certificate authority (CA) or create a self-signed certificate for internal use.
- Install the certificate on each site that requires encrypted connections via FTPS or HTTPS using CompleteFTP Manager.
- Ensure that the certificates are up to date and renew them before they expire to avoid service interruptions.
Installing SSL/TLS certificates on the relevant sites ensures that communication between clients and servers is encrypted and secure. Note that SSL/TLS does not apply to SFTP, which uses its own encryption mechanism.
2.2 Securing the Admin Site
The Admin Site is used for server management and configuration. To prevent unauthorized access, it is important to secure the Admin Site:
- Strong Passwords: Use strong, complex passwords for all administrative accounts. Ensure that password policies require a mix of letters, numbers, and special characters.
- IP Filtering: Restrict access to the Admin Site to trusted IP addresses only, such as internal network addresses or specific management machines.
2.3 Firewall Configurations
Firewalls play a crucial role in securing communication between servers and clients. Ensure that firewalls are configured to:
- Limit Open Ports: Only open the necessary ports for the protocols you are using (e.g., SFTP, FTPS, HTTPS). Close all other unused ports to minimize attack vectors.
- Restrict Incoming Connections: Restrict incoming connections to trusted IP addresses or networks, ensuring that only authorized users and servers can communicate with the CompleteFTP cluster.
- Monitor Firewall Logs: Regularly monitor firewall logs for unusual activity or attempts to access the server from unauthorized IP addresses.
3. Securing Server-to-Server Communication
In a CompleteFTP cluster, the primary server communicates with secondary servers to synchronize configuration changes. It is essential to secure this communication to prevent tampering or unauthorized access.
3.1 Using Encrypted Protocols
By default, CompleteFTP uses the SFTP protocol (port 14983) for server-to-server communication. This protocol is encrypted, ensuring that all data transferred between the primary and secondary servers is secure. If needed, you can configure CompleteFTP to use other encrypted protocols like FTPS.
- Port Configuration: Ensure that the firewall allows communication over the designated protocol and port (e.g., 14983 for SFTP).
- Use Strong Encryption: Configure CompleteFTP to use strong encryption algorithms for all communication. Avoid using outdated or weak ciphers.
Additionally, ensure that network security protocols are in place to prevent man-in-the-middle attacks or eavesdropping on server-to-server communication.
3.2 Regular Security Audits
It is important to regularly audit the security of your CompleteFTP cluster:
- Log Monitoring: Enable audit logs for all administrative actions and regularly review them for suspicious activities, especially around administrative access and configuration changes.
- Update Management: Keep all servers in the cluster up to date by installing the latest version of CompleteFTP. Unlike patches, CompleteFTP releases involve upgrading the entire product to the latest version.
- Security Testing: Conduct periodic vulnerability assessments or penetration testing to identify and address potential security issues in the cluster.
By following these security considerations, you can ensure that your CompleteFTP cluster is protected against unauthorized access and data breaches, while maintaining secure communication between servers and clients.