Beiträge von customer

    Wenn du schon mit domain name anstatt IP verbindest und wenn dir ein Angreifer eine andere IP Adresse unterjubeln kann, weil DNS schlecht konfiguriert ist, dann wird er dir wahrscheinlich auch einen gefälschten DNS-RR unterjubeln können.


    Und selbst dann lehnt ein normaler SSH Client die Verbindung ab .. außer der SSH Client würde den gefälschten DNS-RR lesen und ihm vertrauen, dann würdest du in eine Falle tappen, die dieser Mechanismus erst möglich macht.

    Wenn der Angreifer hingegen Zugriff auf deine Keys hat, dann hast du sowieso schon verloren. Da ist DNS dann auch schon irrelevant.


    Wie gesagt, ich verstehe den Sinn nicht, aber vielleicht habe ich etwas übersehen?

    Trust wird bei SSH über Server/Client Keys hergestellt.


    Manche DNS-RR für Mail Server existieren ja auch nur, weil das Protokoll kaputt ist und z.B. vom Client ein Downgrade von TLS auf keine Verschlüsselung machen kann.

    Ach ja, noch eine pedantische Anmerkung: ifconfig ist nun wirklich schon arg veraltet. Stattdessen sollte man:

    Code
    ip a[ddress]
    ip l[ink]
    ip r[oute

    etc. verwenden. Arch hat net-tools sogar schon vor 8 Jahren deprecated.


    Und je nachdem wie man mit dem Internet verbunden ist, kann es durchaus sein, dass ein Interface am Rechner eine oder sogar mehrere global routbare IPv4/6 Adressen hat.
    Das hat aber nichts mit Linux oder Windows zu tun.

    Genau solche Seiten habe ich dann meistens auch genutzt. Was mir aber dort schon in 90% der Fälle fehlt, ist die Möglichkeit den Standort der IP zu ermitteln und vor allem meine Daten zu speichern. Da ganze ist mir im Zusammenhang mit vpn's sehr wichtig um zu sehen ob der Standort stimmt.

    Das Arbeiten mit einer API ist darüber hinaus natürlich für Projekte auch schöner.

    Für Linux Systeme brauchst du ja so externe Seiten überhaupt nicht, Dank ifconfig etc bekommst du auch deine externe IP + noch mehr Infos.

    Dabei muss ich anmerken, dass nur, weil die IP stimmt, das noch lange nicht bedeutet, dass man sicher ist.


    Gerade Browser können auf verschiedenste Arten leaken oder über die IP hinweg getrackt werden, weswegen man das eigentlich auch mit dem Browser überprüfen muss.

    Siehe zB ipleak.net.

    Für DNS gibt es zB www.dnsleaktest.com

    Browser tracking: panopticlick.eff.org oder amiunique.org


    Selbiges muss man auch für alle anderen Anwendungen prüfen, wenn man nicht identifiziert/verfolgt werden möchte.


    Die Frage ist auch, warum du überhaupt überprüfen musst, ob der Standort stimmt. Wenn dein System richtig eingerichtet ist, dann hat es auch nur Internetzugriff, wenn die VPN-Verbindung steht und dann auch nur über den Tunnel.
    Wenn der VPN-Provider dir dann Konfigurationen für Länder A, B, C gibt und du nach dem Verbinden verwundert feststellen msust, dass du stattdessen in den Ländern X, Y und Z gelandet bist, dann würde ich sofort den Provider wechseln.


    Denn das ist entweder grobe Inkompetenz oder aber der Provider wurde kompromittiert.

    Weil die Intel-CPUs der letzten 10 Jahre sicherheitstechnisch alle (na gut, fast, es gibt Ausnahmen wie Intel Atom) defekt sind, sollte man Intel Hyperthreading eigentlich eh immer deaktivieren, besonders in virtualisierten Umgebungen.

    Nächster zufälliger Tipp bezügl. PHP-Performance: Opcache.

    Zuerst einmal sollte eine aktuelle PHP-Version laufen. 7.1 wird schon nicht mehr aktiv unterstützt und Sicherheitsupdates werden auch mit 1. Dez 2019 eingestellt.


    Siehe: https://www.php.net/supported-versions.php


    Da PHP eine Skriptsprache ist, muss der Quelltext bei jedem Aufruf neu interpretiert/optimiert/übersetzt werden. Genau da hilft der Opcache, indem er das Ergebnis zwischenspeichert und somit beim nächsten Aufruf all die zuvor genannten Schritte entfallen können.


    Dazu kommt in die php.ini:


    Dann php-fpm oder Apache oder was auch immer ihr verwendet neu starten.


    Anschließend kann man sich ein buntes PHP opcache status Skript installieren, wie zB opcache-gui, oder man macht einfach folgendes in eine php Datei:

    PHP
    <!DOCTYPE html>
    <html lang="en">
      <head><meta charset="utf-8" /><title>opcache status</title></head>
      <body><pre><?php var_dump(opcache_get_status(true)); ?></pre></body>
    </html>


    Dort sieht man dann ob der opcache aktiviert ist (opcache_enabled), Speichernutzung (used_memory), Trefferrate (opcache_hit_rate), sowie eine Liste aller Dateien, die im opcache liegen.

    Steini Das ergibt für mich keinen Sinn.

    ls gibt nur den Inhalt des aktuellen Ordners aus, und dessen Ausgabe sollte nicht zum Scripten verwendet werden.

    sed sollte unnötig sein, weil wir einfach .. anhängen können.

    Sollte es nicht eher so aussehen?

    Code
    find . -type d -name ".git" -print0 -prune | xargs -0 -P10 -I{} git -C "{}/.." pull

    Mir reicht dazu mit bash das Paket

    Code
    bash-completion

    ... dann einfach TAB spammen. 8o



    Es ergibt auch Sinn in seine ~./bashrc häufig verwendete Befehle samt Optionen als Aliase zu definieren, z.B.:

    Code
    alias la='ls -lah --color=yes'

    Aber dazu mehr in einem anderen Beitrag...

    Hallo,


    mit diesem Thema möchte ich eine kleine Sammlung von Technik-Tipps für Systemadministratoren starten.

    Ich bitte darum Antworten - sofern sie keine Tipps sind - kurz und technisch zu halten.



    Dann fange ich mal an...

    Wie wir hoffentlich alle wissen leiden SSDs unter Leistungsverlust, wenn im Dateisystem Dateien verkleinert oder gelöscht werden. Das hat auch negative Auswirkungen auf die Lebensdauer der Flash-Zellen.
    Abhilfe schafft der "neue" ATA-Befehl TRIM, welche das Betriebssystem an den SSD-Controller schickt, um der SSD mitzuteilen, welche Blöcke verworfen (discarded) und für das Neubeschreiben vorbereitet werden können.


    Zuerst schauen wir, ob unsere SSDs TRIM unterstützen. Hier steht DISC für discard und Werte > 0 deuten auf Unterstützung hin:

    Code
    $ lsblk --discard
    NAME   DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
    sda           0        4K       1G         0
    ├─sda1        0        4K       1G         0
    └─sda2        0        4K       1G         0
    sr0           0        0B       0B         0


    Moderne Linux-Distributionen bieten einen entsprechenden systemd service und systemd timer oder cron job:

    Code
    # systemctl enable fstrim.timer
    
    $ systemctl list-timers
    NEXT                          LEFT          LAST                          PASSED     UNIT                         ACTIVATES
    Mon 2019-09-02 00:00:00 CEST  1 day 2h left n/a                           n/a        fstrim.timer                 fstrim.service



    Man kann den service auch manuell starten:

    Code
    # systemctl start fstrim.service

    Status/Ergebnis/Log ein paar Sekunden später:

    Code
    # systemctl status fstrim.service
    ● fstrim.service - Discard unused blocks on filesystems from /etc/fstab
       Loaded: loaded (/usr/lib/systemd/system/fstrim.service; static; vendor preset: disabled)
       Active: inactive (dead) since Sat 2019-08-31 20:59:57 CEST; 28min ago
         Docs: man:fstrim(8)
     Main PID: 30948 (code=exited, status=0/SUCCESS)
    
    Aug 28 23:47:09 xserv systemd[1]: Starting Discard unused blocks on filesystems from /etc/fstab...
    Aug 28 23:47:10 xserv fstrim[25419]: /: 31.5 GiB (33799159808 bytes) trimmed on /dev/sda2
    Aug 28 23:47:10 xserv systemd[1]: fstrim.service: Succeeded.



    Neben diesem periodischen TRIM (auch "batch discard") sei auch noch kontinuierliches TRIM (auch "online discard") erwähnt, was jedoch in den meisten Fällen nicht empfohlen wird.

    Dies wird mit der Option "discard" in /etc/fstab oder direkt im Dateisystem aktiviert.

    Hatte vorgestern Abend noch den Support angeschrieben und die haben dann die VM auf einen anderen Server verschoben.


    Mir ist völlig bewusst, dass diese Leistung nicht immer/konsistent zur Verfügung steht, aber wenn selbst leichteste Last (ein paar Services die herumidlen, <0.5% auf nur einem Kern) ein loadavg von 0.3 bis über 0.5 verursachen, dann stimmt etwas nicht.

    Genauso bei SMT. Wenn bei einer zwei VCore VM die Leistung mit zwei Prozessen/Threads schlechter ist als mit einem, dann stimmt etwas nicht.


    Seit dem Verschieben ist die Performance jetzt vergleichbar mit dem was andere Kunden gepostet haben. Gut, warum nicht gleich so? ;)

    So wie ich das verstanden habe, ist das der "Abstrich", den man bei den VPS servern macht.

    Keine Garantierte CPU und CPU Leistung. In der Produktbeschreibung steht ja auch nur "vCore".

    Ich denke mal Netcup verwendet hier gerade die CPUs die zum Zeitpunkt des Kaufes am günstigsten sind? :/

    1 vCore zum Preis von 2? Ich denke nicht, dass das normal ist.

    Richtig, ist ein frisch installiertes Arch Linux.


    Irgendwelche Ideen warum sich mein System so verhält, als hätte es nur eine CPU?

    Es läuft kaum etwas auf der VM, htop zeigt meistens <1% Auslastung.

    Code
    $ free -m
                  total        used        free      shared  buff/cache   available
    Mem:           3944         139        3201         154         603        3426
    Swap:          4095           0        4095


    Liegt es vielleicht an den Intel CPU Bugs? Aber selbst wenn ich im kernel mit mitigations=off boote ändert sich nichts.

    Hallo,


    habe seit kurzem einen VPS 500 G8 (mit 2 Kernen).


    Ein kurzer Benchmark zeigt aber, dass die Multi-Core Leistung niedriger ist als die Single-Core Leistung... wie, wenn die VM nur einen CPU-Kern hätte.

    https://browser.geekbench.com/v4/cpu/14413488


    Also den Support angeschrieben.. der meinte ich sollte den Test im Rettungssystem wiederholen. Da war das Ergebnis besser. Nach dem Reboot war es auch im Echtsystem besser (das war aber am Vormittag)... und jetzt ist es wieder schlechter.


    Wer es selbst testen möchte, der kann gerne folgenden Einzeiler verwenden:

    Code
    wget "http://cdn.geekbench.com/Geekbench-4.3.3-Linux.tar.gz" && tar xzf Geekbench-4.3.3-Linux.tar.gz && cd Geekbench-4.3.3-Linux && ./geekbench4

    und dann den ersten Link hier reinkopieren.



    Vielleicht hängen zu viele Kunden auf dem Server? Vielleicht ist das ganze auch zeitabhängig? Oder aber es liegt an meiner Konfiguration... wobei ich nicht wüsste was da falsch sein könnte.