CentOS 8 üzerine Graylog v3.2 Kurulum ve Yapılandırma
Merhabalar;
Bugün ki makalemde Graylog nedir? Ne işe yarar? Nasıl kurulur? Gibi sorularınızı yanıtlayabileceğiniz bir yazıyı sizlerle paylaşıyor olacağım.
Graylog, İsminden de anlaşılabileceği gibi loglama yazılımıdır. Linux işletim sistemi üzerinde kurulumu yapılarak gerek sistem loglarını, gerek firewall loglarını, gerek sunucuda çalışan herhangi bir yazılıma ait meydana gelen hataları, uyarıları ya da durumları loglayabileceğimiz açık kaynak kodlu bir yazılımdır.
Kurulum işlemleri tamamlanmış ve tüm güncellemeleri yapışmış olan CentOS 8 sunucumuza SSH ile bağlantı kuruyoruz.
1-SELinux, iptable ya da firewalld hangisi kullanılıyorsa gerekli ayarları tamamlıyoruz.
|
1 2 3 4 5 |
sudo yum -y install curl vim policycoreutils sudo setsebool -P httpd_can_network_connect 1 sudo semanage port -a -t http_port_t -p tcp 9000 sudo semanage port -a -t http_port_t -p tcp 9200 sudo semanage port -a -t mongod_port_t -p tcp 27017 |
Komutlarını girerek SELinux u yapılandırıyoruz. Dilerseniz direkt SELinux u aşağıdaki komutla devre dışı da bırakabilirsiniz
|
1 2 |
nano /etc/selinux/config -> Nano düzenleyiciyle açıyoruz SELINUX=enforcing -> satırını SELINUX=disabled olarak değiştiriyoruz |
iptable / firewalld tarafında da aşağıdaki gibi düzenleme yapabilirsiniz
|
1 2 3 4 5 |
sudo firewall-cmd --permanent --add-port=9000/tcp sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp sudo firewall-cmd --permanent --zone=public --add-port=12900/tcp sudo firewall-cmd --permanent --zone=public --add-port=1514/tcp firewall-cmd --reload |
2-Gerekli Depoları ekleyelim
|
1 |
sudo yum -y install epel-release |
MongoDB Deposu için;
|
1 2 3 4 5 6 7 8 |
sudo tee /etc/yum.repos.d/mongodb-org-4.0.repo <<EOF [mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc EOF |
Elasticsearch Deposu için;
|
1 2 3 4 5 6 7 8 9 10 |
sudo tee /etc/yum.repos.d/elasticsearch.repo <<EOF [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/oss-6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF |
3-JAVA, Elasticsearch, MongoDB ve PWGen yükleyelim,
|
1 2 |
sudo yum -y install java-1.8.0-openjdk-headless.x86_64 sudo yum -y install pwgen elasticsearch-oss mongodb-org |
MongoDB Servisini Başlatalım ve Aktif edelim
|
1 2 |
sudo systemctl enable --now mongod sudo systemctl status mongod |
4-Elasticsearch’ü Graylog için yapılandıralım
|
1 2 3 |
nano /etc/elasticsearch/elasticsearch.yml cluster.name: graylog action.auto_create_index: false -> Bu satırı ekliyoruz |
Elasticsearch’ü Aktif edip Servisini başlatalım
|
1 2 |
sudo systemctl daemon-reload sudo systemctl enable --now elasticsearch |
Servisin çalışıp çalışmadığını kontrol edelim
|
1 2 3 4 5 6 7 8 9 10 |
systemctl status elasticsearch ● elasticsearch.service - Elasticsearch Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled) Active: active (<strong>running</strong>) since Mon 2019-09-16 08:37:55 UTC; 1min 49s ago Docs: http://www.elastic.co Main PID: 18442 (java) CGroup: /system.slice/elasticsearch.service └─18442 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Des… Sep 16 08:37:55 cent701.novalocal systemd[1]: Started Elasticsearch. |
5-Graylog 3.2.2 ve ilgili eklentilerinin kurulumuna başlayalım
|
1 2 3 |
sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.2-repository_latest.rpm sudo yum -y install graylog-server graylog-enterprise-plugins graylog-integrations-plugins graylog-enterprise-integrations-plugins |
Kurulum işlemleri bittikten sonra Graylog sunucumuz için parola yapılandırmasını tamamlayalım,
|
1 2 |
pwgen -N 1 -s 96 vq3K34N2PoJODtjiDuLMACwF5tI578RDKKrJ12tUzuq5m7Ft2Oiv3EhI690m273ebJMOdbcSJ63zTQA102r1LT1JCN1c7HcN |
Yukarıdaki key’i config dosyasında “password_secret =” bölümüne gireceğiz.
|
1 |
echo -n yourpassword 1 sha256sum |
“yourpassword” bölümünde oluşturacağınız parolayı yazın ve sonrasında çıkacak olan HASH değerini kopyalayın
Örnek olarak;
echo -n admin 1 sha256sum
8c6976e5b5410415bde908bd4deel5dfb167a9c873fc4bb8a81f6f2ab448a918
Şeklinde HASH değeri çıkartıyor bunu kopyalıyorum ve config dosyamızda “root_password_sha2=” bölümüne gireceğiz
|
1 |
nano /etc/graylog/server/server.conf |
Yukarıda oluşturduğumuz “password_secret” ve “root_password_sha2” keylerimizi config dosyamızda ilgili satırlara ekliyoruz. Timezone bölümü default olarak UTC geliyor bunu Türkiye için değiştirmeniz gerekli aksi takdirde toplanan logların saati farklı UTC zamanına göre loglanır bu değişikliği buradan yapmamız gerekiyor.
config dosyasında “root_timezone” u değiştiriyoruz.
|
1 |
root_timezone = Asia/Kuwait |
olarak güncelliyorum.
Web arayüzden erişebilmemiz için http_bind_address i düzenliyorum.
|
1 |
http_bind_address = 0.0.0.0:9000 |
Gerekli değişiklikleri yaptıktan sonra nano dan çıkışı yapıp kaydediyoruz. Şimdi ise graylog servisini aktif edip başlatalım.
|
1 2 3 |
systemctl daemon-reload systemctl restart graylog-server systemctl enable graylog-server |
Bu işlemlerden sonra cihazımızı reboot ediyoruz ve açıldıktan sonra http://ipadresiniz:9000 üzerinden Graylog sunucumuza erişiyoruz. Açılan sayfada kullanıcı adı ve şifre bilgilerimizi giriyoruz.
Kullanıcı adı : admin
Şifre : admin
