You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
156 lines
4.2 KiB
156 lines
4.2 KiB
<div class="container">
|
|
<div class="row">
|
|
<div class="col-sm-11">
|
|
<h1>
|
|
[<%= self.type.to_s.upcase %>] <%= @host %> <span class="small">(<%= l @result.date %>)</span>
|
|
</h1>
|
|
</div>
|
|
<% if Time.now - @result.date >= Rails.configuration.refresh_delay %>
|
|
<div class="col-sm-1">
|
|
<%= link_to 'Rafraîchir', {action: :refresh}, class: %i(btn btn-default) %>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
<%
|
|
@result.hosts.each do |host|
|
|
if host.error
|
|
error, host = host.error, host.host
|
|
%>
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<h2><%= host.name %> - <%= host.ip %> : <%= host.port %></h2>
|
|
Error during analysis :
|
|
<span class="label label-error"><%= error %></span>
|
|
</div>
|
|
</div>
|
|
<%
|
|
else
|
|
host, grade, handshake = host.host, host.grade, host.handshake
|
|
%>
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<h2><%= host.name %> - <%= host.ip %> : <%= host.port %></h2>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-6">
|
|
<table class="table table-bordered table-condensed table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th colspan="2">
|
|
Scores
|
|
<%= rank_label grade.rank %>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<%
|
|
{ 'Protocole' => 'protocol',
|
|
'Échange de clef' => 'key_exchange',
|
|
'Chiffrement' => 'cipher_strengths',
|
|
'Total' => 'score'}.each do |name, v| %>
|
|
<tr>
|
|
<th class="col-sm-4"><%= name %></th>
|
|
<td class="col-sm-8"><%= score_progress grade.details[v] %></td>
|
|
</tr>
|
|
<% end %>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<table class="table table-bordered table-condensed table-striped">
|
|
<tbody>
|
|
<tr>
|
|
<th class="col-sm-4">Protocoles</th>
|
|
<td class="col-sm-8"><%= protocol_labels handshake.protocols %></td>
|
|
</tr>
|
|
<tr>
|
|
<th>Clefs</th>
|
|
<td>
|
|
<p>Certificat : <%= key_label handshake[:key] %></p>
|
|
<p>Diffie Hellman : <%= key_labels handshake.dh %></p>
|
|
</td>
|
|
</tr>
|
|
<% { 'Bonnes pratiques' => :success,
|
|
'Alertes' => :warning,
|
|
'Dangers' => :danger,
|
|
'Erreurs' => :error }.each do |name, color|
|
|
names = grade[color]
|
|
next if names.nil? or names.empty?
|
|
%>
|
|
<tr>
|
|
<th><%= name %></th>
|
|
<td>
|
|
<% names.each do |name| %>
|
|
<span class="label label-<%= color %>"><%= name.upcase %></span>
|
|
<% end %>
|
|
</td>
|
|
</tr>
|
|
<% end %>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<table class="table table-bordered table-condensed table-striped center">
|
|
<thead>
|
|
<tr>
|
|
<th rowspan="2">Name</th>
|
|
<th colspan="2">Key exchange</th>
|
|
<th colspan="2">Authentification</th>
|
|
<th colspan="4">Encryption</th>
|
|
<th colspan="2">MAC</th>
|
|
<th rowspan="2">PFS</th>
|
|
</tr>
|
|
<tr>
|
|
<th>Type</th>
|
|
<th>Key size</th>
|
|
<th>Type</th>
|
|
<th>Key size</th>
|
|
<th>Type</th>
|
|
<th>Key size</th>
|
|
<th>Block size</th>
|
|
<th>Mode</th>
|
|
<th>Type</th>
|
|
<th>Size</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<% CryptCheck::Tls::Server::EXISTING_METHODS.each do |protocol|
|
|
ciphers = CryptCheck::Tls::Cipher.sort(handshake.ciphers.select { |c| c.protocol == protocol.to_s }
|
|
.collect { |c| CryptCheck::Tls::Cipher.new protocol, [c.name, nil, c[:size]], c.dh, handshake[:key] })
|
|
unless ciphers.empty? %>
|
|
<tr>
|
|
<th colspan="12"><%= protocol_label protocol %></th>
|
|
</tr>
|
|
<% ciphers.each do |cipher|
|
|
params = cipher.params
|
|
kex = params[:kex]
|
|
auth = params[:auth]
|
|
enc = params[:enc]
|
|
mac = params[:mac]
|
|
pfs = params[:pfs]
|
|
%>
|
|
<tr>
|
|
<th><%= cipher_name_label cipher %></th>
|
|
<%= cipher_kex_type_cell kex&.first %>
|
|
<%= cipher_kex_size_cell kex&.last %>
|
|
<%= cipher_auth_type_cell auth&.first %>
|
|
<%= cipher_auth_size_cell auth&.last %>
|
|
<%= cipher_enc_type_cell enc&.first %>
|
|
<%= cipher_enc_key_size_cell enc&.[] 1 %>
|
|
<%= cipher_enc_block_size_cell enc&.[] 2 %>
|
|
<%= cipher_enc_mode_cell enc&.last %>
|
|
<%= cipher_mac_type_cell mac&.first %>
|
|
<%= cipher_mac_size_cell mac&.last %>
|
|
<%= cipher_pfs_cell pfs %>
|
|
</tr>
|
|
<% end end end %>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<% end
|
|
end %>
|
|
</div>
|
|
|