CentOS
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
- https://www.digitalocean.com/community/tutorials/initial-server-setup-with-centos-7
- https://wiki.centos.org/HowTos/Network/SecuringSSH
- weiteres Konto anlegen
- <source lang="bash">useradd <Kontenname></source>
- 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
- sudo testen
- ssh-Key lokal erstellen und auf Server hochladen
- lokal: <source lang="bash">ssh-keygen</source>
- auf dem Server: <source lang="bash">ssh-copy-id</source>
- ssh-Dämon in /etc/ssh/sshd_config umkonfigurieren
- kein Root-Login von außerhalb
- <source lang="bash">PermitRootLogin no</source>
- Port ändern (security by obscurity um DDos-Attaken zu einzuschränken)
- Port <Nr.> (machte mehr Ärger als es nutzte)
- kein Root-Login von außerhalb
- ggf. Port auch in der Systemd-Konfig in /usr/lib/systemd/system/sshd.socket ändern (machte mehr Ärger als es nutzte)
- ListenStream=<Portnr.>
- sshd per systemctl reload sshd dazu bringen seine Konfig neueinzulesen
- Firewall auf neuen SSH-Port konfigurieren
- <source lang="bash">firewall-cmd --add-port 2345/tcp</source>
- <source lang="bash">firewall-cmd --add-port 2345/tcp --permanent</source>
- <source lang="bash">systemctl status firewalld</source>
- Login per ssh in einem weiteren Terminal testen
- 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
- http://cockpit-project.org/running.html
- http://cockpit-project.org/guide/latest/guide.html
- läuft standardmäßig auf Port: 9090
- Installieren
- <source lang="bash">sudo yum install cockpit</source>
- Cockpit freischalten
- <source lang="bash">sudo systemctl enable --now cockpit.socket</source>
- 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>
- Port ggf. in SystemD ändern (im cockpit.socket file), nicht in der Cockpit-Konfig direkt
- Config befindet sich in /etc/cockpit/
HTTPS einrichten
- OpenSSL oder LibreSSL installieren
- ...
- 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.
- Performance Co-Pilot (kurz: PCP, http://cockpit-project.org/guide/latest/feature-pcp.html) zur Erweiterung der Monitoring-Funktionalität von Cockpit
- yum install cockpit-pcp
- (SOS Report zum Auslesen der Config und zur Diagnose, http://cockpit-project.org/guide/latest/feature-sosreport.html)
- (/var/tmp/sosreport-anet-20170222153029.tar.xz (Prüfsumme: 90826b932cb3dfeb123cca567b572389))
- (RPM OsTree klingt auch recht interessant (so eine Art Git fürs die Betriebssystemkonfig))
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