IT-Asset-Management - Ueberblick behalten
Wer nicht weiß was im Netz läuft kann es nicht absichern. IT-Asset-Management ist der erste Schritt zu einem kontrollierten IT-Betrieb.
Was ITAM ist
Systematische Erfassung, Verwaltung und Überwachung aller IT-Assets: Hardware, Software, Lizenzen, Cloud-Ressourcen.
Klingt nach Enterprise-Bürokratie. Ist aber auch für kleinere Umgebungen sinnvoll sobald mehr als fünf Server oder Lizenzen im Spiel sind.
Was erfasst werden sollte
- Hardware:
- Server (physisch und virtuell): Hostname, IP, OS, CPU, RAM, Disk
- Netzwerkgeräte: Switches, Router, Firewalls
- Endgeräte wenn verwaltet
- Software:
- Installierte Betriebssysteme mit Version und Supportende
- Laufende Dienste und ihre Versionen
- Abhängigkeiten (PHP-Version, MariaDB-Version)
- Lizenzen:
- Was ist proprietär, was Open Source?
- GPL-Code in eigenen Projekten? Copyleft-Pflichten?
- Welche SaaS-Dienste laufen, zu welchen Konditionen?
Einfache Inventur mit Shell
#!/bin/bash
# inventory.sh — läuft auf jedem Server per Cronjob
echo "=== $(hostname) $(date) ==="
echo "OS: $(lsb_release -d | cut -f2)"
echo "Kernel: $(uname -r)"
echo "Uptime: $(uptime -p)"
echo "IP: $(ip -4 addr show | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v 127)"
echo "CPU: $(nproc) cores, $(grep 'model name' /proc/cpuinfo | head -1 | cut -d: -f2 | xargs)"
echo "RAM: $(free -h | awk '/^Mem/{print $2}')"
echo "Disk: $(df -h / | awk 'NR==2{print $2 " total, " $3 " used"}')"
echo ""
echo "Services:"
systemctl list-units --type=service --state=running --no-legend | awk '{print " " $1}'
echo ""
echo "PHP: $(php -v 2>/dev/null | head -1)"
echo "Nginx: $(nginx -v 2>&1)"
echo "MariaDB: $(mysql --version 2>/dev/null)"
# Auf allen Servern ausführen
for srv in web01 web02 db01 backup01; do
ssh $srv 'bash -s' < inventory.sh
done > /var/reports/inventory-$(date +%Y%m%d).txt
EOL-Tracking
Das Wichtigste: wissen wann Support ausläuft.
PHP 8.1 → EOL 2025-12-31 PHP 8.2 → EOL 2026-12-31 Ubuntu 22.04 LTS → EOL 2027-04 MariaDB 10.11 LTS → EOL 2028-02
endoflife.date ist eine gute Quelle — kostenlos, maschinenlesbar per API.
curl -s "https://endoflife.date/api/php.json" | jq '.[] | select(.cycle == "8.1") | {eol, lts}'
Lizenzcompliance
GPL und LGPL haben Copyleft-Bedingungen: wenn man GPL-Code in eigenen Produkten verwendet muss der eigene Code unter GPL veröffentlicht werden (bei Distribution).
MIT, BSD, Apache 2.0: sehr permissiv, kein Copyleft.
# Alle Composer-Lizenzen auflisten composer licenses # npm npm list --json | jq '.. | .license? // empty' | sort | uniq -c | sort -rn
Wer Software kommerziell verkauft oder als SaaS betreibt sollte die Lizenzen der Abhängigkeiten kennen.