E-posta Sunucusu Log'larından Silinen Mesajları Geri Getirmek
E-posta sunucusu log'larında silinen mesajların izleri kalır. Dovecot ve Postfix gibi yaygın sunucularda, mesajlar hemen silinmez; önce log dosyalarına kaydedilir, ardından dosya sisteminde işaretlenir. Bu izleri takip ederek mesajları geri getirebilirsin.
İlk adım log dosyalarını incelemektir. Dovecot, silinen mesajları /var/log/dovecot.log veya /var/log/mail.log dosyasında kaydeder. Postfix ise /var/log/mail.log dosyasında SMTP işlemlerini tutar.
grep -i "expunge\|delete" /var/log/mail.log | grep "username@domain.com"Bu komut, belirli bir kullanıcının silme işlemlerini gösterir. Çıktı şöyle görünür:
Jan 15 14:32:10 mailserver dovecot: imap(user): Expunged message UID 1234 from INBOXUID (Unique Identifier) numarası önemlidir. Maildir formatında mesajlar /home/user/Maildir/.INBOX/cur/ klasöründe saklanır. Silinen dosyayı bulmak için UID'yi dosya adıyla eşleştir.
ls -la /home/user/Maildir/.INBOX/cur/ | grep "1234"Eğer dosya hala orada varsa, adını değiştirerek kurtarabilirsin:
mv /home/user/Maildir/.INBOX/cur/1234.* /home/user/Maildir/.INBOX/cur/1234.recoveredDosya tamamen silinmişse, extundelete veya photorec gibi dosya kurtarma araçlarını kullanman gerekir. Ancak bu yöntem disk yazma işlemlerinden sonra başarısız olabilir. Derhal sunucuyu oku-yaz modundan çıkar:
mount -o remount,ro /var/mailArdından kurtarma işlemini başlat:
extundelete --restore-all /dev/sda1Kurtarılan dosyalar RECOVERED_FILES/ klasöründe bulunur. Mesaj formatı RFC 2822 standardında olduğundan, metin editörü ile açıp içeriğini doğrulayabilirsin.
Log dosyalarından silme zamanını öğrendikten sonra, o tarihte alınan yedeklerden geri yükleme yapmak da pratiktir. Sunucu yöneticisi olarak, silinen mesajlerin en az 30 gün tutulacağı bir politika belirlemek uzun vadede sorunları önler.
0 yorum