cmusei.rwreceiver
rwreceiver
Eine Rolle zur Konfiguration und Verwaltung des rwreceiver-Dienstes. rwreceiver ist ein Daemon, der Dateien von einem oder mehreren rwsender-Prozessen entgegennimmt. Die empfangenen Dateien werden in einem Zielverzeichnis gespeichert. Weitere Informationen finden Sie in der Dokumentation zu rwreceiver.
Anforderungen
Wenn TLS für Verbindungen verwendet wird, müssen passende Zertifikate erstellt und sowohl an den Sender als auch an den Empfänger hochgeladen werden.
Rollen-Variablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml):
silk_packing_tools_loc: "/usr/local/sbin"
Der Speicherort der Silk-Packing-Tools.
silk_tls_support: False
Ob TLS für Verbindungen verwendet werden soll.
rwreceiver_myname: "rwreceiver"
Der Name des rwreceiver-Prozesses. Es ist möglich, mehrere Instanzen von rwreceiver auf einer einzelnen Maschine auszuführen, indem man ihnen unterschiedliche Namen gibt.
rwreceiver_conf_template: "rwreceiver.conf.j2"
rwreceiver_conf_file_loc: "/usr/local/etc"
rwreceiver_conf_file_path: "{{ rwreceiver_conf_file_loc }}/{{ rwreceiver_myname }}.conf"
rwreceiver_init_template: "rwreceiver.j2"
rwreceiver_init_file_path: "/etc/init.d/{{ rwreceiver_myname }}"
Vorlagen und deren Speicherorte.
Variable | Erklärung |
---|---|
rwreceiver_statedirectory: "/usr/local/var/lib/rwreceiver" | Verzeichnis, in dem rwreceiver seinen Status speichert |
rwreceiver_create_directories: "nein" | Wenn auf "ja" gesetzt, werden die definierten Verzeichnisse automatisch erstellt, wenn sie noch nicht existieren |
rwreceiver_bin_dir: "{{ silk_packing_tools_loc }}" | Vollständiger Pfad des Verzeichnisses, das das "rwreceiver"-Programm enthält |
rwreceiver_destination_dir: "{{ rwreceiver_statedirectory }}/destination" | Der vollständige Pfad des Verzeichnisses, in dem die empfangenen Dateien abgelegt werden |
rwreceiver_mode: "client" | Der Modus, in dem der Empfänger läuft. Gültige Werte sind "server" und "client". |
rwreceiver_id: "receiver-1" | Der Name dieser Receiver-Instanz |
rwreceiver_port: "" | Der PORT oder HOST:PORT-Paar, auf dem der Server auf eingehende Verbindungen hört. Dies ist nur erforderlich, wenn im Servermodus gearbeitet wird. Wenn HOST nicht angegeben ist, hört der Server auf jeder Adresse. HOST kann ein Name oder eine IP-Adresse sein. Wenn HOST eine IPv6-Adresse ist, setzen Sie es in eckige Klammern und den gesamten Wert in einfache Anführungszeichen, um eine Interpretation durch die Shell zu verhindern. |
rwreceiver_post_command: "" | Befehl, der für jede Datei ausgeführt wird, sobald sie empfangen wurde. In dem Befehl wird "%s" durch den vollständigen Pfad zur empfangenen Datei und "%I" durch die Kennung des rwsender ersetzt, der die Datei gesendet hat. z.B.: POST_COMMAND='echo empfangene Datei %s von rwsender %I' |
rwreceiver_freespace_min: "0" | Die Menge an Speicherplatz (in Bytes), den rwreceiver im Dateisystem, das $DESTINATION_DIR enthält, freihalten möchte. Diese Variable kann als gewöhnliche ganze Zahl oder als reelle Zahl gefolgt von einem Suffix K, M, G oder T gesetzt werden. |
rwreceiver_space_max_percent: "100" | Der maximale Prozentsatz des Speichers im Dateisystem, das $DESTINATION_DIR enthält, den rwreceiver nutzen möchte. |
rwreceiver_sender_servers: "" | Wenn der Empfänger im Clientmodus ist, müssen die SENDER_SERVERS angegeben werden. Die Zeilen sollten das folgende Format haben: <identifier> <host>:<port> . Diese Variablen sind mehrzeilige Werte, wobei jede Zeile den Wert für einen rwsender hat. |
rwreceiver_sender_clients: "" | Wenn der Empfänger im Servermodus ist, müssen die SENDER_CLIENTS angegeben werden. Die Zeilen sollten das folgende Format haben: <identifier> . Diese Variablen sind mehrzeilige Werte, wobei jede Zeile den Wert für einen rwsender hat. |
rwreceiver_duplicate_dirs: "" | Der Empfänger kann eingehende Dateien in mehrere Zielverzeichnisse kopieren. Beachten Sie, dass, wenn das Kopieren in eines der folgenden Verzeichnisse fehlschlägt, ein Fehler protokolliert wird, die Datei jedoch als erfolgreich übertragen betrachtet wird. Diese Variable enthält einen mehrzeiligen Wert, wobei jede Zeile ein Duplikat-Zielverzeichnis auflistet. Das Format für die Zeile ist: <duplicate-dir> . Jede Zeile muss einen vollständigen Verzeichnispfad darstellen |
rwreceiver_duplicate_copies: "link" | Beim Kopieren von Dateien in ein Duplikat-Zielverzeichnis erstellt rwreceiver standardmäßig die Dateien als Hardlinks (wenn möglich) zueinander und zu den Dateien im Zielverzeichnis. Wenn ein Prozess jedoch eine Kopie an einem Ort verändert, wirkt sich dies auf alle Dateien aus. Um rwreceiver zu zwingen, eine vollständige Kopie zu erstellen, ändern Sie DUPLICATE_COPIES von "link" zu "copy". |
rwreceiver_log_type: "syslog" | Der Typ des zu verwendenden Protokollierens. Gültige Werte sind "legacy" und "syslog". |
rwreceiver_log_level: "info" | Die niedrigste Protokollierungsebene, die tatsächlich protokolliert wird. Gültige Werte sind: emerg, alert, crit, err, warning, notice, info, debug |
rwreceiver_log_dir: "{{ rwreceiver_statedirectory }}/log" | Der vollständige Pfad des Verzeichnisses, in dem die Protokolldateien geschrieben werden, wenn der LOG_TYPE "legacy" ist. |
rwreceiver_pid_dir: "{{ rwreceiver_log_dir }}" | Der vollständige Pfad des Verzeichnisses, in dem die PID-Datei geschrieben wird |
rwreceiver_user: "root" | Der Benutzer, unter dem dieses Programm läuft; Root-Rechte sind nur erforderlich, wenn rwreceiver auf einem privilegierten Port lauscht. |
rwreceiver_extra_options: "" | Zusätzliche Optionen, die an rwreceiver übergeben werden |
Wenn die optionale GnuTLS-Unterstützung durch Setzen von silk_tls_support: True
verwendet wird, muss der vollständige Pfad zur CA-Datei (TLS_CA) angegeben werden, sowie ENTWEDER der vollständige Pfad zur programmspezifischen PKCS#12-Datei (TLS_PKCS12) ODER die vollständigen Pfade zur programmspezifischen Zertifikat (TLS_CERT) und Schlüssel (TLS_KEY) Datei. Wenn die PKCS#12-Datei passwortgeschützt ist, müssen Sie die Umgebungsvariable RWRECEIVER_TLS_PASSWORD auf das Passwort setzen, bevor Sie rwreceiver starten. Wenn RWRECEIVER_TLS_PASSWORD nicht gesetzt ist, wird es als leeres Passwort behandelt; setzen Sie es auf eine leere Zeichenfolge, um ein leeres Passwort zu erlauben.
TLS Variable | Erklärung |
---|---|
rwreceiver_tls_ca: "" | Der vollständige Pfad zur Root-CA-Datei, PEM-kodiert |
rwreceiver_tls_pkcs: "" | Der vollständige Pfad zur programmspezifischen PKCS#12-Datei, DER-kodiert |
rwreceiver_tls_key: "" | Der vollständige Pfad zur programmspezifischen Schlüsseldatei, PEM-kodiert |
rwreceiver_tls_cert: "" | Der vollständige Pfad zur programmspezifischen Zertifikatsdatei, PEM-kodiert |
rwreceiver_tls_crl: "" | Der vollständige Pfad zur Zertifizierungsstellen-Sperrliste, PEM-kodiert. Optional. |
rwreceiver_tls_priority: "" | Die Präferenzreihenfolge (Priorität) für Chiffren, Schlüssel-Austauschmethoden, Nachrichtenauthentifizierungscodes und Kompressionsmethoden. Optional. Der Standardwert ist "NORMAL". Verfügbare Argumente hängen von Ihrer Version von GnuTLS ab. |
rwreceiver_tls_security: "" | Das Sicherheitsniveau, das bei der Generierung von Diffie-Hellman-Parametern verwendet werden soll. Eines von niedrig, mittel, hoch oder ultra. Optional. Der Standardwert ist "mittel". |
rwreceiver_tls_debug_level: "" | Die Interne zur Verwendung von GnuTLS-Bibliothek verwendete Debugging-Ebene, eine Zahl zwischen 0 (kein Debugging) und einschließlich 99. Optional. |
Abhängigkeiten
- cmusei.silk
Beispiel-Playbook
- hosts: server
become: true
vars:
data_root_dir: "/data"
# rwreceiver-Einstellungen
silk_tls_support: True
rwreceiver_statedirectory: "{{ data_root_dir }}/rwreceiver"
rwreceiver_destination_dir: "{{ rwreceiver_statedirectory }}/incoming"
rwreceiver_create_directories: "ja"
rwreceiver_mode: "server"
rwreceiver_port: "3737"
rwreceiver_sender_clients: |
sender1
sender2
# rwreceiver TLS-Einstellungen
tls_ca: "testcert.pem"
tls_key: "client-key.pem"
tls_cert: "client-cert.pem"
rwreceiver_tls_ca: "/etc/pki/tls/{{ tls_ca }}"
rwreceiver_tls_key: "/etc/pki/tls/private/{{ tls_key }}"
rwreceiver_tls_cert: "/etc/pki/tls/{{ tls_cert }}"
rwreceiver_pid_dir: "/var/run"
pre_tasks:
- name: SSL-Zertifikate kopieren
copy:
src: "{{ item.f }}"
dest: "{{ item.d }}"
mode: "{{ item.m }}"
owner: "root"
group: "root"
with_items:
- f: "{{ tls_ca }}"
d: "{{ rwreceiver_tls_ca }}"
m: '0644'
- f: "{{ tls_key }}"
d: "{{ rwreceiver_tls_key }}"
m: '0600'
- f: "{{ tls_cert }}"
d: "{{ rwreceiver_tls_cert }}"
m: '0644'
roles:
- role: cmusei.rwreceiver
tags: [ 'rwreceiver' ]
Lizenz
Copyright 2020 Carnegie Mellon University. KEINE GARANTIE. DIESES MATERIAL DER CARNEGIE MELLON UNIVERSITY UND DES SOFTWARE ENGINEERING INSTITUTE WIRD IM "AS-IS"-ZUSTAND BEREITGESTELLT. DIE CARNEGIE MELLON UNIVERSITY GIBT KEINE GARANTIEN IRGENDWELCHER ART, WEDER AUSDRÜCKLICH NOCH IMPLIZIT, BEZÜGLICH IRGENDEINER ANGELEGENHEIT, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GARANTIE DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK ODER DER MARKTFÄHIGKEIT, EXKLUSIVITÄT ODER ERGEBNISSE, DIE AUS DER NUTZUNG DES MATERIALS ERZIELT WERDEN. DIE CARNEGIE MELLON UNIVERSITY ÜBT KEINE GARANTIE IN BEZUG AUF DAS FREI SEIN VON PATENT-, MARKEN- ODER URHEBERRECHTSVERLETZUNG AUS. Veröffentlicht unter einer MIT (SEI)-Lizenz. Bitte sehen Sie sich die Datei license.txt an oder kontaktieren Sie permission@sei.cmu.edu für die vollständigen Bedingungen. [DISTRIBUTION STATEMENT A] Dieses Material wurde für die öffentliche Veröffentlichung und unbegrenzte Verbreitung genehmigt. Bitte siehe die Urheberrechtsanzeige für die nicht-US-Regierungsnutzung und -verbreitung. CERT® ist im US-Patent- und Markenamt von der Carnegie Mellon University eingetragen. Diese Software umfasst und/oder nutzt die folgenden Drittanbieter-Software, die ihren eigenen Lizenzbedingungen unterliegt:
- ansible (https://github.com/ansible/ansible/tree/devel/licenses) Copyright 2019 Red Hat, Inc.
- molecule (https://github.com/ansible-community/molecule/blob/master/LICENSE) Copyright 2018 Red Hat, Inc.
- testinfra (https://github.com/philpep/testinfra/blob/master/LICENSE) Copyright 2020 Philippe Pepiot.
DM20-0505
Autoreninformationen
Diese Rolle wurde 2019 von Matt Heckathorn erstellt.
A role to configure the rwreceiver service
ansible-galaxy install cmusei.rwreceiver