Breaking

Saturday, November 21, 2020

Teler - Deteksi Intrusi HTTP Real-time

 Kang IT


Teler - Deteksi Intrusi HTTP Real-time


teleradalah deteksi intrusi waktu nyata dan peringatan ancaman berdasarkan log web yang berjalan di terminal dengan sumber daya yang kami kumpulkan dan sediakan oleh komunitas.




fitur

  • Waktu nyata : Analisis log dan identifikasi aktivitas yang mencurigakan secara waktu nyata.

  • Peringatan : teler memberikan peringatan ketika ancaman terdeteksi, pemberitahuan push termasuk Slack, Telegram dan Discord.

  • Pemantauan : Kami memiliki metrik kami sendiri jika Anda ingin memantau ancaman dengan mudah, dan kami menggunakan Prometheus untuk itu.

  • Sumber daya terbaru : Koleksi selalu diperbarui.

  • Konfigurasi minimal : Anda bisa menjalankannya pada file log Anda, menulis format log dan biarkan teler menganalisis log dan menunjukkan peringatan!

  • Format log fleksibel : teler memungkinkan string format log kustom! Itu semua tergantung pada bagaimana Anda menulis format log di file konfigurasi.

  • Pemrosesan log tambahan : Butuh persistensi data daripada aliran buffer ? teler memiliki kemampuan untuk memproses log secara bertahap melalui opsi persistensi di disk.


Mengapa teler?

teler dirancang untuk menjadi penganalisis ancaman berbasis terminal yang cepat. Ide intinya adalah menganalisis dan berburu ancaman dengan cepat dalam waktu nyata!


Instalasi

dari Binary

Pemasangannya mudah. Anda dapat mengunduh biner prebuilt dari halaman rilis , buka kemasan, dan jalankan! atau jalankan dengan:

▶ curl -sSfL 'https://ktbs.dev/get-teler.sh' | sh -s -- -b /usr/local/bin


menggunakan Docker

Tarik gambar Docker dengan menjalankan:

▶ docker pull kitabisa/teler


dari Sumber

Jika Anda memiliki kompiler go1.14 + yang diinstal dan dikonfigurasi:

▶ GO111MODULE=on go get -v -u ktbs.dev/teler/cmd/teler

Untuk memperbarui alat, Anda dapat menggunakan -ubendera dengan go getperintah.


dari GitHub

▶ git clone https://github.com/kitabisa/teler
▶ cd teler
▶ make build
▶ mv ./bin/teler /usr/local/bin


Pemakaian

Sederhananya, teler dapat dijalankan dengan:

▶ [buffers] | teler -c /path/to/config/teler.yaml
# or
▶ teler -i /path/to/access.log -c /path/to/config/teler.yaml

Jika Anda telah membangun teler dengan image Docker:

▶ [buffers] | docker run -i --rm -e TELER_CONFIG=/path/to/config/teler.yaml teler
# or
▶ docker run -i --rm -e TELER_CONFIG=/path/to/config/teler.yaml teler --input /path/to/access.log


Bendera

▶ teler -h

Ini akan menampilkan bantuan untuk alat tersebut.


 

Berikut semua sakelar yang didukungnya.

BenderaDeskripsiContoh
-c,
--config
file konfigurasi telerkubectl logs nginx | teler -c /path/to/config/teler.yaml
-i,
--input
Analisis log dari persistensi data daripada aliran bufferteler -i /var/log/nginx/access.log
-x,
--concurrent
Setel tingkat konkurensi untuk menganalisis log
(default: 20)
tail -f /var/log/nginx/access.log | teler -x 50
-o,
--output
Simpan ancaman yang terdeteksi ke fileteler -i /var/log/nginx/access.log -o /tmp/threats.log
--jsonTampilkan ancaman di terminal sebagai format JSONteler -i /var/log/nginx/access.log --json
--rm-cacheHapus semua sumber daya yang disimpan dalam cacheteler --rm-cache
-v,
--version
Tampilkan versi teler saat initeler -v


Config

The -cbendera adalah untuk menentukan teler file konfigurasi.

▶ tail -f /var/log/nginx/access.log | teler -c /path/to/config/teler.yaml

Ini diperlukan , tetapi jika Anda telah mendefinisikan TELER_CONFIGlingkungan Anda tidak perlu menggunakan tanda ini, misalnya:

▶ export TELER_CONFIG="/path/to/config/teler.yaml"
▶ tail -f /var/log/nginx/access.log | teler
# or
▶ tail -f /var/log/nginx/access.log | TELER_CONFIG="/path/to/config/teler.yaml" teler


Memasukkan

Perlu analisis log secara bertahap? Ini -ibendera berguna untuk itu.

▶ teler -i /var/log/nginx/access.log


Konkurensi

Concurrency adalah jumlah log yang dianalisis pada waktu yang sama. Nilai default yang disediakan teler adalah 20, Anda dapat mengubahnya dengan menggunakan -xflag.

▶ teler -i /var/log/nginx/access.log -x 50


Keluaran

Anda juga dapat menyimpan ancaman yang terdeteksi ke dalam file dengan -obendera.

▶ teler -i /var/log/nginx/access.log -o threats.log


Format JSON

Jika Anda ingin menampilkan ancaman yang terdeteksi sebagai format JSON, ganti dengan --jsonflag.

▶ teler -i /var/log/nginx/access.log --json

Harap dicatat ini juga akan berlaku jika Anda menyimpannya ke file dengan -obendera.


Hapus Cache

Ini akan menghapus semua sumber daya yang disimpan di direktori cache tingkat pengguna, lihat cache .

▶ teler --rm-cache


Konfigurasi

telermemerlukan konfigurasi minimum untuk memproses dan / atau analisis log, dan menjalankan ancaman dan / atau peringatan. Lihat teler.example.yaml sebagai contoh.


Format Log

Karena kami menggunakan gonxpaket untuk mengurai log, Anda dapat menulis format log apa pun. Sebagai contoh:


Apache

log_format: |
$remote_addr - $remote_user [$time_local] "$request_method $request_uri $request_protocol" $status $body_bytes_sent


Nginx

log_format: |
$remote_addr $remote_user - [$time_local] "$request_method $request_uri $request_protocol"
$status $body_bytes_sent "$http_referer" "$http_user_agent"


Nginx Ingress

log_format: |
$remote_addr - [$remote_addr] $remote_user - [$time_local]
"$request_method $request_uri $request_protocol" $status $body_bytes_sent
"$http_referer" "$http_user_agent" $request_length $request_time
[$proxy_upstream_name] $upstream_addr $upstream_response_length $upstream_response_time $upstream_status $req_id


Amazon S3

log_format: |
$bucket_owner $bucket [$time_local] $remote_addr $requester $req_id $operationration $key
"$request_method $request_uri $request_protocol" $status $error_code $body_bytes_sent -
$total_time - "$http_referer" "$http_user_agent" $version_id $host_id
$signature_version $cipher_suite $http_auth_type $http_host_header $tls_version


LB elastis

log_format: |
$time_local $elb_name $remote_addr $upstream_addr $request_processing_time
$upstream_processing_time $response_processing_time $status $upstream_status $body_received_bytes $body_bytes_sent
"$request_method $request_uri $request_protocol" "$http_user_agent" $cipher_suite $tls_version


CloudFront

log_format: |
$date $time $edge_location $body_bytes_sent $remote_addr
$request_method $http_host_header $requst_uri $status
$http_referer $http_user_agent $request_query $http_cookie $edge_type $req_id
$http_host_header $ssl_protocol $body_bytes_sent $response_processing_time $http_host_forwarded
$tls_version $cipher_suite $edge_result_type $request_protocol $fle_status $fle_encrypted_fields
$http_port $time_first_byte $edge_detail_result_type
$http_content_type $request_length $request_length_start $request_length_end


Ancaman menguasai

Cache

Secara default, telerakan mengambil sumber daya eksternal setiap kali Anda menjalankannya, tetapi Anda dapat mengalihkan sumber daya eksternal untuk disimpan dalam cache atau tidak.

rules:
cache: true

Jika Anda memilih untuk menyimpan sumber daya, itu disimpan di bawah direktori cache tingkat pengguna lintas platform dan akan diperbarui setiap hari, lihat sumber daya .


Tidak termasuk

Kami menyertakan sumber daya untuk ancaman yang telah ditentukan sebelumnya, termasuk:

  • Serangan Web Umum
  • Alamat IP Buruk
  • Perujuk Buruk
  • Crawler yang buruk
  • Direktori Bruteforce

Anda dapat menonaktifkan semua jenis ancaman dalam excludeskonfigurasi (peka huruf besar-kecil) .

rules:
threat:
excludes:
- "Bad IP Address"

Format di atas mendeteksi ancaman yang tidak termasuk sebagai alamat IP buruk, dan tidak akan menganalisis log / mengirim peringatan untuk jenis itu.


Daftar putih

Anda juga dapat menambahkan daftar putih ke konfigurasi teler.

rules:
threat:
whitelists:
- "(curl|Go-http-client|okhttp)/*"
- "^/wp-login\\.php"

Ini mencakup seluruh permintaan HTTP dan diproses sebagai regExp , harap tulis dengan hati-hati!


Pemberitahuan

Kami menyediakan opsi pemberitahuan peringatan:

  • Kendur,
  • Telegram
  • Perselisihan

Konfigurasikan peringatan pemberitahuan yang diperlukan pada:

notifications:
slack:
token: "xoxb-..."
color: "#ffd21a"
channel: "G30SPKI"

telegram:
token: "123456:ABC-DEF1234...-..."
chat_id: "-111000"

discord:
token: "NkWkawkawkawkawka.X0xo.n-kmZwA8aWAA"
color: "16312092"
channel: "700000000000000..."

Anda juga dapat memilih untuk menonaktifkan tanda atau ingin dikirim ke mana tanda itu berada.

alert:
active: true
provider: "slack"


Metrik

teler juga mendukung metrik menggunakan Prometheus.


Prometheus

Anda dapat mengkonfigurasi host, port, dan endpoint untuk menggunakan metrik Prometheus di file konfigurasi.

prometheus:
active: true
host: "localhost"
port: 9099
endpoint: "/metrics"

Berikut adalah semua metrik yang kami kumpulkan & kategorikan.

MetrikDeskripsi
teler_threats_count_totalJumlah total ancaman yang terdeteksi
teler_cwaDapatkan daftar Serangan Web Umum
teler_badcrawlerDapatkan daftar permintaan Bad Crawler
teler_dir_bruteforceDapatkan daftar Direktori Bruteforced
teler_bad_referrerDapatkan daftar permintaan Perujuk Buruk
teler_badip_countJumlah Total Alamat IP Buruk



Sumber daya

Semua sumber daya eksternal yang digunakan di teler ini TIDAK disediakan oleh kami. Lihat semua orang yang terlibat dalam sumber daya ini di Teler Resource Collections .





Regards

Kang IT

No comments:

Post a Comment