CentOS

Aus C3D2
Zur Navigation springen Zur Suche springen

Bei CentOS[1] handelt es sich um ein Linux-Derivat von Red Hat Enterprise Linux.

Installation des Basissystems

  • Raid (für den Fall der Fälle, der schneller kommt, als man denkt)
    • Raid1
  • ...

Absicherung des Zugangs

  1. weiteres Konto anlegen
    <source lang="bash">useradd <Kontenname></source>
  2. neues Konto privilegieren
    <source lang="bash">useradd -a -G [<Gruppenname>],[<weitere Gruppen>]</source> oder per <source lang="bash">gpasswd</source>
    • etwa durch Mitgliedschaft in der Gruppe wheel
  3. sudo testen
  4. ssh-Key lokal erstellen und auf Server hochladen
    1. lokal: <source lang="bash">ssh-keygen</source>
    2. auf dem Server: <source lang="bash">ssh-copy-id</source>
  5. ssh-Dämon in /etc/ssh/sshd_config umkonfigurieren
    1. kein Root-Login von außerhalb
      <source lang="bash">PermitRootLogin no</source>
    2. Port ändern (security by obscurity um DDos-Attaken zu einzuschränken)
      Port <Nr.> (machte mehr Ärger als es nutzte)
  6. ggf. Port auch in der Systemd-Konfig in /usr/lib/systemd/system/sshd.socket ändern (machte mehr Ärger als es nutzte)
    1. ListenStream=<Portnr.>
  7. sshd per systemctl reload sshd dazu bringen seine Konfig neueinzulesen
  8. Firewall auf neuen SSH-Port konfigurieren
    1. <source lang="bash">firewall-cmd --add-port 2345/tcp</source>
    2. <source lang="bash">firewall-cmd --add-port 2345/tcp --permanent</source>
    3. <source lang="bash">systemctl status firewalld</source>
  9. Login per ssh in einem weiteren Terminal testen
  10. der Bequemlichkeit wegen kann folgendes in die .ssh/config eingetragen und die Datei mit chmod 600 berechtigt werden:
    <source lang="bash">

Host <myserver> HostName <IP-Adresse> User <Kontoname> Port <Portnr.> </source>

Cockpit installieren und einrichten

  1. Installieren
    <source lang="bash">sudo yum install cockpit</source>
  2. Cockpit freischalten
    <source lang="bash">sudo systemctl enable --now cockpit.socket</source>
  3. Firewallport für Cockpit öffnen (falls nötig)
    <source lang="bash">sudo firewall-cmd --permanent --zone=public --add-service=cockpit</source>
    <source lang="bash">sudo firewall-cmd --reload</source>

HTTPS einrichten

https://wiki.centos.org/HowTos/Https
  1. OpenSSL oder LibreSSL installieren
    • ...
  2. Zertifikat erstellen und nach /etc/cockpit/ws-certs.d speichern
    • ...
  • Anzeigen der Cockpit-Zertifikat(e):
    <source lang="bash">sudo remotectl certificate</source>

Firewallport(s) freigeben, falls nötig

z.B. per iptables:

<source lang="bash">iptables -A INPUT -p tcp --dport 443 -j ACCEPT</source>
<source lang="bash">/sbin/service iptables save</source>
<source lang="bash">iptables -L -v</source>

Authentifizieren

  • per normalen Sys-Logindaten
  • oder mittels OAuth per Bearer auth-scheme

Erweiterungen

Naja, nach der Philosophie von Cockpit sollte es soetwas nicht geben und lediglich ein Webfrontend zur Bedienung der auf dem Rechner bereits installierten Software zur Verfügung gestellt werden.

Container zur Abschottung der einzelnen Dienste

Docker

Siehe auch
Docker

Mangels einfach nachvollziehbarer und sauberer Container wieder verworfen (mit etwas mehr Muse ist es bestimmt 'ne interessante Sache)

LXC

Siehe auch
LXC

Siehe auch