5651 sayılı kanun gerekliliklerine uygun olarak logların hashlenip imzalanması ve bir NAS cihazına yedeklenmesi, hem yasal uyumluluk hem de verilerin uzun süreli güvenliği için kritik bir süreçtir. Bu makalede Wazuh’da toplanan logların otomatik olarak işlenip QNAP NAS’e aktarılması adım adım anlatılmaktadır.
/var/ossec/logs/alerts/
).OpenSSL genellikle çoğu Linux dağıtımında önceden yüklüdür. Yüklü değilse aşağıdaki komutla yükleyebilirsiniz:
sudo apt update && sudo apt install openssl -y
Logları imzalamak için bir özel anahtar (private key) ve doğrulama için bir ortak anahtar (public key) gereklidir.
openssl genrsa -out privatekey.pem 2048
openssl rsa -in privatekey.pem -pubout -out publickey.pem
sudo mkdir -p /etc/wazuh-keys
sudo mv /root/privatekey.pem /etc/wazuh-keys/
sudo mv /root/publickey.pem /etc/wazuh-keys/
sudo chmod 600 /etc/wazuh-keys/privatekey.pem
sudo chmod 644 /etc/wazuh-keys/publickey.pem
Logları hashleyip imzalamak için bir Bash scripti oluşturun:
sudo nano /usr/local/bin/sign_wazuh_logs.sh
#!/bin/bash
LOG_DIR="/var/ossec/logs/alerts"
SIGNED_DIR="/var/log/signed_logs"
KEY_DIR="/etc/wazuh-keys"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
# İmzalanmış logları saklamak için dizin oluştur
mkdir -p $SIGNED_DIR
# Her bir log dosyasını işleme al
for file in $LOG_DIR/*.log; do
BASENAME=$(basename $file)
SIGNATURE_FILE="$SIGNED_DIR/${BASENAME}_$TIMESTAMP.sig"
# Log dosyasını hashle ve imzala
openssl dgst -sha256 -sign $KEY_DIR/privatekey.pem -out $SIGNATURE_FILE $file
echo "Log file $file signed as $SIGNATURE_FILE"
done
sudo chmod +x /usr/local/bin/sign_wazuh_logs.sh
sudo mkdir -p /mnt/qnap_logs
sudo mount -t cifs //192.168.20.155/5651 /mnt/qnap_logs -o username=my_username,password=my_password
SMB paylaşımını sistem yeniden başlatıldığında otomatik bağlamak için fstab
dosyasına şu satırı ekleyin:
//192.168.20.155/5651 /mnt/qnap_logs cifs username=my_username,password=my_password,iocharset=utf8,vers=3.0 0 0
sudo nano /usr/local/bin/backup_to_qnap.sh
#!/bin/bash
SIGNED_DIR="/var/log/signed_logs"
QNAP_DIR="/mnt/qnap_logs"
# İmzalanmış logları QNAP NAS’e kopyala
rsync -av $SIGNED_DIR/ $QNAP_DIR/
echo "Logs backed up to QNAP NAS at $QNAP_DIR"
sudo chmod +x /usr/local/bin/backup_to_qnap.sh
sudo crontab -e
# Her gece 2’de logları imzala
0 2 * * * /usr/local/bin/sign_wazuh_logs.sh
# Her gece 3’te imzalı logları NAS’e yedekle
0 3 * * * /usr/local/bin/backup_to_qnap.sh
openssl dgst -sha256 -verify /etc/wazuh-keys/publickey.pem -signature /var/log/signed_logs/log-file.sig /var/ossec/logs/alerts/log-file.log
Eğer logların zaman damgası gerekliliği varsa, Türkiye’deki bir zaman damgası sağlayıcısından API ile zaman damgası eklemeyi düşünebilirsiniz. Örneğin, OpenTSA kullanılabilir.
Bu süreç sayesinde Wazuh loglarını:
5651 uyumluluğunu tam olarak sağlamak için zaman damgası sağlayıcılarından destek almayı ve imzalı logların saklanmasını düzenli olarak kontrol etmeyi unutmayın.
Batuhan
Elinize sağlık çok güzel içerik.