Anasayfa / Linux / Ubuntu Sunucu Üzerinde Graylog Kurulumu

Ubuntu Sunucu Üzerinde Graylog Kurulumu

Giriş

Günümüzde sistemlerin, uygulamaların ve ağ bileşenlerinin ürettiği logların merkezi olarak toplanması, analiz edilmesi ve gerektiğinde geriye dönük olarak incelenmesi kurumsal BT altyapıları için kritik bir gereksinimdir. Graylog, merkezi log yönetimi ve analizi konusunda açık kaynaklı, ölçeklenebilir ve güçlü bir çözüm sunar.

Bu yazıda, Ubuntu 22.04 LTS işletim sistemi üzerinde Graylog kurulumunun kurumsal bir bakış açısıyla, adım adım nasıl gerçekleştirileceği anlatılmaktadır. Rehber, temel seviyede Linux bilgisine sahip sistem yöneticileri için hazırlanmıştır.


Mimari Bileşenler

Graylog, temel olarak aşağıdaki bileşenlerden oluşur:

  • OpenSearch: Log verilerinin indekslenmesi ve aranması için kullanılır.
  • MongoDB: Graylog yapılandırmalarını ve metadata bilgilerini tutar.
  • Graylog Server: Logların alındığı, işlendiği ve arayüz üzerinden sunulduğu ana bileşendir.

Bu rehberde tüm bileşenler tek bir sunucu üzerinde kurulacaktır. Üretim ortamlarında bileşenlerin ayrıştırılması önerilir.


Ön Gereksinimler

  • Ubuntu 22.04 LTS (temiz kurulum önerilir)
  • En az 4 GB RAM (8 GB önerilir)
  • En az 2 vCPU
  • Root veya sudo yetkisi
  • Sunucu saatinin doğru ayarlanmış olması

Sistemi güncelleyerek başlayalım:

sudo apt update && sudo apt upgrade -y

Java Kurulumu

Graylog, Java tabanlı bir uygulamadır. Ubuntu 22.04 üzerinde OpenJDK 17 kullanılması önerilir.

sudo apt install -y openjdk-17-jre-headless

Java kurulumunu doğrulayalım:

java -version

MongoDB Kurulumu

Graylog için MongoDB 5.x veya 6.x sürümleri desteklenmektedir.

sudo apt install -y mongodb-org

Servisi başlatıp aktif edelim:

sudo systemctl enable mongod
sudo systemctl start mongod
sudo systemctl status mongod

OpenSearch Kurulumu

Graylog, Elasticsearch yerine artık OpenSearch kullanmaktadır.

OpenSearch Repository Ekleme

curl -fsSL https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor -o /usr/share/keyrings/opensearch-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring.gpg] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch.list

sudo apt update

OpenSearch Kurulumu

sudo apt install -y opensearch

OpenSearch Yapılandırması

/etc/opensearch/opensearch.yml dosyasını düzenleyin:

cluster.name: graylog
node.name: node-1
network.host: 0.0.0.0
discovery.type: single-node
plugins.security.disabled: true

Servisi başlatalım:

sudo systemctl enable opensearch
sudo systemctl start opensearch

Graylog Kurulumu

Graylog Repository Ekleme

wget https://packages.graylog2.org/repo/packages/graylog-5.2-repository_latest.deb
sudo dpkg -i graylog-5.2-repository_latest.deb
sudo apt update

Graylog Server Kurulumu

sudo apt install -y graylog-server

Graylog Yapılandırması

Admin Şifresi Oluşturma

echo -n 'GucluBirSifre' | sha256sum

Çıktıyı kopyalayın ve /etc/graylog/server/server.conf dosyasında ilgili alanlara ekleyin:

password_secret = RASTGELE_UZUN_BIR_SECRET
root_password_sha2 = OLUSTURULAN_SHA256_DEGERI
http_bind_address = 0.0.0.0:9000

Not: password_secret en az 64 karakter olmalıdır.

Graylog Servisini Başlatma

sudo systemctl enable graylog-server
sudo systemctl start graylog-server

Web Arayüzüne Erişim

Tarayıcı üzerinden aşağıdaki adres ile Graylog arayüzüne erişebilirsiniz:

http://SUNUCU_IP:9000

Varsayılan kullanıcı adı:

admin

Nginx Reverse Proxy ve SSL Yapılandırması

Kurumsal ortamlarda Graylog web arayüzünün doğrudan internete açılması önerilmez. Bunun yerine Nginx Reverse Proxy kullanılarak erişim kontrolü sağlanmalı ve SSL ile güvenli hale getirilmelidir.

Nginx Kurulumu

sudo apt install -y nginx

Servisin çalıştığını doğrulayın:

sudo systemctl status nginx

Nginx Reverse Proxy Konfigürasyonu

Graylog için yeni bir sanal host oluşturalım:

sudo nano /etc/nginx/sites-available/graylog
server {
    listen 80;
    server_name graylog.example.com;

    location / {
        proxy_pass http://127.0.0.1:9000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Konfigürasyonu aktif edelim:

sudo ln -s /etc/nginx/sites-available/graylog /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

SSL (Let’s Encrypt) Kurulumu

sudo apt install -y certbot python3-certbot-nginx

SSL sertifikasını oluşturalım:

sudo certbot --nginx -d graylog.example.com

Bu işlem sonrasında Nginx konfigürasyonu otomatik olarak HTTPS’e taşınacaktır.

Graylog HTTP Ayarları

Reverse proxy arkasında sorunsuz çalışması için /etc/graylog/server/server.conf dosyasında aşağıdaki ayarların olduğundan emin olun:

http_bind_address = 127.0.0.1:9000
http_publish_uri = https://graylog.example.com/

Değişikliklerden sonra Graylog servisini yeniden başlatın:

sudo systemctl restart graylog-server

Güvenlik ve Kurumsal Öneriler

  • Graylog web arayüzü mutlaka Nginx + SSL arkasında yayınlanmalıdır.
  • OpenSearch ve MongoDB servisleri dış ağa kapatılmalıdır.
  • Log retention politikaları belirlenmelidir.
  • Yetkilendirme ve rol bazlı erişim yapılandırılmalıdır.

Sonuç

Bu rehberde Ubuntu 22.04 LTS üzerinde Graylog kurulumunu kurumsal bir bakış açısıyla ele aldık. Doğru yapılandırılmış bir Graylog sistemi, log yönetimini merkezi hale getirerek operasyonel farkındalığı ve güvenliği önemli ölçüde artırır.

Üretim ortamları için yüksek erişilebilirlik (HA), yedekleme ve performans ayarlarının ayrıca planlanması önerilir.


Kaynaklar

Bu rehber hazırlanırken aşağıdaki resmi dokümantasyonlar ve kaynaklar referans alınmıştır:

  • Graylog Resmi Dokümantasyonu – Installation & Configuration
  • OpenSearch Resmi Dokümantasyonu
  • MongoDB Official Documentation
  • Ubuntu Server 22.04 LTS Official Documentation
  • Nginx Official Documentation
  • Let’s Encrypt & Certbot Documentation
Etiketlendi:

Cevap bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir