Class: Neetob::CLI::MonthlyAudit::InstancesAndAddons::Cloudflare::MinimumTlsVersionIsOnePointTwo

Inherits:
Base
  • Object
show all
Defined in:
lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/minimum_tls_version_is_one_point_two.rb

Constant Summary

Constants inherited from Base

Base::NEETO_APPS_LIST_LINK

Instance Attribute Summary

Attributes inherited from Base

#ui

Instance Method Summary collapse

Methods included from Utils

#camel_case_to_slug, #is_upper?, #symbolize_keys

Constructor Details

#initializeMinimumTlsVersionIsOnePointTwo

Returns a new instance of MinimumTlsVersionIsOnePointTwo.



12
13
14
# File 'lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/minimum_tls_version_is_one_point_two.rb', line 12

def initialize
  super()
end

Instance Method Details

#runObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/neetob/cli/monthly_audit/instances_and_addons/cloudflare/minimum_tls_version_is_one_point_two.rb', line 16

def run
  ui.success "### 3.2.3. Checking whether Minimum TLS version is 1.2"

  domains_data = [["Domain", "Minimum TLS version", "Audit Passed"]]
  ui.info("\n", print_to_audit_log: false)
  Neetob::CLI::Cloudflare::Base::ZONE_IDS.keys.select { |domain|
 domain.to_s.include?(".com") }.map do |domain|
    ui.info("Checking Minimum TLS version for #{domain}", print_to_audit_log: false)
    min_tls_version = Neetob::CLI::Cloudflare::MinTlsVersion.new(domain).run
    audit_passed = min_tls_version.to_s == "1.2" ? "Yes" : "No"

    if audit_passed == "No"
      repo = domain_to_repo(domain.to_s)
      issue_url = GithubIssueCreation.new.create_issue(
        repo:, title: "Set minimum TLS version to 1.2 for #{domain}",
        description: "Minimum TLS version for #{domain} is set to #{min_tls_version}. It should be set to '1.2'."
        )
      audit_passed += " #{issue_url}"
    end

    domains_data << [domain, min_tls_version, audit_passed]
  end
  ui.print_table(domains_data)
end