4 069
contributi
(6 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 36: | Riga 36: | ||
MongoDB è necessaria per memorizzare la configurazione e le meta-informazioni. MongoDB è disponibile in Debian 9; è possibile installare MongoDB eseguendo semplicemente il seguente comando: | MongoDB è necessaria per memorizzare la configurazione e le meta-informazioni. MongoDB è disponibile in Debian 9; è possibile installare MongoDB eseguendo semplicemente il seguente comando: | ||
<pre> | <pre> | ||
# apt-get install | # apt-get install mongodb - y | ||
</pre> | </pre> | ||
Una volta installato MongoDB, si può procedere ad installare Elasticsearch. | Una volta installato MongoDB, si può procedere ad installare Elasticsearch. | ||
Riga 52: | Riga 52: | ||
</pre> | </pre> | ||
Aggiungendo le seguenti linee: | Aggiungendo le seguenti linee: | ||
<pre> | |||
deb https://packages.elastic.co/elasticsearch/2.x/debian stable main | deb https://packages.elastic.co/elasticsearch/2.x/debian stable main | ||
</pre> | </pre> | ||
Riga 103: | Riga 104: | ||
} | } | ||
</pre> | </pre> | ||
==Installare Graylog== | |||
Graylog non è disponibile nei repository ufficiali di Debian. Dobbiamo quindi aggiungere un nuovo repository: | |||
<pre> | |||
# wget https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.deb | |||
# dpkg -i graylog-2.2-repository_latest.deb | |||
# apt-get update -y | |||
# apt-get install graylog-server -y | |||
</pre> | |||
Una volta installato, avremo bisogno di impostare un secret per proteggere la password di accesso e di impostare un hash (sha256) per la password dell'utente root. | |||
<br/> | |||
Generiamo il secret: | |||
<pre> | |||
# pwgen -N 1 -s 96 | |||
</pre> | |||
Ci restituirà qualcosa del genere: | |||
<pre> | |||
TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC | |||
</pre> | |||
Quindi generiamo l'hash per la password di root: | |||
<pre> | |||
# echo -n password_di_root | sha256sum | |||
</pre> | |||
Avremo un risultato del genere: | |||
<pre> | |||
e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee | |||
</pre> | |||
Prendiamo nota di entrambe le chiavi, perchè ci serviranno per impostare il file di configurazione di Graylog. | |||
<br/> | |||
Adesso dobbiamo modificare il file di configurazione di Graylog: | |||
<pre> | |||
# nano /etc/graylog/server/server.conf | |||
</pre> | |||
apportando questi cambiamenti: | |||
<pre> | |||
is_master = true | |||
node_id_file = /etc/graylog/server/node-id | |||
########past-your-password-secret-here######### | |||
password_secret = TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC | |||
root_username = admin | |||
#######past-your-root-hash-password-here########## | |||
root_password_sha2 = e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee | |||
root_timezone = UTC | |||
plugin_dir = /usr/share/graylog-server/plugin | |||
rest_listen_uri = http://0.0.0.0:9000/api/ | |||
rest_enable_cors = true | |||
web_listen_uri = http://0.0.0.0:9000/ | |||
rotation_strategy = count | |||
elasticsearch_max_docs_per_index = 20000000 | |||
elasticsearch_max_number_of_indices = 7 | |||
retention_strategy = delete | |||
elasticsearch_shards = 4 | |||
elasticsearch_replicas = 1 | |||
elasticsearch_index_prefix = graylog | |||
allow_leading_wildcard_searches = true | |||
allow_highlighting = false | |||
elasticsearch_cluster_name = graylog | |||
elasticsearch_discovery_zen_ping_unicast_hosts = 192.168.0.187:9300 | |||
elasticsearch_http_enabled = false | |||
elasticsearch_network_host = 0.0.00 | |||
elasticsearch_discovery_initial_state_timeout = 3s | |||
elasticsearch_analyzer = standard | |||
output_batch_size = 500 | |||
output_flush_interval = 1 | |||
output_fault_count_threshold = 5 | |||
output_fault_penalty_seconds = 30 | |||
processbuffer_processors = 5 | |||
outputbuffer_processors = 3 | |||
processor_wait_strategy = blocking | |||
ring_size = 65536 | |||
inputbuffer_ring_size = 65536 | |||
inputbuffer_processors = 2 | |||
inputbuffer_wait_strategy = blocking | |||
message_journal_enabled = true | |||
message_journal_dir = /var/lib/graylog-server/journal | |||
async_eventbus_processors = 2 | |||
lb_recognition_period_seconds = 3 | |||
alert_check_interval = 60 | |||
mongodb_uri = mongodb://localhost/graylog | |||
mongodb_max_connections = 1000 | |||
mongodb_threads_allowed_to_block_multiplier = 5 | |||
content_packs_dir = /usr/share/graylog-server/contentpacks | |||
content_packs_auto_load = grok-patterns.json | |||
proxied_requests_thread_pool_size = 32 | |||
</pre> | |||
Salviamo e avviamo il demone: | |||
<pre> | |||
# systemctl start graylog-server | |||
# systemctl enable graylog-server | |||
</pre> | |||
==Configurare il firewall== | |||
Ricordiamoci di configurare il nostro firewall per lasciar passare il traffico sulla porta '''9000''' e '''8514'''. | |||
==Utilizzo== | |||
L'interfaccia web di Graylog è in ascolto sulla porta 9000. Aprendo il browser web e digitando l'URL http://192.168.0.187:9000, dovremmo vedere la schermata di logim. | |||
<br/> | |||
Entriamo con l'utente admin e la password di root che abbiamo configurato in <code>root_password_sha2</code> nel file di configurazione di Graylog. | |||
<br/> | |||
Per prima cosa occorre impostare la ricezione dei log via UDP, dal menu '''System -> Inputs -> Syslog UDP -> Launch new input''', compilando la schermata che si apre. | |||
<br/> | |||
In ogni client che vogliamo monitorare, occorre impostare correttamente Rsyslog: | |||
<pre> | |||
nano /etc/rsyslog.conf | |||
</pre> | |||
configurando queste opzioni: | |||
<pre> | |||
# provides UDP syslog reception | |||
$ModLoad imudp | |||
$UDPServerRun 8514 | |||
$template GRAYLOGRFC5424,"%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msg%\n" | |||
*.* @192.168.0.187:8514;GRAYLOGRFC5424 | |||
</pre> | |||
Infine occorre salvare e riavviare il demone: | |||
<pre> | |||
systemctl restart rsyslog | |||
</pre> | |||
<br/> | |||
La documentazione ufficiale è disponibile a questo indirizzo: [http://docs.graylog.org/en/2.2/pages/getting_started.html Documentazione Graylog] | |||
==Sitografia== | ==Sitografia== |