mailwolt/resources/views/livewire/ui/security/tls-ciphers-form.blade.php

135 lines
6.8 KiB
PHP

<x-slot:breadcrumbParent>Sicherheit</x-slot:breadcrumbParent>
<x-slot:breadcrumb>TLS-Ciphers</x-slot:breadcrumb>
<div>
<div class="mbx-page-header">
<div class="mbx-page-title">
<svg width="16" height="16" viewBox="0 0 16 16" fill="none">
<path d="M6 9a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z" stroke="currentColor" stroke-width="1.3"/>
<path d="M6.5 9H1.5M3 7v4" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/>
<circle cx="9.5" cy="9" r="1" fill="currentColor"/>
</svg>
TLS-Ciphers
</div>
<div class="mbx-page-actions">
<button wire:click="save" class="mbx-btn-primary">
<svg width="12" height="12" viewBox="0 0 14 14" fill="none"><path d="M2 2h8l2 2v8a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1Z" stroke="currentColor" stroke-width="1.2"/><path d="M5 2v3h4V2" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
<span wire:loading.remove wire:target="save">Anwenden & Reload</span>
<span wire:loading wire:target="save">Schreibt…</span>
</button>
</div>
</div>
<div class="sec-layout">
{{-- Main --}}
<div style="min-width:0">
<div class="mbx-sections">
{{-- Preset --}}
<div class="mbx-section">
<div class="mbx-domain-head">
<div class="mbx-domain-info">
<span class="mbx-badge-mute">Preset</span>
</div>
</div>
<div style="padding:16px 18px">
<div class="mw-modal-hint" style="margin-top:0;margin-bottom:10px">Mozilla-Sicherheitsprofil wählen. Felder werden automatisch befüllt.</div>
<div class="tls-presets">
@foreach($presets as $p)
<button wire:click="applyPreset('{{ $p }}')"
class="tls-preset-btn {{ $preset === $p ? 'active' : '' }}">
@if($p === 'modern') Modern (TLS 1.3)
@elseif($p === 'intermediate') Intermediate (TLS 1.2+)
@else Old (TLS 1.0+)
@endif
</button>
@endforeach
</div>
@if($preset === 'modern')
<div style="margin-top:8px;font-size:11px;color:var(--mw-t4)">Nur TLS 1.3 maximale Sicherheit, ggf. inkompatibel mit älteren Clients.</div>
@elseif($preset === 'intermediate')
<div style="margin-top:8px;font-size:11px;color:var(--mw-t4)">TLS 1.2 + 1.3 empfohlenes Profil für die meisten Mail-Server.</div>
@elseif($preset === 'old')
<div style="margin-top:8px;font-size:11px;color:rgba(252,211,77,.6)">TLS 1.0+ nur für Legacy-Clients. Nicht empfohlen.</div>
@endif
</div>
</div>
{{-- Postfix --}}
<div class="mbx-section">
<div class="mbx-domain-head">
<div class="mbx-domain-info">
<span class="mbx-badge-mute">Postfix</span>
</div>
</div>
<div style="padding:16px 18px;display:flex;flex-direction:column;gap:12px">
<div>
<label class="mw-modal-label">smtpd_tls_protocols / smtp_tls_protocols</label>
<input type="text" wire:model.defer="postfix_protocols" class="mw-modal-input">
<div class="mw-modal-hint">Deaktivierte Protokolle mit ! Präfix</div>
</div>
<div>
<label class="mw-modal-label">smtpd_tls_ciphers / smtp_tls_ciphers</label>
<input type="text" wire:model.defer="postfix_ciphers" class="mw-modal-input">
<div class="mw-modal-hint">high, medium, low oder OpenSSL-Cipher-String</div>
</div>
</div>
</div>
{{-- Dovecot --}}
<div class="mbx-section">
<div class="mbx-domain-head">
<div class="mbx-domain-info">
<span class="mbx-badge-mute">Dovecot</span>
</div>
</div>
<div style="padding:16px 18px;display:flex;flex-direction:column;gap:12px">
<div>
<label class="mw-modal-label">ssl_min_protocol</label>
<input type="text" wire:model.defer="dovecot_min_proto" class="mw-modal-input">
<div class="mw-modal-hint">z. B. TLSv1.2 oder TLSv1.3</div>
</div>
<div>
<label class="mw-modal-label">ssl_cipher_list</label>
<textarea wire:model.defer="dovecot_ciphers" class="mw-modal-input" rows="3"></textarea>
<div class="mw-modal-hint">OpenSSL-Cipher-String für Dovecot</div>
</div>
</div>
</div>
</div>
</div>
{{-- Sidebar --}}
<div>
<div class="mbx-sections">
<div class="mbx-section">
<div class="mbx-domain-head">
<div class="mbx-domain-info">
<span class="mbx-badge-mute">Zieldateien</span>
</div>
</div>
<div style="padding:14px 16px;font-size:11.5px;color:var(--mw-t3);line-height:1.8">
<div style="margin-bottom:10px">
<div style="color:var(--mw-t4);font-size:10.5px;margin-bottom:3px">Postfix</div>
<code style="font-size:10.5px;color:var(--mw-t2)">/etc/postfix/mailwolt-tls.cf</code>
</div>
<div>
<div style="color:var(--mw-t4);font-size:10.5px;margin-bottom:3px">Dovecot</div>
<code style="font-size:10.5px;color:var(--mw-t2)">/etc/dovecot/conf.d/<br>99-mailwolt-tls.conf</code>
</div>
<hr class="mw-modal-sep" style="margin:12px 0">
<div style="color:var(--mw-t4);font-size:11px">Postfix und Dovecot werden nach dem Speichern automatisch neu geladen.</div>
</div>
</div>
</div>
</div>
</div>
</div>