Cara menginstal server Graylog di Ubuntu 20.04

Posted on

[ad_1] Cara menginstal server Graylog di Ubuntu 20.04

Semua sistem, program, dan perangkat lunak menghasilkan informasi yang disimpan dalam file yang disebut log. Laporan-laporan ini harus terus dipantau untuk memastikan operasi yang benar dari sistem target dan untuk menghindari kesalahan atau risiko keamanan. Mereka sering tersebar di beberapa server dan seiring dengan meningkatnya volume data, pengelolaannya menjadi semakin kompleks.

Gary Logue adalah sistem manajemen log tingkat perusahaan sumber terbuka gratis yang mencakup Elasticsearch, MongoDB, dan server Graylog. Ini terdiri dari server utama yang menerima data dari klien yang diinstal pada server yang berbeda serta antarmuka web yang digunakan untuk melihat data yang dikumpulkan oleh server. Graylog adalah alat yang mirip dengan Splunk dan LogStash.

Dalam tutorial ini kita akan belajar bagaimana Instal Graylog 4 Pada Ubuntu 20.04. Kami juga akan mengamankan server Graylog dengan sertifikat SSL menggunakan Let’s Encrypt.

persyaratan:

  • Ubuntu 20.04 atau perangkat yang lebih tinggi
  • Perangkat Keras – 4 inti CPU, RAM 8 GB, hard disk SSD IOPS tinggi untuk penyimpanan log Elasticsearch
  • pencarian elastis
  • MongoDB
  • Oracle Java SE 8 (OpenJDK 8 atau lebih tinggi)

Langkah 1: Instal MongoDB di Ubuntu 20.04

Graylog menggunakan MongoDB untuk menyimpan data konfigurasi seperti aliran, peringatan, pengguna, pengaturan, dll. Hanya metadata yang disimpan, bukan data log. Pertama-tama mari kita instal MongoDB di Ubuntu 20.04.

Pertama, instal semua paket prasyarat:

$ sudo apt update
$ sudo apt install apt-transport-https openjdk-11-jre-headless uuid-runtime pwgen dirmngr gnupg wget

Sekarang masukkan kunci publik GPG:

$ wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

Untuk membuat file daftar sumber, ketik:

$ sudo touch /etc/apt/sources.list.d/mongodb-org-5.0.list

Sekarang tambahkan sumber repositori Ubuntu 20.04:

$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

Sekarang, perbarui indeks apt:

$ sudo apt update 

Untuk menginstal MongoDB di Ubuntu, ketik:

$ sudo apt install mongodb-org

Layanan MongoDB tidak dimulai secara otomatis setelah proses instalasi selesai. Untuk memulai layanan dan mengaktifkan layanan, ketik:

$ sudo systemctl enable --now mongod.service

Memeriksa status layanan MongoDB:

$ sudo systemctl status mongod.service

Keluaran:

● mongod.service - MongoDB Database Server
      Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
      Active: active (running) since Sun 2021-08-22 04:47:46 UTC; 3s ago
        Docs: https://docs.mongodb.org/manual
    Main PID: 17965 (mongod)
      Memory: 66.1M
      CGroup: /system.slice/mongod.service
              └─17965 /usr/bin/mongod --config /etc/mongod.conf
 Aug 22 04:47:46 li175-223 systemd[1]: Started MongoDB Database Server.

Seperti yang ditunjukkan oleh output, MongoDB dimulai dan layanan berjalan.

Anda dapat memeriksa versi MongoDB yang diinstal

$ sudo mongod --version
db version v5.0.2
 Build Info: {
     "version": "5.0.2",
     "gitVersion": "6d9ec525e78465dcecadcff99cce953d380fedc8",
     "openSSLVersion": "OpenSSL 1.1.1f  31 Mar 2020",
     "modules": [],
     "allocator": "tcmalloc",
     "environment": {
         "distmod": "ubuntu2004",
         "distarch": "x86_64",
         "target_arch": "x86_64"
     }
 }

Outputnya menunjukkan bahwa kami telah menginstal MongoDB versi 5.0.2.

Langkah 2: Instal Elasticsearch di Ubuntu 20.04

Graylog menyimpan semua data log di Elasticsearch. Kunjungi situs resmi Graylog untuk versi elasticseach yang didukung.

Elastics masing-masing membutuhkan Java, menyediakannya dengan versi Java yang dibundel dari OpenJDK

Masukkan kunci GPG repositori:

$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Selanjutnya, tambahkan repositori Elasticsearch:

# echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

Perbarui repositori sekarang

$ sudo apt update

Terakhir, instal elasticsearch versi opensource dengan mengetik:

$ sudo apt install elasticsearch-oss

Ubah file konfigurasi elasticsearch untuk mengatur beberapa informasi seperti nama cluster, alamat IP tempat elasticsearch mendengarkan, dan nomor port.

$ sudo vi /etc/elasticsearch/elasticsearch.yml
cluster.name: graylog-server
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
action.auto_create_index: false

File konfigurasi utama dan direktori Elasticsearch adalah:

Data disimpan di direktori /var/lib/elasticsearch.
File konfigurasi – direktori /etc/elasticsearch
Opsi startup Java – file /etc/default/elasticsearch

Elasticsearch hadir dengan versi paket OpenJDK. Setel variabel lingkungan ES_JAVA_HOME untuk menggunakan versi Java Anda.

Anda dapat mengaktifkan dan memulai layanan Elasticsearch menggunakan perintah:

$ sudo systemctl enable --now elasticsearch.service

Sekarang verifikasi bahwa layanan berjalan dengan benar menggunakan perintah berikut:

$ sudo systemctl status elasticsearch.service

Keluaran:

● elasticsearch.service - Elasticsearch
      Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled)
      Active: active (running) since Sun 2021-08-22 12:38:24 UTC; 11min ago
        Docs: http://www.elastic.co
    Main PID: 19502 (java)
       Tasks: 41 (limit: 1071)
      Memory: 833.2M
      CGroup: /system.slice/elasticsearch.service
              ├─19502 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negat>
              └─19565 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
 Aug 22 12:38:24 li663-124 systemd[1]: Started Elasticsearch.

Tekan q untuk keluar dan kembali ke prompt perintah.

Elasticsearch bekerja pada port secara default 9200Anda harus membukanya di firewall.

$ sudo ufw allow 9200

Anda dapat memeriksa apakah itu berfungsi atau tidak

$ sudo curl -XGET 'http://localhost:9200'
"name" : "Ubuntunode",
   "cluster_name" : "graylog-server",
   "cluster_uuid" : "sz3jP3rKTPWZlasWwD-rBg",
   "version" : {
     "number" : "7.10.2",
     "build_flavor" : "oss",
     "build_type" : "deb",
     "build_hash" : "747e1cc71def077253878a59143c1f785afa92b9",
     "build_date" : "2021-01-13T00:42:12.435326Z",
     "build_snapshot" : false,
     "lucene_version" : "8.7.0",
     "minimum_wire_compatibility_version" : "6.8.0",
     "minimum_index_compatibility_version" : "6.0.0-beta1"
   },
   "tagline" : "You Know, for Search"
 }

Anda dapat melihat baris dengan output dari perintah "number": "7.10.2" Tampilkan versi elasticsearch.

Langkah 3: Instal Graylog di Ubuntu 20.04

Graylog mengumpulkan log dari berbagai input dan memberikan output ke antarmuka web untuk mengelola log.

Pertama, kita perlu mengunduh file Graylog Repo menggunakan perintah wget:

$ wget https://packages.graylog2.org/repo/packages/graylog-4.1-repository_1-3_all.deb

Untuk mengkonfigurasi repositori Graylog, ketik:

$ sudo dpkg -i graylog-4.1-repository_1-3_all.deb 

Sekarang kita dapat menginstal server Graylog

$ apt update
$ sudo apt install graylog-server

Aktifkan dan mulai layanan server greylog

$ sudo systemctl enable --now graylog-server.service

Edit file konfigurasi

Sekarang kita perlu mengaturnya password_secret dan root Anda memiliki nilai graylog root_password_sha2.

Untuk mengatur rahasia untuk mengamankan kata sandi pengguna, Anda dapat menggunakan perintah pwgen:

$ pwgen -N 1 -s 96
8KOikhjxetTdcJ7qhtPlgtLgBqCX5y4vL36Ig423pqUQn32QatiecCcYol5UEw3XDzwgWDvcFOmMBJzkBZKC52aEpBrItwke

Sekarang edit file konfigurasi untuk mengatur kata sandi

$ sudo vi /etc/graylog/server/server.conf
password_secret = RlTRqWSBENLKeg89iAWlxSaf1zfqLvBW7VX5SH1d2ji3RMKyeXb8bmfOXLl3GaWkxp9oDRfvbjXiEr36AFd6T9CMmnjdG7dn

Sekarang kita perlu menentukan nilai hash dari akun kata sandi root Graylog Anda

$ echo -n GraylogRootPassword | shasum -a 256
4b09467e174a03d5ebd720d514f57783ad1e03b4877fff5e0dc45356340ab215  -

Sekarang Anda dapat menyalin dan menempelkannya

sudo vi /etc/graylog/server/server.conf
root_password_sha2 = 4b09467e174a03d5ebd720d514f57783ad1e03b4877fff5e0dc45356340ab215

Anda dapat menambahkan informasi tambahan seperti alamat email root Graylog dan antarmuka jaringan yang digunakan dalam antarmuka HTTP Graylog

root_email = "admin.graylog@websitefortesting.com"
root_timezone = UTC
http_bind_address = 0.0.0.0:9000

Anda perlu membuka port firewall Anda

$ sudo ufw allow 9000

Aktifkan dan mulai layanan server greylog

$ sudo systemctl enable --now graylog-server.service

Anda dapat mencatat data untuk Graylog /var/log/graylog-server/server.log dan ini berguna untuk debugging atau ketika server tidak dapat dijalankan.

Dengan memasukkan ip publik dan nomor port server dari browser Anda, yaitu http://:9000/ Anda dapat melihat halaman utama. Nama log root default adalah graylog admin Dan kata sandinya adalah kata sandi yang sama yang digunakan untuk nilai hash

Langkah 4: Konfigurasikan Nginx sebagai Proxy Pemutusan SSL (Opsional)

Disarankan untuk mengamankan antarmuka web Graylog Anda dengan HTTPS. Di sini Nginx digunakan sebagai proxy terbalik dan menghasilkan sertifikat SSL gratis untuk domain menggunakan Let’s Encrypt.

Pertama kita perlu menginstal Nginx dan kemudian cerbot untuk sertifikat Lets Encrypt.

Sekarang mari kita instal Nginx

$ sudo apt install nginx

Sekarang biarkan Nginx berada di firewall

$ sudo ufw allow 'Nginx Full'

Sekarang mari kita edit isi dari file konfigurasi nama domain kita. Jangan lupa untuk mengganti nama file dengan nama domain Anda

$ sudo vim /etc/nginx/sites-available/websitefortesting.com.conf
server {
         listen 80;
         server_name websitefortesting.com;
         add_header Strict-Transport-Security max-age=2592000;
         rewrite ^ https://$server_name$request_uri? permanent;
         access_log /var/log/nginx/websitefortesting.com.access.log combined;     
         error_log  /var/log/nginx/websitefortesting.com.error.log;
 }

Sekarang mari kita aktifkan

$ sudo ln -s /etc/nginx/sites-available/websitefortesting.com.conf /etc/nginx/sites-enabled/websitefortesting.com.conf

Kemudian periksa apakah konfigurasinya benar

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Sekarang kita perlu menginstal cerbot dengan paket yang diperlukan untuk nginx

$ sudo apt install certbot python3-certbot-nginx

Sekarang kita perlu menjalankan cerbot untuk Nginx

$ sudo certbot --nginx
 Saving debug log to /var/log/letsencrypt/letsencrypt.log
 Plugins selected: Authenticator nginx, Installer nginx
 Enter email address (used for urgent renewal and security notices) (Enter 'c' to
 cancel): francois@websitefortesting.com
 
 Please read the Terms of Service at
 https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
 agree in order to register with the ACME server at
 https://acme-v02.api.letsencrypt.org/directory
 
 (A)gree/(C)ancel: A
 
 Would you be willing to share your email address with the Electronic Frontier
 Foundation, a founding partner of the Let's Encrypt project and the non-profit
 organization that develops Certbot? We'd like to send you email about our work
 encrypting the web, EFF news, campaigns, and ways to support digital freedom.
 
 (Y)es/(N)o: N
 Which names would you like to activate HTTPS for?
 
 1: websitefortesting.com
 
 Select the appropriate numbers separated by commas and/or spaces, or leave input
 blank to select all options shown (Enter 'c' to cancel): 1
 Obtaining a new certificate
 Performing the following challenges:
 http-01 challenge for websitefortesting.com
Waiting for verification…
 Cleaning up challenges
 Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/websitefortesting.com.conf
 Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
 
 1: No redirect - Make no further changes to the webserver configuration.
 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
 new sites, or if you're confident your site works on HTTPS. You can undo this
 change by editing your web server's configuration.
 
 Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
 Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/websitefortesting.com.conf
 
 Congratulations! You have successfully enabled https://websitefortesting.com
 You should test your configuration at:
 https://www.ssllabs.com/ssltest/analyze.html?d=websitefortesting.com
 
 IMPORTANT NOTES:
 Congratulations! Your certificate and chain have been saved at:
 /etc/letsencrypt/live/websitefortesting.com/fullchain.pem
 Your key file has been saved at:
 /etc/letsencrypt/live/websitefortesting.com/privkey.pem
 Your cert will expire on 2021-11-18. To obtain a new or tweaked
 version of this certificate in the future, simply run certbot again
 with the "certonly" option. To non-interactively renew all of
 your certificates, run "certbot renew"
 If you like Certbot, please consider supporting our work by:
 Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 Donating to EFF:                    https://eff.org/donate-le 

Dari output Anda dapat melihat lokasi sertifikat SSL dan kunci pribadi. Anda dapat menggunakan informasi ini untuk mengonfigurasi SSL untuk Nginx.

$ sudo vi /etc/nginx/sites-available/websitefortesting.com.conf
server {
         listen 80;
         server_name websitefortesting.com;
         add_header Strict-Transport-Security max-age=2592000;
         rewrite ^ https://$server_name$request_uri? permanent;
         access_log /var/log/nginx/websitefortesting.com.access.log combined;
         error_log  /var/log/nginx/websitefortesting.com.error.log;
 }
 server {
         listen 443 ssl; # managed by Certbot
         server_name websitefortesting.com;
         ssl_certificate /etc/letsencrypt/live/websitefortesting.com/fullchain.pem; # managed by Certbot
         ssl_certificate_key /etc/letsencrypt/live/websitefortesting.com/privkey.pem; # managed by Certbot
         include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
         ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
     location / {             proxy_set_header Host $http_host;             proxy_set_header X-Forwarded-Host $host; 
proxy_set_header X-Forwarded-Server $host;  
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;             proxy_pass http://127.0.0.1:9000;   
  }
 }

Sekarang mari kita pergi lagi dengan

$ sudo nginx -t

dan mulai ulang layanan Nginx

$ sudo systemctl restart nginx.service 

Sekarang akses URL Graylog Anda menggunakan nama domain dengan HTTPS.

Setelah login, Anda dapat melihat halaman rumah Anda

Hasil

Dalam tutorial ini, kita belajar cara menginstal server Graylog di Ubuntu 20.04, mengkonfigurasi SSL menggunakan Nginx sebagai proxy terbalik.

Jika Anda menghadapi tantangan selama proses penyiapan, Anda dapat meninggalkan umpan balik Anda di bagian komentar atau mengajukan pertanyaan.

[ad_2]

Source link

Leave a Reply

Your email address will not be published. Required fields are marked *