ssl certificate configuration

Dear Experts

We have hosted web based application which runs on linux, apache, mysql and php. data security is top most priority, we have installed ssl certificate and also deployed two factor authentication, when used the online ssl checker by going to https://ssltools.digicert.com/checker/views/checkInstallation.jsp  after the scan following shows up

1. Vulnerabilities checked
Heartbleed, Poodle (TLS), Poodle (SSLv3), FREAK, BEAST, CRIME, DROWN
Non-critical issues found
BEAST
Not mitigated server-side BEAST.

2. Secure Renegotiation: Enabled
Downgrade attack prevention:Enabled
Next Protocol Negotiation: Not Enabled
Session resumption (caching): Enabled
Session resumption (tickets): Enabled
Strict Transport Security (HSTS):Not Enabled
SSL/TLS compression:Not Enabled
Heartbeat (extension):Enabled
RC4:Not Enabled
OCSP stapling:Not Enabled

---------
Please help me to understand on above 1 and 2  and let me know the steps correct as per the best practice. thank you.
D_wathiAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

btanExec ConsultantCommented:
1. Your server has weak cipher and need to be disabled. I suspect you have not latest patches too.
Heartbleed - Use of flawed openssl, Poodle - Use of sslv3, Freak - Use of 512 bits RSA key, Logjam - Use of 512bits DH keys, Crime - SSLCompression is on, Beast - Use of RC4, etc
Overview of the vulnerabilities :
https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/

Go for TLS 1.2, disable SSLV2 and V3, RC4, etc. See the hardening in below. Also consider apache 2.4 minimally to fully support forward secrecy.
https://raymii.org/s/tutorials/Strong_SSL_Security_On_Apache2.html
OR
see "How can I create an SSL server which accepts strong encryption only?"
https://httpd.apache.org/docs/trunk/ssl/ssl_howto.html

2. They are stating to suggest you have harden the setting. Suggest you try below as it cam give you better information on vulnerabilities https://www.ssllabs.com/ssltest/
1
David FavorLinux/LXD/WordPress/Hosting SavantCommented:
What btan said... Use the SSL Labs tester as the output, to me, is far easier to understand.

Also... you said... "data security is top most priority"... so... something to keep in mind.

I recently went through data on 90 days worth malware cleansing I'd done on various sites.

90% of these hacked sites looked to have been hacked through the following exploit vectors...

1) Old Linux Kernels

2) Old PHP

3) FTP rather than SFTP, where credentials were scraped then used to access WordPress or other CMS systems.

4) WordPress (or other CMS systems) running without SSL, so credentials were scraped.

Notice all these are super simple to fix.

Starting with keep all your software up dated.

So after you fix your SSL situation, make sure to check the above items also.
0
nociSoftware EngineerCommented:
I 2nd you should use ssllabs ssltest.  That not only gives a detailed assessment of your site but also hints to improve securtity.
You need to aim for A..., (A+ if possible,expect to loose the A+ -> A after a few months due to new developments on SSL security.)

So make it a priority to also actualy test & evaluate the security every few months or more often if the steaks are high,
0
10 Tips to Protect Your Business from Ransomware

Did you know that ransomware is the most widespread, destructive malware in the world today? It accounts for 39% of all security breaches, with ransomware gangsters projected to make $11.5B in profits from online extortion by 2019.

David Johnson, CD, MVPOwnerCommented:
since it is a hosted website and NOT a VPS then you have to work with hosting support to resolve most issues.  You simply don't have much control with hosted websites.
1
David FavorLinux/LXD/WordPress/Hosting SavantCommented:
David Johnson brings up a good point.

If by hosted, you mean shared hosting... likely you must contact your hosting company to effect any SSL config changes.

If by hosted, you mean a dedicated machine or VPS... meaning you have root ssh access + can reboot your machine/VPS, then you can upgrade your SSL config easily.

Best start with what you mean by hosted.
0
nociSoftware EngineerCommented:
If this is shared hosting and the hoster will not update to current specs..., you need to run for a different provider for this.
Asyour site MAY get compromised through a different site (not even related to you)  if someone else doesn't think security should be top-most priority somewhere in the system.
0
D_wathiAuthor Commented:
thanks for the reply, it is deployed on-premises and behind the firewall but published for internet end users who has login credentials.
0
D_wathiAuthor Commented:
can you please help me with steps on how to enable TLS 1.2, and disable SSLV2 and V3 in ubuntu linux where apache is running. thank you very much.
0
D_wathiAuthor Commented:
Vulnerabilities checked
Heartbleed, Poodle (TLS), Poodle (SSLv3), FREAK, BEAST, CRIME, DROWN

Non-critical issues found
BEAST

Not mitigated server-side BEAST.

scan report shows as
Protocols
TLS 1.3      No
TLS 1.2      Yes
TLS 1.1      Yes
TLS 1.0      Yes
SSL 3      No
SSL 2      No
For TLS 1.3 tests, we currently support draft version 28.
-------------------------------------------
please suggest should I have to disable TLS 1.0

2.  Protocol Details
DROWN      No, server keys and hostname not seen elsewhere with SSLv2
(1) For a better understanding of this test, please read this longer explanation
(2) Key usage data kindly provided by the Censys network search engine; original DROWN website here
(3) Censys data is only indicative of possible key and certificate reuse; possibly out-of-date and not complete
Secure Renegotiation      Supported
Secure Client-Initiated Renegotiation      No
Insecure Client-Initiated Renegotiation      No
BEAST attack      Not mitigated server-side (more info)   TLS 1.0: 0x2f
POODLE (SSLv3)      No, SSL 3 not supported (more info)
POODLE (TLS)      No (more info)
Downgrade attack prevention      Yes, TLS_FALLBACK_SCSV supported (more info)
SSL/TLS compression      No
RC4      No
Heartbeat (extension)      Yes
Heartbleed (vulnerability)      No (more info)
Ticketbleed (vulnerability)      No (more info)
OpenSSL CCS vuln. (CVE-2014-0224)      No (more info)
OpenSSL Padding Oracle vuln.
(CVE-2016-2107)      No (more info)
ROBOT (vulnerability)      No (more info)
Forward Secrecy      With some browsers (more info)
ALPN      Yes   http/1.1
NPN      No
Session resumption (caching)      Yes
Session resumption (tickets)      Yes
OCSP stapling      No
Strict Transport Security (HSTS)      No
HSTS Preloading      Not in: Chrome  Edge  Firefox  IE
Public Key Pinning (HPKP)      No (more info)
Public Key Pinning Report-Only      No
Public Key Pinning (Static)      No (more info)
Long handshake intolerance      No
TLS extension intolerance      No
TLS version intolerance      No
Incorrect SNI alerts      No
Uses common DH primes      No
DH public server param (Ys) reuse      No
ECDH public server param reuse      No
Supported Named Groups      sect283k1, sect283r1, sect409k1, sect409r1, sect571k1, sect571r1, secp256k1, secp256r1, secp384r1, secp521r1, brainpoolP256r1, brainpoolP384r1, brainpoolP512r1 (Server has no preference)
SSL 2 handshake compatibility      Yes

in the above protocols where ever "NO" should it be become yes and should I have to configure for it please suggest, thanks.
0
David Johnson, CD, MVPOwnerCommented:
in your httpd.conf
SSLProtocol -All +TLSv1.2
0
D_wathiAuthor Commented:
thank you very much now the rating is A which earlier was "B" but following cipher suites are still shown in red, may be due to this I am not getting A+ can you please help me to fix this

TLS_RSA_WITH_AES_256_GCM_SHA384 (0x9d)   WEAK      256
TLS_RSA_WITH_AES_256_CBC_SHA256 (0x3d)   WEAK      256
TLS_RSA_WITH_AES_256_CBC_SHA (0x35)   WEAK      256
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (0x84)   WEAK      25

TLS_RSA_WITH_AES_256_GCM_SHA384 (0x9d)   WEAK      256
TLS_RSA_WITH_AES_256_CBC_SHA256 (0x3d)   WEAK      256
TLS_RSA_WITH_AES_256_CBC_SHA (0x35)   WEAK      256
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (0x84)   WEAK      25
0
David Johnson, CD, MVPOwnerCommented:
SSLCipherSuite          ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS

Open in new window

Try this
0
btanExec ConsultantCommented:
Can check out the cipher suite order. Mainly it is to use ECC and SHA2 as primary. Note you need Apache 2.4 for ECDHE and ECDSA. Disable SHA.
https://www.sslshopper.com/article-how-to-disable-weak-ciphers-and-ssl-2.0-in-apache.html

SSLProtocol -ALL +TLSv1.2
SSLHonorCipherOrder Off
SSLCipherSuite ECDH+AESGCM:ECDH+CHACHA20:ECDH+AES256:ECDH+AES128:!aNULL:!SHA1
0
D_wathiAuthor Commented:
thank you so much, SSLCipherSuite should I have to generate the code or can I just copy it from the previous post and paste it apache config, please suggest,
0
D_wathiAuthor Commented:
added the ciphersuite and restarted apache finally I can see following in red in color in ssllabs report with rating A

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012)   ECDH secp256r1 (eq. 3072 bits RSA)   FS   WEAK      112
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x16)   DH 2048 bits   FS   WEAK      112
TLS_RSA_WITH_AES_128_GCM_SHA256 (0x9c)   WEAK      128
TLS_RSA_WITH_AES_256_GCM_SHA384 (0x9d)   WEAK      256
TLS_RSA_WITH_AES_128_CBC_SHA256 (0x3c)   WEAK      128
TLS_RSA_WITH_AES_256_CBC_SHA256 (0x3d)   WEAK      256
TLS_RSA_WITH_AES_128_CBC_SHA (0x2f)   WEAK      128
TLS_RSA_WITH_AES_256_CBC_SHA (0x35)   WEAK      256
TLS_RSA_WITH_3DES_EDE_CBC_SHA (0xa)   WEAK      112
0
David Johnson, CD, MVPOwnerCommented:
remove those RSA cipher suites
0
D_wathiAuthor Commented:
I am really really sorry to ask this, how to remove is it something like following I have just prefixed minus(-) on each
SSLCipherSuite  -TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012)  -TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x16)
0
btanExec ConsultantCommented:
You did not disable TLS 1.0 and TLS 1.2. Note you need Apache 2.4 for ECDHE and ECDSA.

SSLProtocol -ALL +TLSv1.2
SSLHonorCipherOrder Off
SSLCipherSuite ECDH+AESGCM:ECDH+CHACHA20:ECDH+AES256:ECDH+AES128:!aNULL:!SHA1

https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
btanExec ConsultantCommented:
Just to clarify that it is to disable TLS 1.0 and 1.1 and enable TLS 1.2. thanks for sharing
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Vulnerabilities

From novice to tech pro — start learning today.