Difference between revisions of "Cyber Security: thehive install step by step"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 72: | Line 72: | ||
Dengan paket DEB, layanan Cassandra dapat dimulai secara otomatis sebelum mengonfigurasinya: Hentikan, hapus data, dan mulai ulang setelah konfigurasi diperbarui: | Dengan paket DEB, layanan Cassandra dapat dimulai secara otomatis sebelum mengonfigurasinya: Hentikan, hapus data, dan mulai ulang setelah konfigurasi diperbarui: | ||
− | |||
sudo systemctl stop cassandra | sudo systemctl stop cassandra | ||
Line 169: | Line 168: | ||
Info | Info | ||
+ | * Indeks akan dibuat pada awal pertama TheHive. Butuh beberapa waktu untuk data dan file, indeks harus menjadi bagian dari kebijakan backup | ||
+ | * Indeks dapat dihapus dan dibuat kembali | ||
+ | * Opsi JVM khusus tambahkan file /etc/elasticsearch/jvm.options.d/jvm.options dengan baris berikut: | ||
− | |||
− | |||
− | |||
− | |||
-Dlog4j2.formatMsgNoLookups=true | -Dlog4j2.formatMsgNoLookups=true | ||
-Xms4g | -Xms4g | ||
-Xmx4g | -Xmx4g | ||
− | + | ||
+ | Ini dapat diperbarui sesuai dengan jumlah memori yang tersedia | ||
===Start service=== | ===Start service=== | ||
Line 184: | Line 183: | ||
sudo systemctl enable elasticsearch | sudo systemctl enable elasticsearch | ||
− | + | Hapus data yang ada sebelum memulai | |
− | + | Dengan paket DEB, layanan Elastis dapat dimulai secara otomatis sebelum mengonfigurasinya: Stop, hapus data, dan mulai ulang setelah konfigurasi diperbarui: | |
sudo systemctl stop elasticsearch | sudo systemctl stop elasticsearch | ||
sudo rm -rf /var/lib/elasticsearch/* | sudo rm -rf /var/lib/elasticsearch/* | ||
− | ==File storage | + | ==File storage== |
+ | |||
+ | For standalone production and test servers, we recommends using local filesystem. If you think about building a cluster with TheHive, you have several possible solutions: using NFS or S3 services | ||
− | + | Untuk standalone prodution dan server test, direkomendasikan penggunaan sistem file lokal. Jika Anda berpikir untuk membangun cluster dengan TheHive, Anda memiliki beberapa kemungkinan solusi: menggunakan layanan NFS atau S3 | |
− | Local Filesystem | + | ===Local Filesystem=== |
− | + | ||
− | + | Untuk menyimpan file di sistem file lokal, mulailah dengan memilih folder khusus (secara default /opt/thp/thehive/files): | |
sudo mkdir -p /opt/thp/thehive/files | sudo mkdir -p /opt/thp/thehive/files | ||
− | + | Path ini akan digunakan dalam konfigurasi TheHive. Kemudian, setelah menginstal TheHive, pastikan pengguna thehive memiliki path yang dipilih untuk menyimpan file: | |
− | |||
− | |||
chown -R thehive:thehive /opt/thp/thehive/files | chown -R thehive:thehive /opt/thp/thehive/files | ||
Line 210: | Line 209: | ||
==TheHive== | ==TheHive== | ||
− | + | Bagian ini berisi instruksi untuk menginstal TheHive dan kemudian mengkonfigurasinya. | |
− | === | + | ===Instalasi=== |
− | + | Semua paket dipublikasikan di repositori paket TheHive. TheHive mendukung paket Debian dan RPM serta paket biner (arsip zip). Semua paket ditandatangani menggunakan kunci GPG 562CBC1C. Fingerprint-nya adalah 0CD5 AC59 DE5C 5A8E 0EE1 3849 3D99 BB18 562C BC1C. | |
wget -O- https://archives.strangebee.com/keys/strangebee.gpg | sudo gpg --dearmor -o /usr/share/keyrings/strangebee-archive-keyring.gpg | wget -O- https://archives.strangebee.com/keys/strangebee.gpg | sudo gpg --dearmor -o /usr/share/keyrings/strangebee-archive-keyring.gpg | ||
Line 226: | Line 225: | ||
===Konfigurasi=== | ===Konfigurasi=== | ||
− | + | Konfigurasi yang disertakan dengan paket biner siap untuk instalasi mandiri, semuanya di server yang sama. | |
− | + | Dalam konteks ini, dan pada tahap ini, Anda mungkin perlu men-set parameter berikut sesuai: | |
/etc/thehive/application.conf | /etc/thehive/application.conf | ||
Line 238: | Line 237: | ||
[..] | [..] | ||
− | + | Konfigurasi berikut dibutuhkan untuk men-start TheHive dengan baik, | |
− | Secret key | + | * Konfigurasi Secret key |
− | Database | + | * Konfigurasi Database |
− | File storage | + | * Konfigurasi File storage |
− | ===Secret key | + | ===Konfigurasi Secret key=== |
− | + | Kunci rahasia dibuat dan disimpan secara otomatis oleh script instalasi paket di | |
+ | /etc/thehive/secret.conf | ||
− | ===Database & index | + | ===Database & index=== |
− | + | Secara default, TheHive akan di konfigurasi untuk connect ke Cassandra dan Elasticsearch database yang di instal secara lokal. | |
/etc/thehive/application.conf | /etc/thehive/application.conf | ||
Line 277: | Line 277: | ||
} | } | ||
− | ===File storage | + | ===File storage=== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Secara default, TheHive di konfigurasi untuk menyimpan file secara lokal di /opt/thp/thehive/files. Jika kita memilih untuk menyimpan file di filesystem local. Pastikan user thehive mempunyai ijin ke folder yang dituju, | |
chown -R thehive:thehive /opt/thp/thehive/files | chown -R thehive:thehive /opt/thp/thehive/files | ||
− | + | Nilai default file konfigurasi | |
/etc/thehive/application.conf | /etc/thehive/application.conf | ||
+ | |||
+ | Kira-kira sebagai berikut, | ||
# Attachment storage configuration | # Attachment storage configuration | ||
Line 302: | Line 297: | ||
} | } | ||
− | ===Cortex & MISP | + | ===Cortex & MISP=== |
− | + | Secara default, file konfigurasi yang disertakan dengan paket berisi baris berikut, mengaktifkan modul Cortex dan MISP. Jika Anda tidak menggunakan salah satunya, Anda dapat mengomentari baris terkait dan me-restart ulang service. | |
/etc/thehive/application.conf | /etc/thehive/application.conf | ||
Line 316: | Line 311: | ||
scalligraph.modules += org.thp.thehive.connector.misp.MispModule | scalligraph.modules += org.thp.thehive.connector.misp.MispModule | ||
− | ===Run | + | ===Run=== |
sudo systemctl start thehive | sudo systemctl start thehive | ||
sudo systemctl enable thehive | sudo systemctl enable thehive | ||
− | + | Mohon bersabar saat menjalankan pertama kali, biasanya akan memakan waktu agak lama. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Setelah start, kita dapat membuka browser dan connect ke http://YOUR_SERVER_ADDRESS:9000/. Username & password default adalah, | |
− | |||
− | + | admin@thehive.local:secret | |
− | + | Sebaiknya ubah default password. | |
− | |||
+ | ===Lisensi=== | ||
+ | Secara default, TheHive tidak menggunakan lisensi dan mengijinkan semua orang untuk mengakses aplikasi dengan 2 user dalam 1 organisasi. Untuk advance fitur sebaiknya memperoleh lisensi dari https://wwww.strangebee.com / contact@strangebee.com | ||
==Referensi== | ==Referensi== |
Latest revision as of 10:51, 11 July 2023
Panduan ini adalah panduan instalasi dan konfigurasi langkah demi langkah untuk menjalankan dan menjalankan instance TheHive.
Dependency
Beberapa program yang dibutuhkan sebelum menginstalasi thehive
sudo su apt update apt install wget gnupg apt-transport-https git ca-certificates ca-certificates-java curl \ software-properties-common python3-pip lsb_release
Java Virtual Machine
- Untuk alasan keamanan dan dukungan jangka panjang, kami mengharuskan penggunaan build Amazon Corretto (ini adalah OpenJDK yang dibuat dan dikemas oleh Amazon)
- Java versi 8 tidak lagi didukung
wget -qO- https://apt.corretto.aws/corretto.key | sudo gpg --dearmor -o /usr/share/keyrings/corretto.gpg
echo "deb [signed-by=/usr/share/keyrings/corretto.gpg] https://apt.corretto.aws stable main" | sudo tee -a /etc/apt/sources.list.d/corretto.sources.list
sudo apt update sudo apt install java-common java-11-amazon-corretto-jdk echo JAVA_HOME="/usr/lib/jvm/java-11-amazon-corretto" | sudo tee -a /etc/environment export JAVA_HOME="/usr/lib/jvm/java-11-amazon-corretto"
Apache Cassandra
Apache Cassandra adalah database yang scalable dan high availablity. TheHive mendukung Cassandra versi stabil terbaru 4.0.x.
Instalasi
Tambahkan Apache Repository
wget -qO - https://downloads.apache.org/cassandra/KEYS | sudo gpg --dearmor -o /usr/share/keyrings/cassandra-archive.gpg echo "deb [signed-by=/usr/share/keyrings/cassandra-archive.gpg] https://debian.cassandra.apache.org 40x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
Instal
sudo apt update sudo apt install cassandra
Default setting, data di simpan di /var/lib/cassandra
Konfigurasi
Konfigurasi Cassandra dilakukan dengan mengedit /etc/cassandra/cassandra.yaml file.
/etc/cassandra/cassandra.yaml # content from /etc/cassandra/cassandra.yaml [..] cluster_name: 'thp' listen_address: 'xx.xx.xx.xx' # address for nodes rpc_address: 'xx.xx.xx.xx' # address for clients seed_provider: - class_name: org.apache.cassandra.locator.SimpleSeedProvider parameters: # Ex: "<ip1>,<ip2>,<ip3>" - seeds: 'xx.xx.xx.xx' # self for the first node data_file_directories: - '/var/lib/cassandra/data' commitlog_directory: '/var/lib/cassandra/commitlog' saved_caches_directory: '/var/lib/cassandra/saved_caches' hints_directory: - '/var/lib/cassandra/hints' [..]
Start service
Start service
sudo systemctl start cassandra
Hapus data yang ada sebelum memulai
Dengan paket DEB, layanan Cassandra dapat dimulai secara otomatis sebelum mengonfigurasinya: Hentikan, hapus data, dan mulai ulang setelah konfigurasi diperbarui:
sudo systemctl stop cassandra sudo rm -rf /var/lib/cassandra/*
Secara default Cassandra listen pada 7000/tcp (inter-node), 9042/tcp (client).
Tambahan konfigurasi : disable tombstones (untuk standalone server ONLY)
Tindakan ini harus dilakukan setelah penginstalan dan awal pertama TheHive
Jika Anda memasang server mandiri, tombstones dapat disabled.
Cek nilai gc_grace_seconds
cqlsh -u cassandra <IP ADDRESS> -e "SELECT table_name,gc_grace_seconds FROM system_schema.tables WHERE keyspace_name='thehive'"
Catatan: default username/password Cassandra database: cassandra/cassandra
Hasilnya kira-kira sebagai berikut,
table_name | gc_grace_seconds -------------------------+------------------ edgestore | 864000 edgestore_lock_ | 864000 graphindex | 864000 graphindex_lock_ | 864000 janusgraph_ids | 864000 system_properties | 864000 system_properties_lock_ | 864000 systemlog | 864000 txlog | 864000
Disable dengan cara setting gc_grace_seconds ke 0. Gunakan perintah berikut,
for TABLE in edgestore edgestore_lock_ graphindex graphindex_lock_ janusgraph_ids system_properties system_properties_lock_ systemlog txlog do cqlsh -u cassandra -e "ALTER TABLE thehive.${TABLE} WITH gc_grace_seconds = 0;" done
Cek perubahan apakah sudah terjadi, jalankan perintah ini lagi,
cqlsh -u cassandra <IP ADDRESS> -e "SELECT table_name,gc_grace_seconds FROM system_schema.tables WHERE keyspace_name='thehive'"
Hasilnya kira-kira:
table_name | gc_grace_seconds -------------------------+------------------ edgestore | 0 edgestore_lock_ | 0 graphindex | 0 graphindex_lock_ | 0 janusgraph_ids | 0 system_properties | 0 system_properties_lock_ | 0 systemlog | 0 txlog | 0
Elasticsearch
TheHive membutuhkan Elasticsearch untuk manage data index. TheHive hanya mendukung Elasticsearch 7.x
Instalasi
Tambahkan Elasticsearch repository keys
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg sudo apt-get install apt-transport-https
Tambahkan DEB repository dari Elasticsearch
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
Install
sudo apt update sudo apt install elasticsearch
Konfigurasi
Edit
/etc/elasticsearch/elasticsearch.yml
Pastikan Elasticsearch konfigurasi menggandung kalimat ini,
http.host: 127.0.0.1 transport.host: 127.0.0.1 cluster.name: hive thread_pool.search.queue_size: 100000 path.logs: "/var/log/elasticsearch" path.data: "/var/lib/elasticsearch" xpack.security.enabled: false script.allowed_types: "inline,stored"
Info
- Indeks akan dibuat pada awal pertama TheHive. Butuh beberapa waktu untuk data dan file, indeks harus menjadi bagian dari kebijakan backup
- Indeks dapat dihapus dan dibuat kembali
- Opsi JVM khusus tambahkan file /etc/elasticsearch/jvm.options.d/jvm.options dengan baris berikut:
-Dlog4j2.formatMsgNoLookups=true -Xms4g -Xmx4g
Ini dapat diperbarui sesuai dengan jumlah memori yang tersedia
Start service
sudo systemctl start elasticsearch sudo systemctl enable elasticsearch
Hapus data yang ada sebelum memulai
Dengan paket DEB, layanan Elastis dapat dimulai secara otomatis sebelum mengonfigurasinya: Stop, hapus data, dan mulai ulang setelah konfigurasi diperbarui:
sudo systemctl stop elasticsearch sudo rm -rf /var/lib/elasticsearch/*
File storage
For standalone production and test servers, we recommends using local filesystem. If you think about building a cluster with TheHive, you have several possible solutions: using NFS or S3 services
Untuk standalone prodution dan server test, direkomendasikan penggunaan sistem file lokal. Jika Anda berpikir untuk membangun cluster dengan TheHive, Anda memiliki beberapa kemungkinan solusi: menggunakan layanan NFS atau S3
Local Filesystem
Untuk menyimpan file di sistem file lokal, mulailah dengan memilih folder khusus (secara default /opt/thp/thehive/files):
sudo mkdir -p /opt/thp/thehive/files
Path ini akan digunakan dalam konfigurasi TheHive. Kemudian, setelah menginstal TheHive, pastikan pengguna thehive memiliki path yang dipilih untuk menyimpan file:
chown -R thehive:thehive /opt/thp/thehive/files
TheHive
Bagian ini berisi instruksi untuk menginstal TheHive dan kemudian mengkonfigurasinya.
Instalasi
Semua paket dipublikasikan di repositori paket TheHive. TheHive mendukung paket Debian dan RPM serta paket biner (arsip zip). Semua paket ditandatangani menggunakan kunci GPG 562CBC1C. Fingerprint-nya adalah 0CD5 AC59 DE5C 5A8E 0EE1 3849 3D99 BB18 562C BC1C.
wget -O- https://archives.strangebee.com/keys/strangebee.gpg | sudo gpg --dearmor -o /usr/share/keyrings/strangebee-archive-keyring.gpg
Install TheHive menggunakan perintah berikut,
echo 'deb [signed-by=/usr/share/keyrings/strangebee-archive-keyring.gpg] https://deb.strangebee.com thehive-5.2 main' | sudo tee -a /etc/apt/sources.list.d/strangebee.list sudo apt-get update sudo apt-get install -y thehive
Konfigurasi
Konfigurasi yang disertakan dengan paket biner siap untuk instalasi mandiri, semuanya di server yang sama.
Dalam konteks ini, dan pada tahap ini, Anda mungkin perlu men-set parameter berikut sesuai:
/etc/thehive/application.conf
[..] # Service configuration application.baseUrl = "http://localhost:9000" # play.http.context = "/" # [..]
Konfigurasi berikut dibutuhkan untuk men-start TheHive dengan baik,
- Konfigurasi Secret key
- Konfigurasi Database
- Konfigurasi File storage
Konfigurasi Secret key
Kunci rahasia dibuat dan disimpan secara otomatis oleh script instalasi paket di
/etc/thehive/secret.conf
Database & index
Secara default, TheHive akan di konfigurasi untuk connect ke Cassandra dan Elasticsearch database yang di instal secara lokal.
/etc/thehive/application.conf
# Database and index configuration # By default, TheHive is configured to connect to local Cassandra 4.x and a # local Elasticsearch services without authentication. db.janusgraph { storage { backend = cql hostname = ["127.0.0.1"] # Cassandra authentication (if configured) # username = "thehive" # password = "password" cql { cluster-name = thp keyspace = thehive } } index.search { backend = elasticsearch hostname = ["127.0.0.1"] index-name = thehive } }
File storage
Secara default, TheHive di konfigurasi untuk menyimpan file secara lokal di /opt/thp/thehive/files. Jika kita memilih untuk menyimpan file di filesystem local. Pastikan user thehive mempunyai ijin ke folder yang dituju,
chown -R thehive:thehive /opt/thp/thehive/files
Nilai default file konfigurasi
/etc/thehive/application.conf
Kira-kira sebagai berikut,
# Attachment storage configuration # By default, TheHive is configured to store files locally in the folder. # The path can be updated and should belong to the user/group running thehive service. (by default: thehive:thehive) storage { provider = localfs localfs.location = /opt/thp/thehive/files }
Cortex & MISP
Secara default, file konfigurasi yang disertakan dengan paket berisi baris berikut, mengaktifkan modul Cortex dan MISP. Jika Anda tidak menggunakan salah satunya, Anda dapat mengomentari baris terkait dan me-restart ulang service.
/etc/thehive/application.conf
# Additional modules # # TheHive is strongly integrated with Cortex and MISP. # Both modules are enabled by default. If not used, each one can be disabled by # ommenting the configuration line. scalligraph.modules += org.thp.thehive.connector.cortex.CortexModule scalligraph.modules += org.thp.thehive.connector.misp.MispModule
Run
sudo systemctl start thehive sudo systemctl enable thehive
Mohon bersabar saat menjalankan pertama kali, biasanya akan memakan waktu agak lama.
Setelah start, kita dapat membuka browser dan connect ke http://YOUR_SERVER_ADDRESS:9000/. Username & password default adalah,
admin@thehive.local:secret
Sebaiknya ubah default password.
Lisensi
Secara default, TheHive tidak menggunakan lisensi dan mengijinkan semua orang untuk mengakses aplikasi dengan 2 user dalam 1 organisasi. Untuk advance fitur sebaiknya memperoleh lisensi dari https://wwww.strangebee.com / contact@strangebee.com