135 lines
6.8 KiB
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>
|