Graylog Yedekleme Uygulaması

Yapılacak Uygulamanın Özet Adımları

  • Graylog üzerinde çalışan MongoDB ve Elasticsearch servislerin dışarı çıkartılması, sıkıştırılması, tarih ile damgalanması ve Elasticsearch servisinde tutulan indexli logların günlük olarak imzanlanması işlemleri anlatılacaktır.
  • Crontab ile betiklerin istenilen zamanda çalıştırılması

Elasticsearch servisinin yedeklenme işlemi yapılabilmesi için aşağıdaki araçların kurulması gerekmektedir.

#apt install npm

#npm install -g elasticsearch-tools

 

İmzalama İşlemi Hakkında

Kullanılan aracın fiyatlandırma adresi http://www.kamusm.gov.tr/urunler/zaman_damgasi/fiyatlandirma.jsp

Yedekleme işleminden sonra imzalama yapılırken http://www.kamusm.gov.tr/urunler/zaman_damgasi/ucretsiz_zaman_damgasi_istemci_yazilimi.jsp aracı kullanılmıştır.

İmzalama işlemi için, 2. Konsol Arayüz (Zamane KS) uygulaması indirilmelidir. İndirilen dosya /usr/local/sbin/ dizine altına atılmalıdır.

İmzalama işlemi yapılmak istenmiyorsa

    Yedekleri alınan logların imzalamak istemiyor veya başka araç ile devam etmek istiyorsanız, export_sh betiği içeresinden şu komutları kaldırmanız gereklidir.

cd $EXPORT_PATH
/usr/bin/java -jar /usr/local/sbin/tss-client-console-3.1.5.jar -Z $EXPORT_FILE_NAME.gz.hash http://zd.kamusm.gov.tr 80 19006 Şifre &
/usr/bin/java -jar /usr/local/sbin/tss-client-console-3.1.5.jar -K http://zd.kamusm.gov.tr 80 19006 Şifre >> kalan_kredi
cd -

Graylog Sunucusu Üzerinde Betikleri ve Gerekli Dizinleri Oluşturma

Betikler Neler Yapıyor ?

MongoDB betiği günlük olarak veritabanın dump işlemini yapar. İşlem sonucunda veritabanı dosyasını sıkıştırır.

Elasticsearch (export_sh) betiği bir önceki gün ile bugin arasında  bulunan indexlenen verileri dışarı aktarır. Aktarılan log değerleri sıkıştırılır. Hashları hesaplanır ve imzalama işlemi yapılır.

    Yapılan tüm işlemler /home/sgeuser yolu üzerinde gerçekleştirilmiştir. Betikler ve sorunsuz Crontab kullanımı için kullanıcının kendi dizini tercih edilmelidir. Kullanıcı dizini içeresinde Mongodb ve Elasticsearch dizinleri oluşturulmalı ve izinler verilmelidir.

 

Verilen betiğin çalışabilmesi için değişken değerleri değiştirilmelidir.

export.sh için

EXPORT_PATH=/home/sgeuser/elasticsearch

DEST=/home/sgeuser/mongodb_$DIR

Oluşturulan dizinlere ve betiklere izin verilmelidir.

#chmod 755 -R mongodb

#chmod 755 -R elasticsearch

 

 

 

Crontab Oluşturmak

 

Crontab Kullanımı Hakkında

Crontab kullanımı şu şekildedir. * * * * * /yol/çalıştırılacak betik

*(yıldız) işaretinin anlamları sırasıyla Dakika, Saat, Ayın günleri, Ay, Haftanın Günleri temsil etmektedir.

Yeni bir Cron(zamanlı görev) oluşturmak için aşağıdaki komut girilmelidir.

sgeuser@graylog:~$ crontab -e

   Crontab ilk açanlar için şekilde gelecektir.

no crontab for sgeuser – using an empty one

Select an editor. To change later, run ‘select-editor’.
1. /bin/nano <—- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed

Açılan ekranda yeni kullanıcılar için 1 seçeneği seçilmelidir.

crontab kullanımı

Satırlar sırasıyla dosya sonuna eklenir.

50 20 * * * /home/sgeuser/export_mongo.sh

52 20 * * * /home/sgeuser/export.sh

Her gün 20:50’de export_mongo.sh ve 20:52’de export.sh betiklerini çalıştırmak için Cron(zamanlı görev) oluşturulur.

Tübitak Bilgem Siber Güvenlik Enstitüsü’nden Necati Ersen Siseci  hocamın yardımlarına teşekkür ederim.

 

Gerekli betiğe ulaşmak için https://github.com/asim06/Graylog-Backup adresinden erişim sağlayabilirsiniz. Özgür yazılım ile güvende kalmanız dileğiyle . . .

 

 

 

 

 

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *