# Yapılandırma # Veritabanı ve Dizin Yapılandırması TheHive, verileri ve dizini yönetmek için Cassandra ve Elasticsearch veritabanlarını kullanır. Kuruluma göre, örnek kullanabilir: **Temel Yapılandırma** TheHive için tipik bir veritabanı yapılandırması şu şekildedir: ``` ## Database configuration db { provider = janusgraph janusgraph { ## Storage configuration storage { backend = cql hostname = ["IP_ADDRESS"] cql { cluster-name = thp keyspace = thehive } } ## Index configuration index.search { backend = elasticsearch hostname = ["127.0.0.1"] index-name = thehive } } } ``` **Mümkün parametrelerin listesi** Parametre Tipi Açıklama
ParametreTipi Açıklama
`provider`stringprovider adı. Varsayılan `janusgraph`
`storage`dictstorage configuration (deepolama yapılandırması)
`storage.backend`stringstorage type. Can be `cql` or `berkeleyje` (depolama türü.)
`storage.hostname`list of stringlist of IP addresses or hostnames when using `cql` backend (cql arka ucunu kullanırken IP adreslerinin veya ana bilgisayar adlarının listesi)
`storage.directory`stringlocal path for data when using `berkeleyje` backend (BerkeleyJE arka uç kullanıldığında veri için yerel yol.)
`storage.username`stringaccount username with `cql` backend if Cassandra auth is configured (Eğer Cassandra kimlik doğrulaması yapılandırılmışsa, cql arka uç ile hesap kullanıcı adı.)
`storage.password`stringaccount password with `cql` backend if Cassandra auth is configured (Cassandra kimlik doğrulaması yapılandırıldıysa, cql arka uç için hesap şifresi.)
`storage.port`integerport number with `cql` backend (`9042` by default). Change this if using an alternate port or a dedicated port number when using SSL with Cassandra (Cql arka uç ile bağlantı noktası numarası (varsayılan olarak 9042). Cassandra ile SSL kullanıyorsanız alternatif bir bağlantı noktası veya özel bir bağlantı noktası numarası kullanmak için bunu değiştirin.)
`storage.cql`dictconfiguration for `cql` backend *if used* (Kullanıldığında cql backend için yapılandırma.)
`storage.cql.cluster-name`stringname of the cluster name used in the configuration of Apache Cassandra
`storage.cql.keyspace`stringKeyspace name used to store TheHive data in Apache Cassandra
`storage.cql.ssl.enabled`boolean`false` by default. set it to `true` if SSL is used with Cassandra (Apache Cassandra yapılandırmasında kullanılan küme adı.)
`storage.cql.ssl.truststore.location`stringpath the the truststore. Specify it when using SSL with Cassandra (TheHive verilerini depolamak için Apache Cassandra'da kullanılan keyspace adı.)
`storage.cql.ssl.password`stringpassword to access the truststore (Güven deposuna erişmek için şifre)
`storage.cql.ssl.client-authentication-enabled`booleanEnables use of a client key to authenticate with Cassandra (Cassandra ile kimlik doğrulaması için bir istemci anahtarı kullanımını etkinleştirir.)
`storage.cql.ssl.keystore.location`stringpath the the keystore. Specify it when using SSL and client auth. with Cassandra (Keystore'un yolu. Cassandra ile SSL ve istemci kimlik doğrulaması kullanılırken belirtiniz.)
`storage.cql.ssl.keystore.keypassword`stringpassword to access the key in the keystore (Anahtara erişmek için şifre)
`storage.cql.ssl.truststore.storepassword`stringpassword the access the keystore (Keystore'a erişim için şifre)
`index.search`dictconfiguration for indexes (Dizinler için yapılandırma)
`index.search.backend`stringindex engine. Default: `lucene` provided with TheHive. Can also be `elasticsearch` (Dizin motoru. Varsayılan: TheHive ile sağlanan lucene. Ayrıca elasticsearch olabilir.)
`index.search.directory`stringpath to folder where indexes should be stored, when using `lucene` engine (Lucene motoru kullanıldığında dizinlerin depolanacağı klasörün yolu.)
`index.search.hostname`list of stringlist of IP addresses or hostnames when using `elasticsearch` engine (Elasticsearch motoru kullanıldığında IP adresleri veya ana bilgisayar adlarının listesi.)
`index.search.index-name`stringname of index, when using `elasticseach` engine (Elasticsearch motorunu kullandığınızda dizin adı.)
`index.search.elasticsearch.http.auth.type: basic`string`basic` is the only possible value (basic tek mümkün değerdir.)
`index.search.elasticsearch.http.auth.basic.username`stringUsername account on Elasticsearch (Elasticsearch'teki kullanıcı adı hesabı)
`index.search.elasticsearch.http.auth.basic.password`stringPassword of the account on Elasticsearch (Elasticsearch üzerindeki hesabın şifresi)
`index.search.elasticsearch.ssl.enabled`booleanEnable SSL `true/false`(SSL'yi etkinleştir true/false)
`index.search.elasticsearch.ssl.truststore.location`stringLocation of the truststore (Güven deposunun konumu)
`index.search.elasticsearch.ssl.truststore.password`stringPassword of the truststore (Güven deposunun şifresi)
`index.search.elasticsearch.ssl.keystore.location`stringLocation of the keystore for client authentication (İstemci kimlik doğrulaması için keystore'un konumu)
`index.search.elasticsearch.ssl.keystore.storepassword`stringPassword of the keystore (Keystore'un şifresi)
`index.search.elasticsearch.ssl.keystore.keypassword`stringPassword of the client certificate (İstemci sertifikasının şifresi)
`index.search.elasticsearch.ssl.disable-hostname-verification`booleanDisable SSL verification `true/false`(SSL doğrulamasını devre dışı bırak true/false)
`index.search.elasticsearch.ssl.allow-self-signed-certificates`booleanAllow self signe certificates `true/false` (Kendinden imzalı sertifikalara izin ver true/false)
**Not:** İlk başlatma veya dizinleri yapılandırdıktan sonraki ilk başlatma, veritabanı büyük miktarda veri içeriyorsa biraz zaman alabilir. Bu süre, dizinlerin oluşturulmasından kaynaklanır. **Kullanım durumları** Veritabanı ve dizin motoru, kullanım durumuna ve hedef kuruluma bağlı olarak farklı olabilir: Cassandra & Elasticsearch ile bağımsız sunucu :
1. Install a Cassandra server locally 2. Install Elasticsearch 3. Configure TheHive accordingly
``` ## Database Configuration db { provider = janusgraph janusgraph { ## Storage configuration storage { backend = cql hostname = ["127.0.0.1"] ## Cassandra authentication (if configured) username = "thehive_account" password = "cassandra_password" cql { cluster-name = thp keyspace = thehive } } ## Index configuration index.search { backend = elasticsearch hostname = ["127.0.0.1"] index-name = thehive } } ``` ``` ## Database Configuration db { provider = janusgraph janusgraph { ## Storage configuration storage { backend = cql hostname = ["127.0.0.1"] ## Cassandra authentication (if configured) username = "thehive_account" password = "cassandra_password" cql { cluster-name = thp keyspace = thehive } } ## Index configuration index.search { backend = elasticsearch hostname = ["127.0.0.1"] index-name = thehive } } ``` Cassandra ve Elasticsearch ile Küme:
1. 1. Install a cluster of Cassandra servers 2. Get access to an Elasticsearch server 3. Configure TheHive accordingly ``` ## Database Configuration db { provider = janusgraph janusgraph { ## Storage configuration storage { backend = cql hostname = ["10.1.2.1", "10.1.2.2", "10.1.2.3"] ## Cassandra authentication (if configured) username = "thehive_account" password = "cassandra_password" cql { cluster-name = thp keyspace = thehive } } ## Index configuration index { search { backend = elasticsearch hostname = ["10.1.2.5"] index-name = thehive elasticsearch { http { auth { type = basic basic { username = httpuser password = httppassword } } } ssl { enabled = true truststore { location = /path/to/your/truststore.jks password = truststorepwd } } } } } } } ```

Bu yapılandırmada, tüm TheHive simgerleri aynı yapılandırmaya sahip olmalıdır. Elasticsearch yapılandırması script.allowed\_types için varsayılan değeri kullanmalı veya aşağıdaki yapılandırma satırını içermelidir.

``` script.allowed_types: inline,stored ``` # Dosya Depolama Yapılandırması Dosya depolama yapılandırması# TheHive yerel veya dağıtılmış dosya sistemlerini kullanacak şekilde yapılandırılabilir. **Local veya NFS :**
Özel klasör oluşturun; thehive:thehive kullanıcı ve grubuna ait olmalıdır.
``` mkdir /opt/thp/thehive/files chown thehive:thehive /opt/thp/thehive/files ```
TheHive'ı uygun şekilde yapılandırın:
``` ## Ek depolama yapılandırması storage { ## Local filesystem provider: localfs localfs { location: /opt/thp/thehive/files } } ```
**Mın.IO:**
1. Min.IO kümesi yükleme 2. TheHive'ın her bir düğümünü uygun şekilde yapılandırın.
*/etc/thehive/application.conf with TheHive 5.0.x*
``` ## Attachment storage configuration storage { provider: s3 s3 { bucket = "thehive" readTimeout = 1 minute writeTimeout = 1 minute chunkSize = 1 MB endpoint = "http://:9100" accessKey = "thehive" secretKey = "password" region = "us-east-1" } } alpakka.s3.access-style = path ```
*/etc/thehive/application.conf with TheHive > 5.0*
``` storage { provider: s3 s3 { bucket = "thehive" readTimeout = 1 minute writeTimeout = 1 minute chunkSize = 1 MB endpoint = "http://:9100" accessKey = "thehive" aws.credentials.provider = "static" aws.credentials.secret-access-key = "password" access-style = path aws.region.provider = "static" aws.region.default-region = "us-east-1" } } ```
- Yapılandırma geriye dönük uyumludur - MinIO yapılandırmasında hiçbiri belirtilmemişse us-east-1 varsayılan bölgedir. Bu durumda, bu parametre isteğe bağlıdır.
# Bağlayıcılar Yapılandırması TheHive bağlayıcıları TheHive, Cortex ve MISP ile entegre olmak için bağlayıcılara sahiptir. Varsayılan olarak, bunlar */etc/thehive/application.conf* yapılandırma dosyasında etkindir. Eğer bunlardan birini veya her ikisini kullanmıyorsanız ilgili satırı yorumlayarak devre dışı bırakabilirsiniz: */etc/thehive/application.conf* ``` [..] scalligraph.modules += org.thp.thehive.connector.cortex.CortexModule # scalligraph.modules += org.thp.thehive.connector.misp.MispModule # ```

Yapılandırma dosyasının güncellenmesi için TheHive hizmetinin yeniden başlatılması gerekir.

# Akka Yapılandırması Akka, Java ve Scala için yüksek düzeyde eşzamanlı, dağıtılmış ve esnek mesaj odaklı uygulamalar oluşturmaya yönelik bir araç setidir \-- [https://akka.io/](https://akka.io/) Akka, TheHive'in birçok düğümünü bir araya getirerek ve sorunsuz bir kullanıcı deneyimi sunarak çalışmasını sağlamak için kullanılır. **Temel yapılandırma** İyi bir küme kurulumu, TheHive uygulamalarının en az 3 düğümünü gerektirir. Her düğüm için Akka şu şekilde yapılandırılmalıdır: ``` akka { cluster.enable = on actor { provider = cluster } remote.artery { canonical { hostname = "" port = 2551 } } # seed node list contains at least one active node cluster.seed-nodes = [ "akka://application@HOSTNAME1:2551", "akka://application@HOSTNAME2:2551", "akka://application@HOSTNAME3:2551" ] } ``` ile: *remote.artery.hostname* düğümün ana bilgisayar adını veya IP adresini içerir, akka düğümlerinin listesini içeren ve tüm düğümlerde aynı olan *cluster.seed-nodes*
Bir Kümenin 3 Düğümlü Yapılandırması:
Düğüm 1:
``` akka { cluster.enable = on actor { provider = cluster } remote.artery { canonical { hostname = "10.1.2.1" port = 2551 } } # seed node list contains at least one active node cluster.seed-nodes = [ "akka://application@10.1.2.1:2551", "akka://application@10.1.2.2:2551", "akka://application@10.1.2.3:2551" ] } ``` Düğüm 2: ``` akka { cluster.enable = on actor { provider = cluster } remote.artery { canonical { hostname = "10.1.2.2" port = 2551 } } # seed node list contains at least one active node cluster.seed-nodes = [ "akka://application@10.1.2.1:2551", "akka://application@10.1.2.2:2551", "akka://application@10.1.2.3:2551" ] } ``` Düğüm3: ``` akka { cluster.enable = on actor { provider = cluster } remote.artery { canonical { hostname = "10.1.2.3" port = 2551 } } # seed node list contains at least one active node cluster.seed-nodes = [ "akka://application@10.1.2.1:2551", "akka://application@10.1.2.2:2551", "akka://application@10.1.2.3:2551" ] } ``` **SSL/TLS desteği** Akka, düğümler arasındaki iletişimi şifrelemek için SSL/TLS'yi destekler. SSL desteği ile tipik bir yapılandırma : ``` akka { cluster.enable = on actor { provider = cluster } remote.artery { transport = tls-tcp canonical { hostname = "" port = 2551 } ssl.config-ssl-engine { key-store = "" trust-store = "" key-store-password = "chamgeme" key-password = "chamgeme" trust-store-password = "chamgeme" protocol = "TLSv1.2" } } # seed node list contains at least one active node cluster.seed-nodes = [ "akka://application@HOSTNAME1:2551", "akka://application@HOSTNAME2:2551", "akka://application@HOSTNAME3:2551" ] } ``` Not: *akka.remote.artery.transport*'un değiştiğini ve *akka.ssl.config-ssl-engine'*in yapılandırılması gerektiğini unutmayın. Referans: [https://doc.akka.io/docs/akka/current/remoting-artery.html#remote-security](https://doc.akka.io/docs/akka/current/remoting-artery.html#remote-security)
**Sertifikalar Hakkında**
Sertifikalar Hakkında Kendi dahili PKI'nızı veya sertifikalarınızı oluşturmak için keytool komutlarını kullanabilirsiniz. Referans: [https://lightbend.github.io/ssl-config/CertificateGeneration.html#using-keytool](https://lightbend.github.io/ssl-config/CertificateGeneration.html#using-keytool) Sunucu sertifikalarınızın her şeyin düzgün çalışması için çeşitli KeyUsage ve ExtendedkeyUsage uzantıları içermesi gerekir:
- KeyUsage uzantıları - nonRepudiation - dataEncipherment - digitalSignature - keyEncipherment - ExtendedkeyUsage uzantıları - serverAuth - clientAuth
Node 1 için SSL ile Akka yapılandırması:
``` akka { cluster.enable = on actor { provider = cluster } remote.artery { transport = tls-tcp canonical { hostname = "10.1.2.1" port = 2551 } ssl.config-ssl-engine { key-store = "/etc/thehive/application.conf.d/certs/10.1.2.1.jks" trust-store = "/etc/thehive/application.conf.d/certs/internal_ca.jks" key-store-password = "chamgeme" key-password = "chamgeme" trust-store-password = "chamgeme" protocol = "TLSv1.2" } } # seed node list contains at least one active node cluster.seed-nodes = [ "akka://application@10.1.2.1:2551", "akka://application@10.1.2.2:2551", "akka://application@10.1.2.3:2551" ] } ``` Aynı prensibi diğer düğümler için de uygulayın ve tüm hizmetleri yeniden başlatın. # Logs (Günlükler) Yapılandırması TheHive, çalışan süreç hakkında bilgi kaydetmek için logback kullanır. Logs, /etc/thehive/logback.xml dosyasında yapılandırılır. Bu dosyayı düzenleyin ve değişikliklerinizi uygulamak için hizmeti yeniden yükleyin. Varsayılan olarak, günlükler /var/log/thehive/ dizininde depolanır. Son günlük dosyasına application.log denir ve eski dosyalar application.%i.log.zip biçiminde sıkıştırılmış bir formatta saklanır. **Log Seviyesini Artırma/Azaltma** Logback, birkaç log seviyesini destekler. Daha fazla şeyi kaydetmek için kök düzeyini DEBUG (veya TRACE) olarak güncelleyebilirsiniz:
*logback.xml*
``` ``` Daha az şeyi log kaydetmek için WARN, ERROR veya OFF seviyelerini kullanabilirsiniz. Log seviyesi, belirli bir kaydedicinin seviyesi değiştirilerek ayrı ayrı da güncellenebilir:
*logback.xml*
``` ``` **Docker'da Logs** Docker içindeki konteynerde, günlükleyici varsayılan olarak */etc/thehive/logback.xml* dosyasıyla yapılandırılır ve uygulama stdout'a ve */var/log/thehive/application.log*'a günlükler. Varsayılan yapılandırmayı değiştirmek isterseniz, kendi logback dosyanızı /etc/thehive/logback.xml'ye bağlayabilirsiniz. **Logback Yapılandırmanızı Hata Ayıklama** Eğer sorunlarınız varsa logback.xml'de debug bayrağını true olarak ayarlayın:
*logback.xml*
``` ``` Bu, uygulama başladığında logback yapılandırmanızı konsola kaydeder. **Log Erişimi Nasıl Oluşturulur** Logback yapılandırmasını değiştirerek, belirli günlükleri uygulamadan başka bir yere yönlendirebilirsiniz. Aşağıda, erişim günlüklerinin *access.log* dosyasına yönlendirildiği ve bir döner dosya stratejisi kullandığı bir örnek bulunmaktadır. Bu yapılandırmayı uygulamak için, ekleyicileri ve günlükleyicilerin tanımlarını kopyalayın.
*logback.xml*
``` /var/log/thehive/access.log /var/log/thehive/access.%i.log.zip 1 10 10MB %date [%level] from %logger [%traceID] %message%n%xException ``` **Log'lar syslog'a Nasıl Gönderilir** Bir SyslogAppender eklemeniz gerekecektir.
*logback.xml*
``` remote_host AUTH [%thread] %logger %msg ``` Sınırlamalar: Resmi syslog uygulayıcısı günlükleri yalnızca UDP üzerinden bir sunucuya gönderebilir. TCP ve TLS kullanamaz
# Proxy Yapılandırması #### Proxy Ayarları **Genel Uygulama için Proxy** Proxy kullanılabilir. Varsayılan olarak, JVM'de yapılandırılan proxy kullanılır, ancak her HTTP istemcisi için özel yapılandırmalar yapılabilmektedir.
ParameterTypeDescription
`wsConfig.proxy.host`stringThe hostname of the proxy server
`wsConfig.proxy.port`integerThe port of the proxy server
`wsConfig.proxy.protocol`stringThe protocol of the proxy server. Use "http" or "https". Defaults to "http" if not specified
`wsConfig.proxy.user`stringThe username of the credentials for the proxy server
`wsConfig.proxy.password`stringThe password for the credentials for the proxy server
`wsConfig.proxy.ntlmDomain`stringThe NTLM domain
`wsConfig.proxy.encoding`stringThe realm's charset
`wsConfig.proxy.nonProxyHosts`listThe list of hosts on which proxy must not be used
# Secrets (Gizli) Yapılandırma secret.conf dosyası Bu dosya, kullanıcı oturumunu yönetmek için kullanılan çerezleri tanımlamak için kullanılan bir sırrı içerir. Sonuç olarak, TheHive'ın bir örneği benzersiz bir sır anahtarı kullanmalıdır. Örnek: ``` play.http.secret.key="dgngu325mbnbc39cxas4l5kb24503836y2vsvsg465989fbsvop9d09ds6df6" ```

TheHive düğümlerinden oluşan bir küme söz konusu olduğunda, tüm düğümler aynı gizli anahtarla aynı secret.conf dosyasına sahip olmalıdır. Gizli anahtar kullanıcı oturumları oluşturmak için kullanılır.

# SSL Yapılandırması **HTTPS kullanarak TheHive'a bağlanın** SSL katmanını yönetmek için bir ters proxy kullanmanızı öneririz; Örneğin, Nginx. **Reference**: [Configuring HTTPS servers](https://nginx.org/en/docs/http/configuring_https_servers.html) on [nginx.org](https://nginx.org)
/etc/nginx/sites-available/thehive.conf
``` server { listen 443 ssl http2; server_name thehive; ssl on; ssl_certificate path-to/thehive-server-chained-cert.pem; ssl_certificate_key path-to/thehive-server-key.pem; proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; client_max_body_size 2G; proxy_buffering off; client_header_buffer_size 8k; location / { add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; proxy_pass http://127.0.0.1:9000/; proxy_http_version 1.1; } } ``` **İstemci Yapılandırması** Uzak servislere bağlanmak için SSL yapılandırması gerekebilir. Aşağıdaki parametreler tanımlanabilir:
ParameterTypeDescription
`wsConfig.ssl.keyManager.stores`listStores client certificates (see [\#certificate-manager](https://docs.strangebee.com/thehive/setup/configuration/ssl/#certificate-manager) )
`wsConfig.ssl.trustManager.stores`listStored custom Certificate Authorities (see [\#certificate-manager](https://docs.strangebee.com/thehive/setup/configuration/ssl/#certificate-manager)
`wsConfig.ssl.protocol`stringDefines a different default protocol (see [\#protocols](https://docs.strangebee.com/thehive/setup/configuration/ssl/#protocols))
`wsConfig.ssl.enabledProtocols`listList of enabled protocols (see [\#protocols](https://docs.strangebee.com/thehive/setup/configuration/ssl/#protocols))
`wsConfig.ssl.enabledCipherSuites`listList of enabled cipher suites (see [\#ciphers](https://docs.strangebee.com/thehive/setup/configuration/ssl/#ciphers))
`wsConfig.ssl.loose.acceptAnyCertificate`booleanAccept any certificates *true / false*
**Sertifika Yöneticisi** Sertifika yöneticisi, istemci sertifikalarını ve sertifika yetkililerini depolamak için kullanılır. Özel Sertifika Yetkilileri Kullanma# Özel Sertifika Yetkililerini kullanmanın tercih edilen yolu sistem yapılandırmasını kullanmaktır. Uygulama genelinde özel bir Sertifika Yetkilisi kurulumu gerekiyorsa (web proxy'lerine, LPAPS sunucusu gibi uzak hizmetlere bağlanmak için), daha iyi bir çözüm, bunu işletim sistemine yükleyip TheHive'ı yeniden başlatmaktır. **Debian :** ca-certificates-java paketinin kurulu olduğundan emin olun ve CA sertifikasını doğru klasöre kopyalayın. Ardından dpkg-reconfigure ca-certificates komutunu çalıştırın ve TheHive hizmetini yeniden başlatın. ``` apt-get install -y ca-certificates-java mkdir /usr/share/ca-certificates/extra cp mycustomcert.crt /usr/share/ca-certificates/extra dpkg-reconfigure ca-certificates service thehive restart ``` **RPM :** Fedora veya RHEL'de ek pakete gerek yoktur. CA sertifikasını doğru klasöre kopyalayın, update-ca-trust'ı çalıştırın ve TheHive hizmetini yeniden başlatın. ``` cp mycustomcert.crt /etc/pki/ca-trust/source/anchors sudo update-ca-trust service thehive restart ``` Bir alternatif yöntem, ayrı bir güven deposu kullanmaktır; ancak bu Tercih Edilen bir seçenek DEĞİLDİR. TheHive yapılandırmasında trustManager anahtarını kullanın. Bu, uzak bir ana bilgisayarla güvenli bir bağlantı kurmak için kullanılır. Sunucu sertifikası, güvenilir bir sertifika otoritesi tarafından imzalanmış olmalıdır. ``` wsConfig.ssl.trustManager { stores = [ { type = "JKS" // JKS or PEM path = "keystore.jks" password = "password1" } ] } ``` **İstemci Sertifikaları** keyManager, HTTP istemcisinin (sertifika tabanlı kimlik doğrulaması kullanıldığında) kendini uzak sunucuda kimlik doğrulamak için hangi sertifikayı kullanabileceğini belirtir. ``` wsConfig.ssl.keyManager { stores = [ { type = "pkcs12" // JKS or PEM path = "mycert.p12" password = "password1" } ] } ``` **Protokoller** Farklı bir varsayılan protokol tanımlamak istiyorsanız, bunu istemcide özel olarak ayarlayabilirsiniz: ``` wsConfig.ssl.protocol = "TLSv1.2" ``` Etkin protokollerin listesini tanımlamak istiyorsanız, bunu açıkça bir liste sağlayarak yapabilirsiniz: ``` wsConfig.ssl.enabledProtocols = ["TLSv1.2", "TLSv1.1", "TLSv1"] ``` #### Gelişmiş seçenekler **Parolalar** Parola paketleri wsConfig.ssl.enabledCipherSuites kullanılarak yapılandırılabilir: ``` wsConfig.ssl.enabledCipherSuites = [ "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", ] ``` **Hata ayıklama** Anahtar yöneticisi / güven yöneticisinde hata ayıklamak için aşağıdaki bayrakları ayarlayın: ``` wsConfig.ssl.debug = { ssl = true trustmanager = true keymanager = true sslctx = true handshake = true verbose = true data = true certpath = true } ``` # Hizmet Yapılandırması **Dinleme adresi ve bağlantı noktası** Uygulama varsayılan olarak tüm arayüzleri ve 9000 numaralı portu dinler. Bu, application.conf dosyasında aşağıdaki parametrelerle dinleme adresini ve bağlantı noktalarını belirtmek mümkündür: ``` http.address=127.0.0.1 http.port=9000 ``` **Bağlam** Ters proxy kullanıyorsanız ve bir konum belirtmek istiyorsanız (örn: /thehive), TheHive yapılandırmasını da güncellemeniz gerekir ``` play.http.context: "/thehive" ``` **Akışlar için özel yapılandırma** Nginx gibi bir ters proxy kullanıyorsanız, aşağıdaki mesajı içeren hata pop-up'ları alabilirsiniz: StreamSrv 504 Ağ Geçidi Zaman Aşımı. Uzun yoklama yenilemesi için varsayılan ayarı değiştirmeniz gerekir, stream.longPolling.refresh'i buna göre ayarlayın. ``` stream.longPolling.refresh: 45 seconds ``` **Web proxy kullanımı** Eğer TheHive'ın önünde bir NGINX ters proxy kullanıyorsanız, bu, metin verisi ile bir dosya yükleme arasında ayırım yapmaz. Bu nedenle, NGINX sunucu yapılandırmanızda, TheHive *application.conf* dosyasında belirtilen dosya yükleme ve metin boyutu arasındaki en yüksek değere eşit olan *client\_max\_body\_size* parametresini ayarlamanız gerekir. # Uyumluluk ### GDPR

Bu özellik, THeHive 5.x'in Platinum planı ile yalnızca mevcuttur.

TheHive, veritabanındaki veri saklama politikasını yönetmeye yönelik bir özelliğe sahiptir, bu özellik varsayılan olarak etkin değildir. Stratejiler İki strateji mevcuttur: 1. Hassas değerleri <redacted> ile değiştirin 2. Verileri silme **Değerleri <redacted> ile Değiştirin** - Vakalar için aşağıdaki alanlar redakte edilir: davanin `summary` ve `message` yorumların `message` görev günlüklerinde `message` `gdpr.dataTypesToDelete` yapılandırma özelliğinde seçilen ve doldurulan veri tipleri için gözlemlenebilirlerin `message` sayfaların `content` TTP'lerdeki prosedürlerin `description` - Uyarılar için aşağıdaki alanlar redakte edilir: uyarı `message` gözlemlenebilirlerin `message`(bkz. `gdpr.dataTypesToDelete` yapılandırma özelliği) prosedürleri̇n `description`(ttp) **Denetimler İçin:** alan `details` redakte edilmiştir. **Verileri Sil** Strateji `delete` seçilirse: Vaka ve bileşenleri - *tasks, task logs, procedures, comments, pages, custom events in timelines, values of custom field and observables* - are deleted Uyarı ve bileşenleri- *procedures, comments, values of custom field and observables* - are deleted. Denetim silinir **Saklama** RetentionPeriod parametresi, silinecek veya redakte edilecek verilerin minimum yaşını tanımlar. GDPR süreci, bu ayardan daha eski verilere uygulanacaktır. Yaş, son güncelleme tarihine (veya hiç güncellenmemişse oluşturma tarihine) dayanır. Biçim bir sayı ve bir zaman birimidir. Desteklenen birimler şunlardır: gün: `d`, `day` saat: `h`, `hr`, `hour` dakika: `m`, `min`, `minute` saniye: `s`, `sec`, `second` milisaniye: `ms`, `milli`, `millisecond` **Yapılandırma** Bunu etkinleştirmek için /etc/thehive/application.conf yapılandırma dosyası güncellenmelidir. Aşağıdaki yapılandırmayı dosyaya ekleyin: ``` gdpr { enabled = true ## Format http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html ## Every Sunday at 02:30 schedule = "0 30 2 ? * SUN" ## Possible GDPR strategies: ## delete: remove the documents ## redact: replace sensitive values by "" (cf. dataTypesToDelete) strategy = "delete" ## if the strategy is "redacted", the observable with dataType in ## "dataTypesToDelete" will be removed ## for other observables, message will be "", not the data ## Uncomment following line to select datatypes # dataTypesToDelete = [] ## ["ip", "domain"] ## only documents older than the "retentionPeriod" will be processed retentionPeriod = 730 days # 2 years ## Advanced parameters (should not be modified) jobTimeout = 24 days ## maximum time the job is executed batchSizeCase = 5 ## how many cases is processed per transaction batchSizeAlert = 10 ## how many cases is processed per transaction batchSizeAudit = 100 ## how many cases is processed per transaction } ``` Ardından uygulamayı yeniden başlatın.