Support
- Advanced Backup
- Client Side
- Cloud Enterprise
- ColdFusion
- Control Panel
- cPanel
- Addon
- Apachebuild
- Changerootpassword
- Configure
- Cpmysqldb
- Createemailuser
- Createftpuser
- Hostname
- Mainipwebsite
- Newaccount
- Packages
- Parkdomain
- Phpmyadminaccess
- Restartservices
- Services
- Timezone
- Whitelistpremiumspamservers
- Cpanelvps
- Configuring cPanel wide email filters
- Managing your suspended page in WHM
- Creating an add-on domain or pointer
- Creating an auto responder
- Creating Cron Jobs
- Using the database wizard
- Forward Domain Emails to Another Domain
- Forward Emails
- Reset Email User Passwords
- Install FrontPage Extensions
- Manage FTP Sessions
- Provide Hotlink Protection
- Use Image Manager
- Change cPanel Language
- Create a Mailing List
- Manage MIME Types
- Park a Domain
- Reset/Modify cPanel Account Password in WHM
- Using PHPMyAdmin in cPanel
- Set Up Remote Access Key
- Create Subdomains
- Change Control Panel Theme
- Manage Bandwidth Limits
- Update Contact Information
- Deny IPs
- Trace an Email Address
- Disable Reset Password Option
- Redirect URLs
- Suspend Accounts
- Configure Email User Filters
- Add a MySQL Database in cPanel
- Fix a WHM DNS Error
- Fix Suspended Page in WHM
- How to Modify the Number of Processes for SpamAssassin in cPanel
- Enabling Domain Keys In cPanel
- Install SSL in cPanel
- Using Winscp To Upload Files To A cPanel Server
- Migrating From cPanel To Plesk
- Preview Website on a Linux Server via cPanel
- Fix Expired License Error with WHM
- Installing ImageMagick For cPanel
- Changing the Mail Routing Settings in cPanel
- MySQL Disk Usage Tracking
- Set Up a Password Protected Directory in Cpanel
- Restart Services in WHM
- PCI Compliance in Cpanel
- Advanced Policy Firewall
- Customer Portal
- DNS Information
- Dedicated Servers
- DirectAdmin
- Domain Name
- dotDefender
- Dreamweaver
- FileCatalyst
- Front Page
- FTP
- General Information
- Hosted Exchange & SharePoint
- IIS6
- IIS7
- Juniper Netscreen Firewalls
- Linux
- List Server
- MIVA Merchant
- MySQL
- Patching / Server Updates
- phpMyAdmin
- Plesk
- Policies and Procedures
- Premium Spam Filtering
- Programming
- Ruby on Rails
- Search Engine Submission
- SharePoint 3
- SharePoint 2010
- SiteDesigner
- SmarterMail 3
- SmarterMail 4
- SmarterMail 5
- SmarterMail 6
- SmarterMail 7
- SmarterStats
- SmarterTrack
- SQL Server
- Secure Socket Layer (SSL)
- Uploading Your Website
- Video Tutorials
- Windows Server 2003
- Windows Server 2008
- Web Design
- WordPress
- Advanced Monitoring
- MediaWiki
- Enkompass
- Microsoft Outlook 2010
- Android
- Outlook Web Access
- Critical Availability Service
- NAS Data Transfer
- Customer Portal Demos
- Joomla
- Moodle
- Cloud Dedicated
- Gallery CMS
- phpBB
- Standard Monitoring
- Righteous Restore
- NAS (Network Attached Storage)
- Networking
- SmarterMail 8
- PCI Security Scan
- LinkTiger
- Windows Cloud VPS
- Linux Cloud VPS
- Linux VPS
- Windows VPS
- Hyper V
- ENSIM
- Alert Logic
- Webmin
- e107
- Vbulletin
- VPN
- Visual Vault
- Mozilla Thunderbird
- PyroCMS
- Active Directory
- Vmware Related
- Drupal
PCI Compliance in cPanel
PCI scans will often fail for weak SSL ciphers and older protocols. In order to disable older SSL protocols and weaker ciphers for cPanel it's necessary to change the way Cpanel handles its https encryption.
Apache
In order to become fully compliant, SSLv2 and weak ciphers (any cipher less the 128-bits in length) need to be disabled.
Open the main Cpanel apache httpd.conf file located at /usr/local/apache/conf/httpd.conf and add the following under all the 'LoadModule' and 'Include' directives.
SSLProtocol -ALL +SSLv3 +TLSv1
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP
In later versions of Apache you need to distill the changes using the Apache distiller tool or the changes will be lost when the configuration is rebuilt via EasyApache. To do this, use the command:
/usr/local/cpanel/bin/apache_conf_distiller --update --main
Once that completes regenerate the httpd.conf file to confirm that your changes have been preserved.
/scripts/rebuildhttpdconf
Cpanel / WHM
CPanel uses OpenSSL to handle its SSL connections but there's no option in its configuration to manipulate what it should and shouldn't do.
sTunnel which is a SSL wrapper service that handles the SSL functions for any program that uses TCP connections. When a connection is made to a port sTunnel is listening on sTunnel then relays the connection and data to the configured destination unencrypted port where it then handles inserting all its SSL and encryption keys. This way any application which uses TCP ports can be instantly and easily SSL enabled.
- Open up /var/cpanel/cpanel.config.
- Look for nativessl=1 and change it to nativessl=0. This will cause cPanel to use sTunnel instead.
-
Update the sTunnel configuration at /usr/local/cpanel/etc/stunnel/default/stunnel.conf
- Add the following just below the Authentication directive: options = NO_SSLv2
- On the next line after the Options directive add: ciphers = !LOW:MEDIUM:HIGH
sTunnel will instruct cPanel to not use ciphers designated as low level encryption (<= 64-bits), but to use only medium (mostly 128-bits) and high (mostly >= 256-bits) encryption algorithms.
After you have done all this you will need to restart cPanel:
/etc/init.d/cpanel restart
Testing your work
SSH to a Linux server and use the following commands.
SSLv2 is disabled on Apache
curl -Iv2 https://1.2.3.4
This instructs curl to:
- make a SSL connection (https://),
- download only the headers (-I),
- do it in verbose mode so we can see what the problems were if there was any (-v),
- only download it with the SSLv2 protocol (-2).
The last line should be an error. It means it couldn't make a connection.
Weak ciphers are disabled in Apache
curl -Iv --ciphers 'LOW' https://1.2.3.4
This instructs curl to:
- make a SSL connection (https://),
- download only the headers (-I),
- do it in verbose mode so we can see what the problems were if there was any (-v),
- only download with the highest available SSL protocol, but to use a weak cipher (--ciphers 'LOW').
The last line should be an error. It means it couldn't make a connection.
SSLv2 and weak ciphers on cPanel/WHM https ports
Just follow the same steps above using the WHM port to the URL (ie: https://1.2.3.4:2078).
