Konfigurasi Teler Real-time HTTP Intrusion Detection
Install dan Konfigurasi teler Real-time HTTP Intrusion Detection. Oke kali ini saya akan sharing sedikit mengenai cara install dan konfigurasi teler untuk mendeteksi threat dengan cara menganalisa log HTTP pada server.
sudo su
cd /opt
git clone https://github.com/kitabisa/telercd telermake buildmv ./bin/teler /usr/local/bin
sudo nano /opt/teler/linuxsec.yaml
log_format: | $remote_addr - $remote_user - [$time_local] - [$geoip_city_country_name] [$host] "$request_method $request_uri $request_protocol" $status $body_bytes_sent "$http_referer" "$http_user_agent" [$request_body] rules: threat: excludes: - "Bad IP Address" notifications: telegram: token: "teelgram token disini" chat_id: "chat id disini" alert: active: true provider: "telegram" rules: threat: whitelists: - "/favicon.ico" - "/robots.txt"
tail -f /var/log/nginx/*-access.log | /usr/local/bin/teler -c /opt/teler/linuxsec.yaml
curl -A "teler testing" -I https://blog.linuxsec.org/.env
sudo nano /opt/teler/teler-exec.sh
#!/bin/bash tail -f /var/log/nginx/*-access.log | /usr/local/bin/teler -c /opt/teler/linuxsec.yaml
sudo nano /etc/systemd/system/teler-daemon.service
[Unit] Description=Teler Services After=network.target StartLimitIntervalSec=0 [Service] WorkingDirectory=/opt/teler ExecStart=/bin/bash teler-exec.sh Restart=always RuntimeMaxSec=3600 RestartSec=2 User=root [Install] WantedBy=multi-user.targetSelanjutnya aktifkan service teler-daemon:
sudo systemctl daemon-reload
sudo systemctl enable teler-daemon
sudo systemctl restart teler-daemon
Mengirim data ke Prometheus
teler juga mendukung metrics memanfaatkan Prometheus. Kita tambahkan baris berikut di konfigurasi teler untuk mengaktifkannya:
prometheus: active: true host: "127.0.0.1" port: 9099 endpoint: "/telermetrics"
Untuk memverifikasi apakah metrics sudah terkirim dengan benar, kalian bisa cek dengan perintah
curl localhost:9099/telermetrics
Jika Prometheus terinstall di host yang sama dengan teler, kita bisa langsung menambahkan metrics ini di Prometheus. Namun jika metrics ini akan dilempar ke Prometheus yang berada di server lain, kalian bisa me-masking nya menggunakan Nginx dengan menambahkan http auth disitu.
Contoh reverse proxy yang saya gunakan:
location /telermetrics { auth_basic "Login Area"; auth_basic_user_file /etc/nginx/auth/htpasswd; proxy_pass http://localhost:9099/telermetrics; 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; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_pass_request_headers on; proxy_redirect off; proxy_buffering off; proxy_request_buffering off; proxy_intercept_errors on; }
- job_name: 'linuxsec-teler' scrape_interval: 5s honor_labels: true static_configs: - targets: ['metrics.linuxsec.org'] metrics_path: '/telermetrics' basic_auth: username: "httpuser" password: "httppassword"Jika semua konfigurasinya benar, seharusnya log dari teler sekarang sudah masuk ke Prometheus.
Posting Komentar untuk "Konfigurasi Teler Real-time HTTP Intrusion Detection"