CentOS

Aus C3D2
Wechseln zu: Navigation, Suche

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
    useradd <Kontenname>
    
  2. neues Konto privilegieren
    useradd -a -G [<Gruppenname>],[<weitere Gruppen>]
    
    oder per
    gpasswd
    
    • etwa durch Mitgliedschaft in der Gruppe wheel
  3. sudo testen
  4. ssh-Key lokal erstellen und auf Server hochladen
    1. lokal:
      ssh-keygen
      
    2. auf dem Server:
      ssh-copy-id
      
  5. ssh-Dämon in /etc/ssh/sshd_config umkonfigurieren
    1. kein Root-Login von außerhalb
      PermitRootLogin no
      
    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. firewall-cmd --add-port 2345/tcp
      
    2. firewall-cmd --add-port 2345/tcp --permanent
      
    3. systemctl status firewalld
      
  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:
    	Host <myserver>
    	HostName <IP-Adresse>
    			User <Kontoname>
    			Port <Portnr.>
    

Cockpit installieren und einrichten

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

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):
    sudo remotectl certificate
    

Firewallport(s) freigeben, falls nötig

z.B. per iptables:

iptables -A INPUT -p tcp --dport 443 -j ACCEPT
/sbin/service iptables save
iptables -L -v

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