Security: vServer Ubuntu

  • Hab mir nun nen vServer geholt und werde dort in nächster Zeit all meine Homepages zügeln.


    Zum vServer: Nichts spezielles.. Ubuntu, Apache, MySQL, vsftpd, Plesk, Plesk Power Panel


    Ich denke mal, dass ich hier richtig bin.. es geht nämlich um Netzwerk, speziell Security.


    Noch irgendwelche empfehlungen? Ich empfinde das irgendwie als "wenig".. natürlich wird auch immer alles schön geupdated (Server und CMS)


    - User: starke Passwörter (16-30 Zeichen, alphanumerisch oder mit Sonderzeichen)
    - pro User: ein anderes Passwort
    - Firewall: tcp: 20, 21, 22, 80, 443 offen. Mehr nicht.
    - Firewall: Plesk <- soll ich das noch extra schützen? z.B. mit IP Ranges oder puh.. kA
    - FTP: SFTP only, keine anons.



    Die Verwaltung geht ausschliesslich über Plesk (also kein phpMyAdmin oder andere Tools). Ausser die CMS, die gehen über https only.

    Gaming: AMD Ryzen 5 2600X, MSI B450M, 32GB RAM, Sapphire RX6900XT Nitro+ SE, 4TB SSD, 10TB HDD, Win11, Samsung Odyssey G7 32" 1440p@165Hz
    Server: AMD Ryzen 5 3600, Gigabyte B450M4, Quadro P400, 16Gb RAM, 500GB SSD, Plex Encoder

    Storage: Intel i3 3220T, ASRock Z77 Pro4, 4Gb RAM, 111 TB Storage (Seagate Exos), Plex Storage

    Einmal editiert, zuletzt von CruSher ()

  • Nur etwas zu den Passwörtern:
    (xkcd.org)
    Besser ein einprägsamer Satz als ein Kauderwelsches Wort mit Zahlen und Sonderzeichen.


    Die Antworten zu deinen restlichen Fragen interessieren mich ebenso.

    TOWER i7 3930K | 7970 3GB | 32GB | GA-X79A-UD5 | 250GB Vertex 3 | Lian-Li V1200B-Plus | Eizo 24" | cooled w/ H2O
    FILER A6 5400K | 8GB | 120GB EVO Basic | RAID5 w/ 22TB usable | Lian Li PC-Q25
    NBOOK Lenovo ThinkPad W530 | i7-3720QM | Quadro K2000M | 24GB | 500GB OCZ Vector 180 | 15" WUXGA
    CINE Yamaha A-S1000+CD-S1000 | Marantz SR-6003 | Focal Chorus 725+706V, Cobalt SR 800 | Nubert nuLine CS-72+AW-560 | Panasonic TX-P65ST50J
    photosmusicinsta

  • Zitat

    Original von CruSher
    - User: starke Passwörter (16-30 Zeichen, alphanumerisch oder mit Sonderzeichen)
    - pro User: ein anderes Passwort


    Gar keine Passwörter (zumindest zum Einloggen) :) Du kannst das Login per Passwort im SSHD abschalten und nur noch Zugriff per Key zulassen. Weiter natürlich kein root-Login zulassen, sondern nur sudo. Dann generell möglichst wenig Addons in dein CMS installieren, jedes davon bietet potentielle Sicherheitslücken. Auch wichtig ist, dass dein mysql nicht unter root läuft sondern einen eigenen Benutzer hat, das ist bei solchen Hostings erstaunlicherweise manchmal ein Problem.
    Eine Überlegung wert ist sicher auch php safemode, du kannst eigentlich alle Anwendungen so konfigurieren, damit sie damit laufen. Allerdings braucht das öfter mal viel Aufwand.
    Weiter kannst du mit Suhosin dein PHP sicherer machen und auch ein IDS (Intrusion Detection System, zB snort) könntest du draufknallen, aber das ist sinnlos, wenn du dich nicht genügend mit der Materie auseinandersetzt und das IDS wirklich ausführlich konfigurierst.


    Das sind natürlich nur Denkanstösse - du musst selbst wissen, wie stark abgesichert du sein möchtest (auch abhängig vom Grad deiner Paranoia :D)

  • Zusätzlich würde ich den SSH Port 22 auf einen anderen beliebigen Port verlegen. Bringt auch wieder ein bisschen Sicherheit.


    Wenn ich fragen darf wo hast du den vSerevr gemietet?


    Ich weiss ja nicht wie zufireden du mit Plesk bist aber ich würde das runter schmeissen und was anderes drauf tun (Confixx, Froxlor, ispCP) oder noch besser gar keins. Habe bisher mit Plesk keine guten Erfahrungen gemacht und auch nicht viel gehört von der Webhoster-Seite her: Lange reaktionszeit bei Bugmeldungen, Updates die nicht ausgereift sind. Bei der Installation werden viele komponeten vorgegeben durch Plesk und können nicht durch alternativen ersetzt werden.

    Workstation: Shuttle HTPC, i5 7400, 16GB RAM, Gigabyte GeForce GTX 1050 Ti WindForce, 256GB m.2 SSD, 4TB SATA HDD

    Homelab: Intel NUC8i3BEH2, i3-8109U, 32GB RAM, 2x 500B SSD (PiHole, Plex-Server, Proxy, Bitwarden, Mailcow)
    Daten: Synology DS1813+ 5x 10TB als SHR, 2x 4TB als SHR
    Media: LG OLED65C8, Playstation 4, Nintendo Switch, Sonos Playbar inkl. 2x Symfonisk Rear + Sub
    Mobile: MacBook Air 13" Mid2019, i5 1,6 GHz, 16GB RAM, 500GB SSD; iPhone 13 Pro 128 GB Spacegrey

  • @stimorol
    :D


    GP
    Passwörter -> Keyfile: Hm.. ja das wäre wirklich noch eine Variante, muss ich echt noch anschauen.


    Wegen CMS Addons: Ja das is mir klar. Hab eigentlich auch wenig. Caching, Gallerie, BrokenLinkChecker.


    php Safemod: Ja das is mir aufgefallen. Bin da noch dran am herumbasteln.


    Naja.. ich will einfach nicht, dass man das zeugs easy hacken kann und dann nen DDoS von dort aus startet, wie beim RootServer schon geschehen ist. Aber da ist nun auch wieder ruhe, seit ich ne strenge Firewallrichtlinie eingestellt habe :)




    Lintu
    SSH verlegen? Naja.. durch die Portscanner findet man das denke ich auch wieder schnell raus?


    Wollte eigentlich noch keine Schleichwerbung machen, bis ich nicht alles getestet habe.. aber ja.. hab's bei hosteurope.de gemietet.


    Plesk war einfach als Option gratis Dabei. Da wollte ich natürlich nicht nein sagen :) Obwohl es mich jetzt langsam nervt, da einige Sachen nicht so funktionieren, wie ich es schon auf nem anderen Server hingekriegt habe...... (FTP z.B...)

    Gaming: AMD Ryzen 5 2600X, MSI B450M, 32GB RAM, Sapphire RX6900XT Nitro+ SE, 4TB SSD, 10TB HDD, Win11, Samsung Odyssey G7 32" 1440p@165Hz
    Server: AMD Ryzen 5 3600, Gigabyte B450M4, Quadro P400, 16Gb RAM, 500GB SSD, Plex Encoder

    Storage: Intel i3 3220T, ASRock Z77 Pro4, 4Gb RAM, 111 TB Storage (Seagate Exos), Plex Storage

    Einmal editiert, zuletzt von CruSher ()

  • Es ist ein bisschen OT aber ich muss es trotzdem los werden.


    Wenn ich die par Posts hier lese fängt meine core schneller an zu schlagen :)
    Verdammt ich will x-Systeme betreuen und von dem jetzigen Job wegkommen!


    amen.

  • Zitat

    Original von mae
    Es ist ein bisschen OT aber ich muss es trotzdem los werden.


    Wenn ich die par Posts hier lese fängt meine core schneller an zu schlagen :)
    Verdammt ich will x-Systeme betreuen und von dem jetzigen Job wegkommen!


    amen.


    Ich mach das lieber als Hobby und nicht als Job, der Stresslevel ist viel tiefer :)

  • Wenn du kein FTP sondern nur SFTP willst brauchst du Port 21 nicht.

    <- 60% aller Jugendlichen blicken optimistisch in die Zukunft ->
    -> 40% haben nicht genügend Geld für Drogen <-

  • Danke für den Tipp, Peanut!


    rovster
    Hm ja.. mit Plesk ist's halt schon gemütlicher, besonders wenn ich mehrere Webseiten verwalte.. da hab ich ja alles auf einem Blick :)
    Aber naja.. mich regt das Plesk langsam auf.. immer irgendwelche Fehler oder das SFTP das wohl (dank Plesk?) nicht funktioniert (hab die Config Datei von einem funktionierend Server geholt und angepasst..)


    Innert ner Stunde bekomm ich nen neuen vServer, ohne Plesk.


    Mal schauen wie es dann aussieht. Hoffe besser und fehlerfreier.

    Gaming: AMD Ryzen 5 2600X, MSI B450M, 32GB RAM, Sapphire RX6900XT Nitro+ SE, 4TB SSD, 10TB HDD, Win11, Samsung Odyssey G7 32" 1440p@165Hz
    Server: AMD Ryzen 5 3600, Gigabyte B450M4, Quadro P400, 16Gb RAM, 500GB SSD, Plex Encoder

    Storage: Intel i3 3220T, ASRock Z77 Pro4, 4Gb RAM, 111 TB Storage (Seagate Exos), Plex Storage

  • Okay.. das verwirrt mich jetzt.


    Wieso funktioniert das mit der iptable nicht? Beim alten vServer (mit Plesk) hat's noch funktioniert, nur dass sie dort mit Referenzen gearbeitet haben.
    Ansonsten sieht's bei mir gleich aus.


    Es geht mir dabei in diesem Fall um den 443 (https). Die restliche Konfiguration hab ich für die Übersicht mal entfernt:


    Komisch ist ja, dass 22 und 80 funktionieren und eben, dass beim 1. vServer bei dem noch Plesk installiert ist, die Regeln gleich (nur verschatelter) aussehen.



    Ansonsten bis jetzt: Der Server macht weniger Probleme und ist auch aufgeräumter, bzw. ich kann die Daten nach meiner Art speichern.

    Gaming: AMD Ryzen 5 2600X, MSI B450M, 32GB RAM, Sapphire RX6900XT Nitro+ SE, 4TB SSD, 10TB HDD, Win11, Samsung Odyssey G7 32" 1440p@165Hz
    Server: AMD Ryzen 5 3600, Gigabyte B450M4, Quadro P400, 16Gb RAM, 500GB SSD, Plex Encoder

    Storage: Intel i3 3220T, ASRock Z77 Pro4, 4Gb RAM, 111 TB Storage (Seagate Exos), Plex Storage

  • Naja.. das wird ja automatisch reingeschrieben.


    Im Befehl ist ja Port 443 enthalten.

    Code
    1. # Port 443
    2. $ipt -I INPUT -i venet0 -p TCP --sport 1024:65535 --dport 443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
    3. $ipt -I OUTPUT -o venet0 -p TCP --sport 443 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT

    Gaming: AMD Ryzen 5 2600X, MSI B450M, 32GB RAM, Sapphire RX6900XT Nitro+ SE, 4TB SSD, 10TB HDD, Win11, Samsung Odyssey G7 32" 1440p@165Hz
    Server: AMD Ryzen 5 3600, Gigabyte B450M4, Quadro P400, 16Gb RAM, 500GB SSD, Plex Encoder

    Storage: Intel i3 3220T, ASRock Z77 Pro4, 4Gb RAM, 111 TB Storage (Seagate Exos), Plex Storage

    Einmal editiert, zuletzt von CruSher ()

  • Hat sich erledigt. Wenn auf dem Port nicht gelauscht wird, dann kommt auch keine Rückmeldung.
    Um herauszufinden, ob gelauscht wird, einfach "sudo lsof -nPi | grep [portnummer]" eingeben. Wenn nichts zurück kommt, dann wird auch nicht gelauscht.

    Gaming: AMD Ryzen 5 2600X, MSI B450M, 32GB RAM, Sapphire RX6900XT Nitro+ SE, 4TB SSD, 10TB HDD, Win11, Samsung Odyssey G7 32" 1440p@165Hz
    Server: AMD Ryzen 5 3600, Gigabyte B450M4, Quadro P400, 16Gb RAM, 500GB SSD, Plex Encoder

    Storage: Intel i3 3220T, ASRock Z77 Pro4, 4Gb RAM, 111 TB Storage (Seagate Exos), Plex Storage

  • Weitere Tipps für Netzwerk-Security:


    Brute-Force angriffen vorbeugen:
    - Root login disablen von extern (mit su oder sudo arbeiten!)
    - SSH Port nicht auf 22 (hilft zwar nicht gegen einen richtigen Hacker, aber gegen viele Bots und Hacker-Scripts)
    - SSH Login (evtl. auch Apache/Phpmysql Authentifizierung) mit beispielsweise fail2ban absichern. So wird nach einer definierten Anzahl Missversuche automatisch die IP gesperrt.


    DoS Angriffen vorbeugen:
    - Max Number of Connections definieren für alle Services welche aus dem Internet erreichbar sind
    - evtl. Rate Limits definieren (am Besten mit IP-Tables und nicht in den Services selber)


    Spoofing Angriffen vorbeugen:
    - Private Netze aus dem Internet blocken
    - ICMP Messages einschränken (ICMP Redirect, Source Route, usw.)


    Dann gibts natürlich noch diverse Regeln für die Absicherung von Apache und Linux allgemein. Von der NSA gibt es einen sehr guten Hardening Guide dazu (http://www.nsa.gov/ia/_files/os/redhat/rhel5-guide-i731.pdf). Er ist zwar für RedHat Enterprise Linux 5, aber die meisten Tipps sind distrbutionsunabhängig.


    Gruss ganto


    "Computer games don't affect kids, I mean if Pacman affected us as kids, we'd all run around in a darkened room munching pills and listening to repetitive music."


    Kristian Wilson

  • Bis jetzt ist mir noch nichts zugestossen :D
    Zumindest laut (Traffic)Logs nicht.
    Aber mittlerweile bin ich auf Plesk 11 umgestiegen und die machen IMO einen recht guten Job, abgesehen dass sie noch Apache nutzen..


    Was ich mich Frage: Soll ich weiterhin einen unmanaged VPS für Firmenseiten benutzen? Wenn ich einen VPS an diverse Firmen vermiete bzw. "untervermiete", da ich Ihre Page mache, welche Sicherung würde für Schäden haften, falls doch mal was passieren würde? Wenn sowas natürlich haftbar ist.

    Gaming: AMD Ryzen 5 2600X, MSI B450M, 32GB RAM, Sapphire RX6900XT Nitro+ SE, 4TB SSD, 10TB HDD, Win11, Samsung Odyssey G7 32" 1440p@165Hz
    Server: AMD Ryzen 5 3600, Gigabyte B450M4, Quadro P400, 16Gb RAM, 500GB SSD, Plex Encoder

    Storage: Intel i3 3220T, ASRock Z77 Pro4, 4Gb RAM, 111 TB Storage (Seagate Exos), Plex Storage

  • Ich hab auch ein vServer mit öffentlicher IP und hatte mir gedanken über die Security gemacht.
    Ganto hat eigentlich schon ziemlich viele nützliche Sachen aufgezählt. Die hätte ich auch erwähnt.


    Zitat

    - Root login disablen von extern (mit su oder sudo arbeiten!)


    Sehr guter Ansatz und wenns doch zu umständlich ist, wenigstens mit Keys (PermitRootLogin=without-password)

    Zitat

    - SSH Port nicht auf 22 (hilft zwar nicht gegen einen richtigen Hacker, aber gegen viele Bots und Hacker-Scripts)


    Hab ich exakt auch gemacht. Fail2ban triggered praktisch nie bei SSH.
    Falls zu umständlich immer -p[port] anzugeben, eine "config" datei im .ssh dir anlegen mit

    Code
    1. Host hostname
    2. Port [port]


    Wenn du noch ganz paranoid bist, installierst du dir noch eine IDS (AIDE, Samhain, usw...). Ist jedoch bei vielen dynamischen Daten sehr aufwändig zu konfigurieren

  • DenyHosts für SSH, Public-Key, root-login deaktivieren, als Username eine zufällige Zahlen-/Zeichen-Kombi nehmen (wie passwort). Stets die neusten Sicherheitsupdates installieren.


    So mache ich es bei Linux-Servern.

  • Zitat

    Original von stim0r0l
    Besser ein einprägsamer Satz als ein Kauderwelsches Wort mit Zahlen und Sonderzeichen.


    Ja nicht! Solche Wörter kommen in jedem 10k Wort dictionary vor und können innert wenigen Minuten geknackt werden.