Ontwikkel een Bash- of PowerShell-script voor dynamische serveromgeving-audit
description
Maakt het mogelijk om automatisch een volledige en aangepaste overzicht van je serveromgeving te krijgen, wat helpt bij compliance, probleemoplossing en systeembeheer. Het is dynamischer en uitgebreider dan eenvoudige monitoringscripts, met opties voor gerichte focus en gedetailleerde rapportage.
prompt
Help me een Bash- of PowerShell-script te ontwikkelen dat mijn serveromgeving auditeert door details te verzamelen over geïnstalleerde software, configuratie-instellingen en actieve services. Pas het script aan v ...
try_prompt
generate_helper
disclaimerOnPageApi
tags
ai_answers
provider: openai
model: gpt-4.1-nano
Hier is een Bash-script dat jouw Ubuntu 20.04 server auditeert door informatie te verzamelen over geïnstalleerde pakketten en actieve services. Het script maakt een gedetailleerd rapport aan op /var/reports/server_audit.txt.
Let op: Voer het script uit met root- of sudo-rechten om volledige toegang te krijgen tot alle informatie.
```bash
#!/bin/bash
# Controleer of de rapportdirectory bestaat, zo niet maak deze aan
REPORT_DIR="/var/reports"
REPORT_FILE="$REPORT_DIR/server_audit.txt"
if [ ! -d "$REPORT_DIR" ]; then
mkdir -p "$REPORT_DIR"
fi
# Begin rapport
echo "Server Audit Rapport" > "$REPORT_FILE"
echo "Datum: $(date)" >> "$REPORT_FILE"
echo "----------------------------------------" >> "$REPORT_FILE"
# 1. Geïnstalleerde pakketten
echo "Geïnstalleerde pakketten:" >> "$REPORT_FILE"
dpkg-query -l | grep '^ii' | awk '{print $2, $3}' >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
# 2. Actieve services
echo "Actieve services:" >> "$REPORT_FILE"
systemctl list-units --type=service --state=active >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
# 3. Overige informatie (optioneel)
echo "Netwerkinterfaces:" >> "$REPORT_FILE"
ip addr show >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
echo "Open poorten:" >> "$REPORT_FILE"
ss -tuln >> "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
# Einde rapport
echo "Audit voltooid." >> "$REPORT_FILE"
```
Gebruik het script als volgt:
1. Sla het op als bijvoorbeeld `server_audit.sh`.
2. Maak het uitvoerbaar: `chmod +x server_audit.sh`.
3. Voer het uit met sudo: `sudo ./server_audit.sh`.
Het rapport wordt aangemaakt op `/var/reports/server_audit.txt`.
provider: deepseek
model: deepseek-chat
Hier is een Bash-script voor Ubuntu 20.04 dat een serveraudit uitvoert:
```bash
#!/bin/bash
# Server Audit Script voor Ubuntu 20.04
# Aangepast voor specifieke aandachtspunten: geïnstalleerde pakketten en actieve services
# Variabelen
REPORT_DIR="/var/reports"
REPORT_FILE="$REPORT_DIR/server_audit.txt"
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
# Controleer of script als root wordt uitgevoerd
if [ "$EUID" -ne 0 ]; then
echo "Dit script moet als root worden uitgevoerd. Gebruik: sudo $0"
exit 1
fi
# Maak rapportdirectory aan als deze niet bestaat
mkdir -p "$REPORT_DIR"
# Start rapportgeneratie
{
echo "=============================================="
echo "SERVER AUDIT RAPPORT - Ubuntu 20.04"
echo "Uitgevoerd op: $TIMESTAMP"
echo "=============================================="
echo ""
# 1. SYSTEEMINFORMATIE
echo "=== SYSTEEMINFORMATIE ==="
echo "Hostnaam: $(hostname)"
echo "Uptime: $(uptime)"
echo "Kernel versie: $(uname -r)"
echo "Besturingssysteem: $(lsb_release -d | cut -f2)"
echo ""
# 2. GEÏNSTALLEERDE PAKKETTEN (Specifiek aandachtspunt)
echo "=== GEÏNSTALLEERDE PAKKETTEN ==="
echo "Totaal aantal geïnstalleerde pakketten: $(dpkg -l | grep ^ii | wc -l)"
echo ""
echo "--- Handmatig geïnstalleerde pakketten ---"
apt-mark showmanual | head -50
echo ""
echo "--- Updates beschikbaar ---"
apt list --upgradable 2>/dev/null | head -20
echo ""
# 3. ACTIEVE SERVICES (Specifiek aandachtspunt)
echo "=== ACTIEVE SERVICES ==="
echo "--- Systemd services (actief) ---"
systemctl list-units --type=service --state=running --no-pager
echo ""
echo "--- Services die automatisch starten ---"
systemctl list-unit-files --type=service --state=enabled --no-pager
echo ""
# 4. NETWERKCONFIGURATIE
echo "=== NETWERKCONFIGURATIE ==="
echo "--- Netwerkinterfaces ---"
ip addr show
echo ""
echo "--- Open poorten ---"
netstat -tulpn | grep LISTEN
echo ""
# 5. SYSTEEMSTATISTIEKEN
echo "=== SYSTEEMSTATISTIEKEN ==="
echo "--- Geheugengebruik ---"
free -h
echo ""
echo "--- Schijfruimte ---"
df -h
echo ""
echo "--- CPU-informatie ---"
lscpu | grep -E "(CPU\(s\)|Model name|MHz)"
echo ""
# 6. BEVEILIGINGSINFORMATIE
echo "=== BEVEILIGINGSINFORMATIE ==="
echo "--- Firewall status ---"
ufw status verbose
echo ""
echo "--- Login geschiedenis (laatste 10) ---"
last -n 10
echo ""
# 7. CRON JOBS
echo "=== CRON JOBS ==="
echo "--- Systeem cron jobs ---"
ls /etc/cron.*/*
echo ""
echo "--- Gebruikers cron jobs ---"
for user in $(cut -f1 -d: /etc/passwd); do
crontab -l -u "$user" 2>/dev/null | grep -v "^#" | grep -v "^$" && echo "Gebruiker: $user"
done
echo ""
} > "$REPORT_FILE"
# Controleer of rapport succesvol is aangemaakt
if [ -f "$REPORT_FILE" ]; then
echo "Auditrapport succesvol gegenereerd: $REPORT_FILE"
echo "Bestandsgrootte: $(du -h "$REPORT_FILE" | cut -f1)"
else
echo "Fout bij het genereren van het auditrapport"
exit 1
fi
# Maak het rapport leesbaar voor andere gebruikers
chmod 644 "$REPORT_FILE"
echo "Audit voltooid. Bekijk het rapport voor gedetailleerde informatie."
```
## Specifieke aandachtspunten voor Ubuntu 20.04:
### Geïnstalleerde Pakketten:
- Toont handmatig geïnstalleerde pakketten (apt-mark showmanual)
- Laat zien welke updates beschikbaar zijn
- Geeft totaal aantal geïnstalleerde pakketten
### Actieve Services:
- Toont alle running services via systemctl
- Laat services zien die automatisch starten bij opstarten
- Gebruikt systemd (standaard voor Ubuntu 20.04)
## Installatie en gebruik:
1. **Script opslaan:**
```bash
sudo nano /usr/local/bin/server_audit.sh
```
2. **Uitvoerbaar maken:**
```bash
sudo chmod +x /usr/local/bin/server_audit.sh
```
3. **Uitvoeren:**
```bash
sudo /usr/local/bin/server_audit.sh
```
4. **Rapport bekijken:**
```bash
less /var/reports/server_audit.txt
```
## Aanvullende aanbevelingen:
- Voer het script regelmatig uit (bijv. via cron)
- Bewaar historische rapporten voor vergelijking
- Pas het script aan met extra checks specifiek voor jouw omgeving
- Overweeg gevoelige informatie te filteren voordat je rapporten deelt
Het script genereert een uitgebreid rapport met alle gevraagde informatie en is specifiek afgestemd op Ubuntu 20.04.