CentOS
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
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
- http://cockpit-project.org/running.html
- http://cockpit-project.org/guide/latest/guide.html
- läuft standardmäßig auf Port: 9090
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
- Port ggf. in SystemD ändern (im cockpit.socket file), nicht in der Cockpit-Konfig direkt
- Config befindet sich in /etc/cockpit/
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.
- Performance Co-Pilot (kurz: PCP, http://cockpit-project.org/guide/latest/feature-pcp.html) zur Erweiterung der Monitoring-Funktionalität von Cockpit
- yum install pcp-cockpit
- (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 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