SafeLine (WAF) Setup / Kurulum

SafeLine

SafeLine Nedir? (detaylı incelemeye buradan ulaşabilirsiniz)

SafeLine, Chaitin tarafından geliştirilen açık kaynak kodlu bir Web Uygulama Güvenlik Duvarı (WAF) çözümüdür. Web uygulamalarınızı çeşitli siber saldırılara karşı korumak için tasarlanmıştır.

Temel Özellikler

– SQL Enjeksiyon Koruması: Veritabanı sorgularını manipüle etmeye yönelik saldırıları engeller
– XSS Koruması: Cross-site scripting saldırılarını önler
– DDoS Koruma: Dağıtık hizmet reddi saldırılarına karşı koruma sağlar
– Bot Yönetimi: Kötü amaçlı bot trafiğini filtreler
– API Güvenliği: API uç noktalarını korur
– Gerçek Zamanlı İzleme: Anlık güvenlik olaylarını takip eder

Kurulum Adımları

1. Sistem Gereksinimleri

– Linux işletim sistemi (Ubuntu/CentOS önerilir)
– Docker ve Docker Compose
– Minimum 2GB RAM
– 2 CPU çekirdeği

2. Docker ile Kurulum

bash
GitHub deposunu klonlayın

git clone https://github.com/chaitin/SafeLine.git

 

Proje dizinine gidin

cd SafeLine

 

Docker konteynerlerini başlatın

docker-compose up -d

 

3. Yapılandırma

Temel yapılandırma dosyası: config/safeline.yml

yaml

http:
port: 80
ssl_port: 443

security:
sql_injection: true
xss: true
bot_protection: true

 

4. Yönetim Paneline Erişim

Kurulum tamamlandıktan sonra yönetim paneline şu adresten ulaşabilirsiniz:

http://<sunucu-ip>:80/admin

Varsayılan giriş bilgileri:
– Kullanıcı Adı: admin
– Şifre: safeline123

Kullanım Senaryoları

1. Temel Koruma Kurallarını Etkinleştirme

bash
SQL enjeksiyon korumasını etkinleştirme

curl -X PUT http://localhost:80/api/v1/rules/sql_injection -H "Content-Type: application/json" -d '{"enabled": true}'

 

2. Özel Kural Ekleme

bash

curl -X POST http://localhost:80/api/v1/rules/custom -H "Content-Type: application/json" -d '{
"name": "block_admin_path",
"pattern": "/admin",
"action": "block",
"description": "Admin panel erişimini engelle"
}'

 

3. Saldırı Loglarını Görüntüleme

bash
curl http://localhost:80/api/v1/logs/attack

Gelişmiş Özellikler

1. Rate Limiting

yaml

config/safeline.yml
rate_limit:
enabled: true
requests_per_minute: 100
burst: 20

 

2. Özel Beyaz Liste

bash

curl -X POST http://localhost:80/api/v1/whitelist -H "Content-Type: application/json" -d '{
"ip": "192.168.1.100",
"description": "Güvenilen iç IP"
}'

 

3. API Güvenliği

yaml

config/safeline.yml
api_security:
enabled: true
openapi_spec: "/path/to/your/openapi.yaml"

 

Sorun Giderme

1. Servis Başlatma Hatası

bash
Logları kontrol edin

docker logs safeline-core

 

Docker konteyner durumunu kontrol edin

docker ps -a

 

2. Performans Sorunları

bash
Kaynak kullanımını izleyin

docker stats

 

Kural optimizasyonu yapın

curl -X PUT http://localhost:80/api/v1/optimize

 

Güncelleme İşlemleri

bash
Proje dizinine gidin

cd SafeLine

 

Son sürümü çekin

git pull origin master

 

Konteynerleri yeniden başlatın
docker-compose down && docker-compose up -d

Güvenlik Önerileri

1. Varsayılan yönetici şifresini değiştirin
2. Düzenli olarak güncelleme yapın
3. Sadece gerekli portları açık bırakın
4. Kompleks kurallar için regex ifadelerini dikkatli kullanın

 

SafeLine, web uygulamalarınız için güçlü bir güvenlik katmanı sağlar. Bu rehberde öğrendiklerinizle temel kurulumu yapabilir ve temel güvenlik kurallarını uygulayabilirsiniz.

Daha fazla bilgi için [resmi GitHub deposunu](https://github.com/chaitin/SafeLine) ziyaret edebilirsiniz.