Posts by Primeas

    Ich würde dir empfehlen den SSH Port zu ändern, danach den SSH Zugang nur über Keyfile zugänglich machen. Danach fail2ban mit verbindung zu ntftables zu verwenden, Firewall alles nach draussen frei geben aber alles was rein kommt blocken (drop) und nur das freigeben was du auch benötigst. Fail2ban stellst du dann so ein das es mit nftables harmoniert, sprich fällt eine IP-Adresse in deinen Filter, wird die IP-Adresse automatisch auch in der Firewall (ntftables) geblockt. Ansonsten für jeden erlaubten ausgang fail2ban einstellen und testen. Alternativ kannst du auch noch dir eine Bash File bauen die dir eine E-Mail zusendet wenn ein SSH Benutzer eingeloggt ist.

    Also OP am offenen Herzen und nichts anderes. Die Kiste hängt mit einem 1GB (oder haben die neuen nicht 2.5GB Anbindung?) direkt am Netz und da soll er dann üben. Da meint man, ich kann in der pam.d ja auch mal schauen und schups braucht man kein Passwort mehr.
    Warum nicht erst einmal in einer lokalen VM anfangen. Da kann man generell mal schauen, wie funktionieren die Dienste, wie richte ich iptables/nftables ein, wie verhindere ich Passwort Auth bei ssh usw.

    Testen kann man das auch direkt vom Hostsystem aus.

    Nein so meinte ich es nicht, er schrieb das er sich die Materie anschauen möchte und sich damit beschäftigen möchte. Das sagt mir das er nicht wild drauf los geht und alles per copy past macht und fertig ist das ding. Ich meinte es so das er step by step sich ein thema nimmt die erfahrung praktisch ausübt und abends noch etwas da drüber durchlesen tut was er am nächsten tag wieder ausprobiert. Probieren geht über Studieren, so ist es bei nem Praktikum, zuerst rein schnuppern und dann bilden wenn es das ist was er möchte. Gegen eine VM spricht nichts dagegen jedoch kann er auch gleich richtig anfangen und bei fehlern wird die kiste halt neu installiert solange bis er den dreh raus hat, bei jedem reinstall der kiste lernt man immer dazu und verbessert etwas am setup und ganz im ernst, niemand spielt snapshots rauf weil wozu sollte man vorhandene fehler wieder rauf spielen wenn man ganz einfach ein sauberes setup erneut durchführt. Und wenn er 30x neu installiert hat sagt das nicht aus das er zu dumm sei dafür sondern einfach das er immer noch die ausdauer und den willen hat es zu lernen und bei jedem versuch macht man es besser. natürlich kann er auch panels benutzen aber wenn man panels benutzt mit nem installer drin der dir copy past textbausteine gibt so lernt man es nie wie man zb. einen mailserver aufsetzen tut. Wer copy past betreiben möchte kann auch normales Webhosting mieten.


    Der erste punkte bei ihm wäre gleich auf Debian zu gehen da es komplexer ist und für erfahrene benutzer und sich die ersten 3 tage mit SSH sicherung firewall fail2ban zu beschäftigen und dazu die filter selbst zu testen, ich meine... es gibt niemanden der sich nicht mal selbst in SSH ausgesperrt hat und diese erfahrung sollte jeder mal gemacht haben :-D, im prinzip hat jeder der mit linux anfing sich schon ausgesperrt, fehler gemacht und zig mal neu installiert, der weg ist nicht einfach und leicht. wenn er dadran scheitert und die lust verliert dann ist es wie es ist dann bleibt er beim webhosting von webspace. Scheitert er jedoch nicht und bleibt am ball dann weiss er spätestens in 3 monaten wieviel arbeit es ist ein eigenes system zu betreiben und er wird es lieben.


    Es fühlt sich doch so schön an die eigene kiste neu zu installieren, das ist wie der geruch eines Neuwagens :-D, hält jedoch nur die ersten Minuten haha


    Fazit ist, Teste mit einer VM oder gleich ein VPS der kostet ja kaum was und lern es gleich richtig. Alleine wenn er schon SSH2 sichert und keine dienste nach aussen verwendet bis er sich eingearbeitet hat dann kann auch nix passieren. Die mysql sollte generell nur local laufen, bis man sie für externe zwecke verwenden möchte hat man schon das ABC abgearbeitet und weiss wie man es sichern muss.


    Und wenn er es gleich richtig Hardcore braucht dann macht er das ganze an einem Dedicted und lernt auch noch gleich das Mounten von HDDS im raid so wie hdd infos auslesen, geschwindigkeit testen der hdds, lebenszeit und backup system mit rsync aber das wäre fürn anfang zuviel :-)


    Ich tendiere immer zur Kalt Wasser methode, rein ins kalte wasser und zeig was du kannst und dann weisst du selber ob du es drauf hast oder nicht, daher wenn dann richtig und ohne VM :-)

    "Quasi" – ClamAV ist nicht ganz schlecht… und gehört meiner Meinung nach zusammen mit Lynis (Audit-Werkzeug) zu jeder Installation.

    Bei ClamAV gibt es noch die "unofficial signatures" die weit aus mehr finden als der Offizielle Build, mit ClamAV kannst du täglich den Linux Server durchsuchen und er durchsucht auch Webspace Files und Emails die im IMAP Server liegen nur so am rande erwähnt.


    Ich würde dir empfehlen das du dir einfach einen VPS mietest ohne Mindestlaufzeit und dich dann erst einmal mit der Sicherung beschäftigst und dich mit der oberfläche auseinander setzen tust step by step und später kommt dann webspace und co dazu. Niemand lernt es nur durch Bücher lesen, du solltest Praktisch anfangen und dich dann dadrin step by step weiterbilden. Aber halt anfangen dich reinzulesen bezüglich Sicherheit und nicht gleich auf Punkt 9 springen und alles nach lust und laune installieren mit der hoffnung das wird schon gut gehen. Fang mit einem VPS an und dann lernst du es step by step, selbst ohne ahnung von der materie kannst du es erlernen. Und wenn du es gleich richtig machen willst dann hälst du deinen VPS "leicht" und installierst nicht gleich irgend welche Interface Panels nur weil es leichter ist.Dann lerne es gleich von anfang an und verwende nur das was du auch benötigst ohne irgend welche Open Source Panels.


    Viele sagen gleich wenn man davon keine ahnung hat dann sollte man es lassen, ohne es zu probieren kann man es auch nicht lernen, du brauchst keinen Doktor Titel um dir dieses wissen anzueignen einfach nur mut haben :-)

    Go to namecheap and edit the DNS entrys;


    Code
    1. Host: * Type: A Destination: YOUR-ROOTSERVER-IP
    2. Host: myservername.com Type: A Destination: YOUR-ROOTSERVER-IP
    3. Host: @ Type: MX Destination: mail.myservername.com
    4. Host: mail Type: A Destination: YOUR-ROOTSERVER-IP


    A DNS Entry change can take till 48 hours, you can check the DNS entrys on "https://dnschecker.org/" if the IP is updated,

    you can check it on windows too


    Code
    1. > CMD - ping www.myservername.com


    if the IP adresse is the old you can type ipconfig /flushdns to clear your Cache on your Computer.


    Du kannst auf einen VPS / Root / Dedicted jedes OS installieren was du möchtest wenn die Anforderungen stimmen. Wenn du Windows installierst musst du bei der Installation einige Treiber installieren damit Windows zb. die Festplatte erkennt. Dazu Mountest du die Windows Driver Image und lädst die gewissen treiber für das zugehörige Windows Build. Nachdem du alle nötigen Treiber geladen hast Mountest du wieder die Windows Image und Installierst dann Windows auf die Partition die du angelegt hast.


    Bezüglich "Kategorie Root Server", damals war es eigendlich so das es nur VPS und Root gab


    - Ein VPS teilt sich die Hardware des Systems mit anderen und ist Virtualisiert- deine Festplatte ist keine richtige Festplatte sondern läuft nur in einer Image Datei, ein Root dagegen war damals Dedicted Hardware, Hardware die nur du verwendest und dir zusteht. Im Laufe der zeit hat man es dann in VPS / Root / Dedicted umbenannt (marketing bezüglich) d.h ein VPS ist Virtuell und man teilt sich die Hardware und alles ist virtual. Backups kann man über Snapshots oder rsync machen.


    - Ein Root ist auf KVM Basis so wie VPS, es ist auch Virtuell und die Festplatte ist ebenfalls in einer Image Datei jedoch werden dir die gekaufte Hardware Leistung als Dediziert zugeteilt die du nur verwendest und nicht mit anderen teilst, jedoch teilst du mit anderen ebenfalls das Hauptsystem. Backups kann man über Snapshots oder rsync machen.


    - Ein Dedicted (nicht bei netcup) ist ein ganzes System was nur du hast, du teilst mit niemanden die Hardware und kannst deine eigenen Festplatten Mounten oder im RAID laufen lassen, die Festplatte ist eine richtige Festplatte und du teilst mit niemanden den Speed der Festplatte so wie auch die CPU, RAM und die Bandbreite. Backups kann man über rsync machen, wenn du das System in einem Container verwendest (wie man es bei VPS KVM tut) zb. proxmox dann kannste auch per Snapshots ein backup machen


    Bei Virtuellen Systemen kannst du keinen SWAP anlegen (SWAP ist ein virtueller RAM der einspringt wenn der richtige RAM an die grenzen kommt, man kann in Linux zb. einstellen das wenn der RAM bei 70% ist das er alles in den SWAP auslagert bis der richtige RAM wieder weniger in gebrauch ist. Der SWAP ram läuft auf der Festplatte wie eine art IMAGE Datei wie bei einem Virtuellen System), dazu kannst du die Partitionen selber Mounten sprich du hast zb. 2 richtige festplatten mit 2 TB kannst die beiden als RAID laufen lassen zu 4 TB oder sda1 als system laufen lassen und sdb1 als /home mounten so läuft das system auf hdd1 und alles im /home ordner auf hdd2.


    Ein VPS ist das günstigste was man bekommen kann, Root ist so die mittelklasse im preis leistungs bereich, das höchste ist natürlich ein Dedicted. Bei der Hardware im Dedicted bereich wird dann noch unterschieden zwischen Desktop und Server Hardware, Server Hardware zb. DDR RAM EEC oder Datacenter Festplatten sind dazu ausgelegt 24/7 zu laufen, Desktop Hardware ist nicht dazu gedacht im 24/7 betrieb zu laufen jedoch funktioniert es ohne probleme auch :-)

    Ja, es gibt viele Infos zu dem Thema. Und wer die objektiv durchgeht erkennt, dass eine Aussage wie "nginx ist weit aus besser wie Apache2" nicht haltbar ist, weil viel zu undifferenziert.

    Nginx und Apache sind unterschiedlich, aber beide haben ihre Vor- und Nachteile, je nach Einsatzgebiet. Nicht selten werden sie sogar (über reverse proxy) zusammen eingesetzt.

    Man kann auch beide Simultan laufen haben, man setzt einen nginx vor einem Apache2 weil nginx die simultanen verbindungen besser verarbeitet


    Ehrlich gesagt, würde ich mir jetzt hier ungern die Arbeit machen das detailliert auszuführen (faul), aber wenn man in Google "nginx vs apache" eingibt, findet man in den Links auf der ersten Trefferseite eigentlich alle Infos.

    Sehr verkürzt zusammengefasste: Flexibilität (Apache) vs Performance (Nginx)

    Bei mir war das lange genau umgekehrt. :)

    Und bei mir auch genau anders herum, von Apache2 zu nginx gewechselt aufgrund von dem was ich benötige und mir wichtig ist, da man nginx vor apache2 schalten kann fand ich es für überflüssig dann apache2 mit nginx simultan laufen zu haben daher entschied ich mich dann doch nur für nginx und bin recht zufrieden und alles läuft super :-)


    ----------------------------------------------------------------------------------------------------


    Hier habe ich mal einen guten Artikel kurz gefunden der einen überblick verschafft


    # Wann sollte ich Apache statt NGINX nehmen?


    - Apache .htaccess

    NGINX unterstützt so etwas wie die .htaccess-Datei des Apache nicht. Mit Apache erhalten Sie jedoch den Vorteil, dass Sie nicht privilegierten Benutzern die Kontrolle über einige wichtige Aspekte ihrer Website geben können.

    Den Benutzern ist es natürlich nicht gestattet, die Hauptkonfiguration zu bearbeiten.

    Mithilfe von .htaccess-Dateien können Sie systemweite Einstellungen für jedes Verzeichnis außer Kraft setzen.

    Um eine optimale Leistung zu erzielen, fügen Sie diese .htaccess-Anweisungen in die Hauptkonfigurationsdatei ein.

    In einer gemeinsam genutzten Hosting-Umgebung funktioniert Apache aufgrund seiner .htaccess-Konfiguration besser.

    Für dediziertes Hosting oder VPS bleibt Nginx die beste Option.


    - Im Falle von Funktionseinschränkungen - verwenden Sie Apache

    Nginx hat einige Kernmodule, die sehr wichtig sind. Es gibt jedoch einige Funktionseinschränkungen bei Nginx.

    Falls einige Einschränkungen bestehen oder zusätzliche Module benötigt werden, die von Nginx nicht unterstützt werden, sollten Sie stattdessen Apache auswählen.


    # Wann sollten Sie NGINX statt Apache nehmen?


    - Schnelle Verarbeitung statischer Inhalte

    Nginx kann die statischen Dateien aus einem bestimmten Verzeichnis viel besser verarbeiten.

    Außerdem werden die Upstream-Server-Prozesse aufgrund der zahlreichen statischen Inhaltsanforderungen nicht blockiert, da Nginx sie gleichzeitig verarbeiten kann. Dies verbessert die Gesamtleistung von Back-End-Servern erheblich.

    Nginx versucht unablässig, seinen Nutzern ein besseres Erlebnis zu bieten. Es hat seit Jahr 2018 ein bemerkenswertes Wachstum verzeichnet.


    - Ideal für stark frequentierte Websites

    Wenn wir über die Geschwindigkeit sprechen und wie viele Clients mit hoher Last bedient werden können, wird Nginx immer als Sieger über Apache glänzen.

    Dies macht Nginx sehr leicht und eignet sich hervorragend für Serverressourcen. Aus diesem Grund bevorzugen die meisten Webentwickler Nginx gegenüber Apache.

    Insbesondere stellen die Ecommerce-Stores heute einen Magento-Entwickler ein, der weiß, wie man mit einer Website mit hohem Datenaufkommen umgeht und mit Nginx vertraut ist.

    Kurz gesagt, wenn es darum geht, eine Website mit einem hohen Verkehrsaufkommen zu bedienen, ist Nginx unschlagbar.


    # Oder verwenden Sie beide - zusammen!

    Ja, Apache und Nginx können auch Freunde sein!

    Es ist möglich, die Stärken der einzelnen Server gemeinsam zu nutzen.

    Sie können Nginx vor Apache als Server-Proxy verwenden (siehe Abbildung unten). Dies nutzt die schnelle Verarbeitungsgeschwindigkeit von Nginx und die Fähigkeit, gleichzeitig eine große Anzahl von Verbindungen herzustellen.


    # NGINX vs Apache Fakten


    - Apache wurde zuerst im Jahr 1995 veröffentlicht, dann kam Nginx im Jahr 2004 und wurde entwickelt weil Apache an seine Grenzen stieß.

    - Beide werden von den größten Firmen in der Fortune 500 auf der ganzen Welt eingesetzt.

    - Der Marktanteil von Nginx wächst seit Jahren stetig.

    - In einigen Fällen hat Nginx einen Wettbewerbsvorteil in Bezug auf die Leistung.

    Halte ich für ein Gerücht. ;)

    NGINX performs 2.5 times faster than Apache according to a benchmark test performed by running up to 1,000 simultaneous connections. Another benchmark running with 512 simultaneous connections, showed that NGINX is about twice as fast and consumed less memory.


    Stand 07.01.2021


    Bevor man sich die Frage stellt, ob man nginx oder Apache2 wählt muss man wissen, was man möchte, nginx behandelt simultane Verbindungen in einem Prozess, dagegen startet Apache2 für jede Verbindung eigene Prozesse. Dieses wirkt sich auf die Stabilität des Systems aus und die Geschwindigkeit des Dienstes. Man sollte immer nur das verwenden und installieren, was man auch benötigt, nginx ist ein Leichtgewicht was sehr einfach zu installieren ist und Domains, Subdomains lassen sich mit einer einzigen config Datei beliebig anpassen. Apache2 enthält natürlich mehr Funktionen, Erweiterungen und Unterstützungen für andere Dienste daher ist es ein Schwergewicht. Jedoch benötigt man nicht alles von Apache2, und jeder der sich Gedanken macht, was er eigentlich benötigt trifft dem entsprechend dann seine Wahl. Ich selber fing mit Apache2 an und dann schön mit Froxlor und dann Copy Past, aber wenn man mal anfängt selbst nur das zu installieren und zu konfigurieren, was man tatsächlich benötigt ist das Endergebnis sehr besser und sauberer. Am Ende merkt man auch das es wesentlich einfacher ist alles selber zu Konfigurieren, als auf fertig Panels zuzugreifen wie Froxlor.

    # Domains / Subdomains anlegen


    Anmerkung: wir erstellen eine config für die domain / subdomain im nginx ordner und setzen den server_name, log path und wo die webseite liegt (root), ich benutze als beispiel zb. einen ordner in /home der so heisst wie die domain selber. Man kann noch die Error pages definieren und die php version die man verwenden will (8.0/7.4 am ende wenn man SSL möchte lasse ich noch ein SSL cert generieren und certbot schmeisst die SSL settings auch selbst in die config.



    ----------------------------------------------------------------------------------------------------


    Den Part mit fail2ban habe ich ausgelassen, du kannst fail2ban einstellen das fail2ban mit nftables harmoniert, sprich, alles was in fail2ban landet kannste dann per firewall auch blocken automatisch blocken. Sprich da ist ein Bruteforce attack und fail2ban blockt mit nftables die ip adressen.


    Dazu kannst du wenn du das ganze weiter ausbauen möchtest dir bash datein bauen wodrüber du nginx steuerst, also start stop restart, domains anlegen + php version und das kannst du wiederrum auch erweitern mit ssh2 über php exec so das du dein eigenes interface bauen kannst wodrüber du die bash datei ansteuerst, sprich ein eigenes interface was über die bash file domains löscht / anlegt usw usw usw.


    Das ganze ist erweiterbar bis hin zum eigenen web interface :-D


    ----------------------------------------------------------------------------------------------------


    Entschuldigung für das ignorieren von schreibfehler, aber so in etwa kann seine installation und betrieb mit nginx aussehen, dann sollte man noch pure-ftp als ftp server benutzen und dann kommt noch der mailserver (postfix/dovecot) dazu. ICH EMPFEHLE bei dem FTP und Mailserver gedöns die methode mit mysql virtual users, sprich man legt die FTP und Mailserver benutzer in einer MYSQL Tabelle an ohne jegliche benutzer im system hinzuzufügen.



    Ich hoffe ich konnte dir etwas helfen und nicht vergessen alles immer schön abzusichern mit nftables + fail2ban und mindestens immer 16 stellige passwörter benutzen oder höher :-)

    Guten Morgen, Ich gehe davon aus das du deinen Server gesichert hast, den SSH Port geändert, du hast nftables installiert und alle eingehenden Ports auf "drop" gesetzt und nur diese zugelassen die du benutzt wie zb, http, https, smtp, pop3/imaps, ftp, ggfs. mysql (bei external usage). Das sieht in etwa so aus bei Debian 10/11

    # nftables Installation

    Anmerkung: Natürlich musst du noch die bereiche wie zb. SSH / FTP / Mailserver zugänge gegen Bruteforce attacken sichern, dazu benutze fail2ban. Kommen wir zu deiner zu deiner Frage wie es bei nginx aussieht, zur kurzen erklärung nginx ist weit aus besser wie Apache2, nginx verarbeitet mehrere gleiche verbindungen gleichzeitig und ist Ressourcen mässig leichter als Apache2. Mehr dazu kannst du aber im Internet nachschauen.


    # nginx Installation



    # Let's Encrypt Installation


    Code
    1. > apt-get update
    2. > apt-get install certbot
    3. > apt-get install python3-certbot-nginx
    4. > crontab -e
    5. # nginx Certbot
    6. 5 00 * * * /usr/bin/certbot renew --quiet

    Anmerkung: nginx unterstützt certbot, also certbot bearbeitet die configs der domain dann selber und setzt die einträge.



    # PHP 8.0 Installation

    Anmerkung: PHP 8.0 ist derzeit noch in der Alpha oder Beta, viele benutzen noch PHP 7.4 jedoch kannst du PHP 8.0 und PHP 7.4 installieren und die PHP version später in der domain config festlegen in nginx.



    # PHP 7.4 Installation

    Code
    1. > apt-get install php7.4-fpm
    2. > apt-get install php7.4-{ssh2,gmp,xmlrpc,gd,xml,cli,soap,imap,mysql,cli,common,snmp,ldap,curl,mbstring,zip,gd,intl,mbstring,bcmath,opcache,readline,xml,xsl,bz2}
    3. > nano /etc/php/7.4/fpm/php.ini
    4. memory_limit = 256
    5. post_max_size = 512M
    6. upload_max_filesize = 512M
    7. > systemctl enable php7.4-fpm
    8. > systemctl start php7.4-fpm

    Anmerkung: PHP 7.4 wird aktuell noch von allen benutzt da es mehr kompatibilität hat als 8.0



    # MySQL (mariadb) Installation

    Code
    1. > apt install mariadb-server
    2. > mysql_secure_installation
    3. > mysql
    4. MYSQL: GRANT ALL ON *.* TO 'DEIN-NEUER-BENUTZERNAME'@'localhost' IDENTIFIED BY 'DEIN-PASSWORT-IN-PLAINTEXT' WITH GRANT OPTION;
    5. MYSQL: FLUSH PRIVILEGES;
    6. MYSQL: exit

    Anmerkung: MariaDB ist mehr "leichter" als MysqlD Server oder wie das heisst, daher verwenden sehr viele mariadb. wir führen die secure_installation aus und setzen zb. ein neues Root passwort, verbieten root zugang (nur local über ssh2) und legen einene neuen benutzer an wodrüber du später über PHPmyadmin als (admin) deine sachen verwaltest. Natürlich benutzen wir nur locale verbindungen, ist es notwendig external usage zu verwenden musst du den port in nftables freigeben und in fail2ban sichern (in fail2ban musst du dann mysql sichern + phpmyadmin)



    # phpMyAdmin Installation

    Anmerkung: Phpmyadmin wird installiert, wird mit ls (symlink) auf /home/phpmyadmin versetzt, es wird eine mysq.conf in nginx angelegt wo das rote deine domain ist und das blaue deine subdomain. Wie zb. mysql.yourdomain.de, das grüne "php8.0" ist die php version die du verwenden willst, dort kannste auch 7.4 eintragen wenn du 7.4 nutzen willst. Danach erfolgt der befehl für certbot um die subdomain für phpmyadmin SSL zu verpassen, dabei muss die subdomain auf die ip adresse deines servers schauen. certbot legt nun eigenständig das SSL certificat an und bearbeitet die mysql.conf im nginx ordner automatisch und setzt die einträge. Danach bearbeiten wir noch schnell die config.inc.php von phpmyadmin und setzen das blowfish password was ein 26 stelliger zahlencode ist der zufällig generiert wird (passwort generatoren im internet) mit groß klein buchstaben so wie zahlen. dann bearbeiten wir noch die config.default.php von phpmyadmin um "logging" zu aktivieren und setzen den path zur log datei damit fail2ban ips sperren kann die fehl-logins verursachen. Jetzt gehen wir noch in die jail.local von fail2ban und aktivieren den filter auf phpmyadmin. Jetzt erstellen wir noch die filter action in fail2ban und legen diue datei an phpmyadmin.conf und schmeissen da den regex code rein damit er auch die fehl-logins erkennt in der log datei und restarten fail2ban.

    Die Vorschläge sind super, ich war diese Woche nicht untätig und habe mich durch geboxt durch gewisse Anleitungen. Ich habe mich zuerst mit openssl beschäftigt jedoch dann umgeschwenkt auf let's encrypt. Ich betreibe ja auf meinem Root als Haupt Oberfläche froxlor zur Verwaltung von apache2, MySQL, postfix und dovecot. Letzte Woche hatte ich ja wie im ersten Beitrag mein System aufgesetzt und zum laufen gebracht. Diese Woche habe ich alle Einstellungen bezüglich Verschlüsselung gesetzt. Alle Domains und subdomains sind nun über ssl let's encrypt verschlüsselt. Die automatische Erneuerung der zertifikate läuft per crontab 1x im Monat ab wobei ich eher für alle 2 Wochen tendiere. Ich habe im apache2 auch das rewite aktiviert so das ein https erzwungen wird. Alles funktioniert super nach dem anlegen von "Kunden" (für meine Familie zb.) generiert froxlor automatisch ein Zertifikat den crontab dafür habe ich jedoch von 5minuten auf 15 erhöht wegen dem Limit den es gibt pro Stunde. Als nächstes war der Email Server dann nun läuft der SMTP über postfix ebenfalls im ssl Modus und alles wird verschlüsselt so wie auch dovocot IMAP. Alles ist super und funktioniert die zertifikate für die Email Server werden ebenfalls erneuert automatisch wenn sie ablaufen.


    Jetzt habe ich einen Port scan gemacht um zu schauen was an ports offen ist und es sind halt die Standart ports offen für ssh, ftp, IMAP, SMTP, 143 ssl, 80 apache, pop3 und pop3s.


    Ich würde gerne den pop3 pop3s deaktivieren finde jedoch die Einstellung nicht hat hier jemand einen tip? Der Dienst läuft über dovocot und ich nutze nur IMAP.


    Fail2ban habe ich auf die Dienste nun ausgeweitet die dazu gekommen sind seit der letzten Woche. Jemand schrieb hier etwas wegen einer Firewall. UFW ist installiert habe es auch einmal kurz getestet und nur für ssh offen gelassen, funktionierte super. Ich werde als nächstes schauen wie man UFW richtig einstellt.


    Ich habe eine Frage, es gibt ja auch ddos Attacken oder andere Angriffe wo Daten an den root gesendet werden können. Wie blockiert ihr so etwas? Ich habe mich damit noch nicht beschäftigt das was ich die letzten 2 Wochen gelernt habe reichte mir erstmal und ich habe bestimmt 100 graue Haare mehr 😜.

    Ich würde dir grundsätzlich empfehlen, die Benachrichtigungen von Fail2Ban auszumachen, nach einigen Stunden gingen die mir auf den Geist:P


    SSH nur via Keys erlauben wäre eine gute Idee;)

    Die Benachrichtigung gehen auf eine externe Email außerhalb des roots und werden gespeichert. Die Idee davon ist im Fall der Fälle wenn es zu spät ist und 'xyz' hat Zugriff bekommen durch mehrere Versuche und den Root gekarpert und dann alles löscht liegen diese Benachrichtigungen noch sicher auf einen externen Server. Die logs kann man ja immer löschen und dann mit der IP vom root Amok laufen. Ssh nur über den key wäre auch eine Möglichkeit. Theoretisch könnte ich auch den ssh Zugang auf den host meines Internet Anbieters setzen. Gibt es noch andere Angriffs Möglichkeiten?

    Guten Tag, ich bin noch recht ein neuling inbezug auf Root Server. Ich hatte davor ein Webhosting Packet mit Domains bei einem anderen Anbieter und 2 Gameserver. Um alles unter einem Hut zu haben habe ich mir einen Root zugelegt.


    Angefangen hatte ich mit einer fertig Image Debian Jessy plus Froxlor. Die erste Einrichtung lief super nur das alles sehr veraltet war. (php5 u. froxlor). MySQL hatte ich für externe Zugriffe möglich gemacht. Und die Passwörter waren die Standart Passwörter aus der fertig Image. Nachdem alles eingerichtet war so wie auch der Domain Umzug und DNS Einstellungen bemerkte ich im /var/log in der ssh log unbekannte Zugriffs versuche von IPs die nicht von mir sind so wie auch in der Mail.log und machte mir etwas Sorgen um die Sicherheit mit dem was ich mache. Kurz und knapp habe ich mich im Internet durchgelesen wie man einen Root sichert und damit besser umgehen tut.


    Ich habe den root mit minimal installation neu aufgesetzt 'Debian Stretch' das root passwort geändert auf 32stellig mit Sonderzeichen so wie groß und klein Buchstaben und Zahlen. Ich habe danach das OS auf dem neusten Stand gebracht so wie auch fail2ban installiert und konfiguriert sprich ab 3 Fehlersuche wird die IP für 1 Monat gebannt und ich werde per Email benachrichtigt. Die Überwachung läuft auf sshd. Danach habe ich php7 so wie apache2 proftp postfix MySQL installiert. MySQL läuft diesmal nur local ohne externe Zugriffe. MySQL Dienst natürlich auch auf 32stelliges passwort ein anderes wie für ssh root Zugang. Danach habe ich froxlor die neuste Version installiert und alle Dienste eingestellt. Phpmyadmin wurde ebenfalls als letztes installiert und eingestellt. Zum Schluss habe ich einen zweiten ssh angelegt ebenfalls 32stellig und den regulären Root per extern login unterbunden. Sprich ich logge mich über den anderen User ein und Wechsel dann zum Root user somit ist der reguläre root blockiert. Fail2ban läuft nach Tests super und hat auch die 4 Angreifer schon in der block liste seit dem sind die Zugriffe nicht mehr in den logs und die logs sind sauber.


    Fail2ban überwacht alle aktiven Dienste ich selbst hatte mich auch schon 3x ausgesperrt 😜 alternativ könnte ich noch den ssh Port ändern. Meine 2 gameserver laufen nun auch über ein Start Script und der crontab prüft jede 3 Minuten ok die Gameserver laufen, natürlich nicht als root. CPU ist bei 20% wenn beide Server voll sind und RAM unter 1.5Gb used.


    Im Nachhinein bin ich froh das ich von der fertig image zur eigenen Installation gewechselt bin auch was die Sicherheit betrifft. Nun aber meine Frage gibt es noch möglichkeiten eines Angriffes oder Sicherheits Empfehlungen die ich vergessen habe oder ausgelassen habe? Oder bin ich trotz der Vorkehrungen auch ein Fall der keinen root haben sollte so wie ich es hier ab und zu lese? Wie gesagt ist das erste Mal das ich mich mit dieser Materie auseinandersetze.