> For the complete documentation index, see [llms.txt](https://wiki.lucysecurity.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.lucysecurity.com/lucy-wiki-de/anleitungen/lucy-installieren/architektur.md).

# Architektur

### Überblick

Dieses Dokument beschreibt die wichtigsten strukturellen Elemente und Einstellungen von Lucy.

<figure><img src="https://2098106789-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVYPsDfg76rUuy4DWfSsJ%2Fuploads%2FwQ2eFdjMcv1HtIJme6S6%2Fimage.png?alt=media&amp;token=f59a0fb1-0b5c-4dc0-acc9-d29129f62395" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
"LUST" ist der zentrale Lizenzierungs- und Inhaltsserver, der von Lucy Security verwaltet wird.
{% endhint %}

### Betriebssystem

* **Ubuntu 24.04.4 LTS**: Lucy läuft auf einem 64-Bit-Ubuntu-24.04.4-LTS-System, ohne zusätzliche Patches oder Härtung. Updates werden über einen selbst gehosteten Repository-Mirror verwaltet.

### Webserver

* **Apache 2.4.66**: Verwendet "mod-security" und "mod-headers" für erhöhte Sicherheit.

### Datenbank

* **PostgreSQL 16.11**: Speichert alle zugehörigen Daten mit AES-256-CBC-Verschlüsselung auf Spaltenebene.

### Zwischenspeicher

* **Redis 7.4.1**: Wird als Task-Queue zum Übertragen von Daten zwischen Benutzern und System-Workern verwendet.

### Anwendung

* **PHP v8.2.30 und Python 3.8.20**: Lucy ist hauptsächlich eine PHP-Anwendung, die das Yii-Framework verwendet, mit einigen Hintergrundskripten in Python.

### Sicherheit

* **OWASP Top 10 / 2017**: Hält die OWASP-Sicherheitsstandards ein.
* **Firewall und SSL**: Benutzerdefinierte [Firewall-Regeln](/lucy-wiki-de/anwendungsreferenz/einstellungen/allgemeine-systemeinstellungen/firewall.md) und [SSL-Konfigurationen](/lucy-wiki-de/anwendungsreferenz/einstellungen/allgemeine-systemeinstellungen/ssl-einstellungen.md).
* **Benutzerkonten**: "phishing"- und "support"-Konten für bestimmte Funktionen und Support-Zwecke.

### Ordner

* **/opt/phishing**: Hauptverzeichnis mit Systemcode, Benutzerdateien und Einstellungen.

### Protokolle

* **Apache-Protokolle**: Befinden sich in `/var/logs/apache2`.
* **Anwendungsprotokolle**: Befinden sich in `/opt/phishing/runtime`.

### Kritische Dienste

* **Dienste**: Apache2, PostgreSQL, Redis-Server und Supervisor sind kritische Dienste.

### Installation und Updates

Docker-basierte Installation mit nahtlosen Updates via APT innerhalb des Containers.

* Container teilen sich den Kernel des Host-Betriebssystems, was einen schnellen Start und eine effiziente RAM-Nutzung ermöglicht.
* Verwendet geschichtete Dateisysteme für eine effiziente Speichernutzung und Image-Downloads.
* Gewährleistet Anwendungsisolierung, indem es als separater Prozess im Userspace ausgeführt wird.
* Nicht an eine bestimmte Infrastruktur gebunden und kann daher auf jedem Computer, jeder Infrastruktur oder in jeder Cloud betrieben werden.

### Netzwerkkommunikation

* **Ausgehende Kommunikation**: Wird von LUCY für Lizenzserver-Updates, Schwachstellenprüfungen und verschiedene optionale Dienste benötigt.
  * **Lizenzserver (LUST)**: Updates und Vorlagen über HTTPS.
  * **Schwachstellenprüfungen**: Verbindung über Port 80 zu static.nvd.nist.gov für die NIST-CVE-Datenbank.
  * **Update-Server**: Zugriff auf update.phishing-server.com und update1.phishing-server.com über die Ports 80 und 443.
  * **Optionale Dienste**: DNS, URL-Verkürzung
* **Eingehende Kommunikation**: Erfordert die Ports 80 und 443 für den Webzugriff sowie Port 25 für E-Mail-Antworten.
* **Kommunikation für Malware-Simulation**: Verwendet HTTP/HTTPS zur Datenerfassung während Simulationen.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://wiki.lucysecurity.com/lucy-wiki-de/anleitungen/lucy-installieren/architektur.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
