DNS Best PracticesDNS Records ReportSecurity Headers Best PracticesSecurity Headers ReportSSL Certificate ReportSSL/TLS Best PracticesSSL/TLS Server Configuration Report
Dashboard: SSL/TLS Server Configuration Report
This report provides a brief overview of the configuration of any SSL/TLS web server.
This report answers the following questions:
- What protocols and cipher suites does the server support?
- Does the server support any insecure cipher suites, e.g., RC4, CBC?
- Does the server support TLS fallback SCSV for preventing protocol downgrade attacks?
This dashboard contains 3 cards, 1 input and 2 tables.
Usage
Install the mod:
mkdir dashboardscd dashboardspowerpipe mod initpowerpipe mod install github.com/turbot/steampipe-mod-net-insights
Start the Powerpipe server:
steampipe service startpowerpipe server
Open http://localhost:9033 in your browser and select SSL/TLS Server Configuration Report dashboard.
You could also snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe dashboard run net_insights.dashboard.ssl_configuration_report --share
Queries
This dashboard uses the the following queries:
with domain_list as ( select $1 as domain, $1 || ':443' as address),cbc_cipher_count as ( select address, count(address) as cipher_count from net_tls_connection where address in (select address from domain_list) and cipher_suite_name in ('TLS_RSA_WITH_AES_128_CBC_SHA', 'TLS_RSA_WITH_AES_256_CBC_SHA', 'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA', 'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA', 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA', 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA', 'TLS_RSA_WITH_3DES_EDE_CBC_SHA', 'TLS_RSA_WITH_AES_128_CBC_SHA256', 'TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA', 'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256', 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256') and handshake_completed group by address)select 'CBC Cipher Suites' as label, case when i.cipher_count is null then 0 else i.cipher_count end as value, case when i.cipher_count is null then 'ok' when i.cipher_count < 1 then 'ok' else 'alert' end as typefrom domain_list as d left join cbc_cipher_count as i on d.address = i.address
{ "$1": "domain_input"}