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. neuen Nutzer anlegen

  • useradd <Nutzername>

2. neuen Nutzer priviligieren

  • 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 4.1 local: ssh-keygen 4.2 auf dem Server: ssh-copy-id 5. ssh-Dämon in /etc/ssh/sshd_config umkonfigurieren 5.1 kein Root-Login von außerhalb

  • PermitRootLogin no

5.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) 6.1 ListenStream=<Portnr.> 7. sshd per systemctl reload sshd dazu bringen seine Konfig neueinzulesen 8. Firewall auf neuen SSH-Port konfigurieren 8.1 firewall-cmd --add-port 2345/tcp 8.2 firewall-cmd --add-port 2345/tcp --permanent 8.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 <Username> 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


Authentifikation

  • 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 den Docker-Artikel

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

LXC

siehe auch den LXC-Artikel


Siehe auch