A Web server is secure when it's switched off and locked away in a vault. Unfortunately that server is also useless for hosting.
Server security is always a compromise between "closed doors" and function. At Cynergi we believe to have achieved an excellent balance between these requirements.
When you log into a hosting account with private FTP* you will find the following folders (some names have been changed for security reasons):
The "logs" folder has your Web site access logs ready for download. You cannot create new files here, nor make any changes to the existing ones – they will be deleted automatically.
"mail" holds messages and configuration of every e-mail mail box. You can only access this folder by reading e-mail (i.e., by POP*/IMAP*, and never by FTP, PHP* or CGI*).
"www" and "conf" are both accessible to FTP, PHP and CGI, but the Web server only has permissions to use "www" for Web site files. "conf" can then only be used indirectly by the Web site to store configuration files (PHP, XML or another format) used by PHP and CGI, but which shouldn't be directly read by a browser*.
"priv" can only be accessed by the main private FTP. It can be used to exchange files between company's employees, ensuring privacy.
Finally, "home" is the folder where "secondary" private FTP user accounts are created. It can be accessed by FTP, PHP and CGI which allows you to have internal and external collaborators managing different parts of the Web site without accessing other parts.
Each "secondary" FTP user will have its own operating system user. This provides more insight during a forensic Web site analysis should its security become compromised.
Our Web hosting services use operating systems that have achieved the C2 security level of the TCSEC standard* and the EAL 4+ level of the ISO/IEC 15408 standard*, which means they are "methodically designed, tested and reviewed" to be safe. Levels EAL 5 and above typically involve security demands at the government level.
Servers with both Unix and Windows operating systems are configured to update themselves daily, ensuring that the security levels are kept.
and data integrity
Our Web hosting allows the establishment of SSH* tunnels (a type of VPN* between your computer and the server) to access each service privately.
This technology doesn't prevent third parties from seeing the communication between your computer and the server, but it prevents it from being understood.
The Web (HTTP*), FTP* and e-mail (SMTP*, POP* and IMAP*) services are also available via TLS/SSL* which offer the same kind of privacy but are easier to use.
Security isn't limited to specific file and folder permissions, but also to the secure configuration of services and functions.
Each server has all services disabled, except those it is offering its clients. There's a firewall that detects unacceptable behavior (port scans, etc.), blocking all such access and there are daily server log reports sent to Cynergi server administrators for auditing and discovery of situations that deserve greater scrutiny.
Our server network follows a peer-to-peer* model where each server operates almost completely independently. This includes server-to-server authentication, i.e. each server doesn't implicitly trust our other servers and makes them supply proper credentials for every operation requested. This means that if a client is compromised by a hacker, only that client's services (on any server) can be manipulated by the hacker. Similarly, if an entire server is compromised by a hacker, he will not have automatic access to the remaining servers.
PHP*, Perl*, MySQL* and other development resources offered in our Web hosting are configured for security. This means delimiting the areas of the system where each client can work, limiting the computer resources (processing time, memory, disk space, etc.) they can use or disabling old functions that are known to cause security problems.
PHP for instance is configured not to automatically define global variables when receiving external data and MySQL is configured to force the use of strong passwords, thereby eliminating some known security problems with this engine. The interaction between these two can be made without using passwords (only "
mysql_connect()") since MySQL credentials are pre-configured for each account in private files not accessible to clients. This limits the damage done by a site compromise.
More about PHP configuration