Bagaimana caranya?

Instal Server Graylog di Ubuntu 20.04 dengan Let's Encrypt SSL

Instal Server Graylog di Ubuntu 20.04 dengan Let's Encrypt SSL

Graylog adalah agregasi log dan alat manajemen sumber terbuka yang dapat digunakan untuk menyimpan, menganalisis, dan mengirim peringatan dari log yang dikumpulkan. Graylog dapat digunakan untuk menganalisis log terstruktur dan tidak terstruktur menggunakan ElasticSearch dan MongoDB. Ini mencakup berbagai sistem termasuk sistem Windows, sistem Linux, berbagai aplikasi dan layanan mikro, dll.

Graylog memudahkan untuk menganalisis, dan memantau sistem dan aplikasi ini dari satu host.

Graylog memiliki komponen sebagai berikut:

Mari kita segera masuk ke instalasi server Graylog di Ubuntu 20.04 tuan rumah. Kami kemudian akan mengonfigurasi SSL menggunakan Let'sEncrypt.

Untuk mencapai ini, kita perlu menginstal Nginx untuk berfungsi sebagai proxy terbalik di sistem kita.

Artikel serupa: Cara Meneruskan Log ke Grafana Loki menggunakan Promtail

Prasyarat Penyiapan

Sebelum kami dapat menginstal di kotak Anda, pastikan host Anda memenuhi persyaratan minimal di bawah ini:

Dengan kondisi di atas terpenuhi, mari kita mulai proses instalasi installation.

Langkah 1 - Instal Java di Ubuntu 20.04

Java versi 8 dan di atasnya diperlukan untuk instalasi Graylog.
Dalam posting ini, kita akan menggunakan open JDK 11

sudo apt update sudo apt install -y apt-transport-https openjdk-11-jre-headless uuid-runtime pwgen curl dirmngr

Anda dapat memverifikasi versi Java yang baru saja Anda instal menggunakan versi java perintah:

$ java -versi openjdk versi "11.0.9" 2020-10-20 OpenJDK Runtime Environment (build 11.0.9+11-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.9+11-Ubuntu-0ubuntu1.20.04, mode campuran, berbagi)

Langkah 2 - Instal Elasticsearch di Ubuntu 20.04

Pencarian elastis adalah alat yang digunakan untuk menyimpan dan menganalisis log masuk dari sumber eksternal. Ini menggunakan RESTful API berbasis web.

Unduh dan instal kunci penandatanganan Elasticsearch GPG.

wget -qO - https://artefak.elastis.co/GPG-KEY-elasticsearch | sudo apt-key add -

Tambahkan repositori Elasticsearch ke daftar sumber Anda:

echo "deb https://artefak.elastis.co/paket/oss-6.x/apt stable main" | sudo tee /etc/apt/sources.daftar.d/elastis-6.x.daftar

Instal Elasticsearch:

sudo apt update sudo apt install -y elasticsearch-oss

Konfigurasikan nama cluster untuk Graylog.

sudo vim /etc/elasticsearch/elasticsearch.yml

Edit nama cluster menjadi abu-abu

gugus.nama: greylog

Tambahkan informasi berikut dalam file yang sama

tindakan.auto_create_index: salah

Muat ulang daemon, mulai layanan Elasticsearch.

sudo systemctl daemon-reload Sudo systemctl start elasticsearch Sudo systemctl enable elasticsearch

Anda dapat memeriksa status layanan dengan:

$ systemctl status elasticsearch ● elasticsearch.service - Elasticsearch Dimuat: dimuat (/ lib/systemd/system/elasticsearch.layanan; diaktifkan; preset vendor: diaktifkan) Aktif: aktif (berjalan) sejak Minggu 08-11-2020 12:36:10 UTC; 14 detik yang lalu Dokumen: http://www.elastis.co PID Utama: 1352139 (java) Tugas: 15 (batas: 4582) Memori: 1.Grup 1G: /sistem.irisan/pencarian elastis.service 1352139 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Des.> Nov 08 12:36:10 graylog.komputasiforgeeks.com systemd[1]: Memulai Elasticsearch.

Elasticsearch berjalan pada port 9200 dan ini dapat dibuktikan dengan keriting perintah:

curl -X DAPATKAN http://localhost:9200

Anda akan melihat nama cluster Anda di output.

$ curl -X GET http://localhost:9200  "name" : "RQ7y68X", "cluster_name" : "graylog", "cluster_uuid" : "Dp948OGjT-uFz_LuOiW6ng", "version" :  "number" : "6.8.13", "build_flavor" : "oss", "build_type" : "deb", "build_hash" : "be13c69", "build_date" : "16-10-2020T09:09:46.555371Z", "build_snapshot" : salah, "lucene_version" : "7.7.3", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" , "tagline" : "Tahu, Untuk Pencarian" 

Langkah 3 - Instal MongoDB di Ubuntu 20.04

Unduh dan instal mongoDB dari repositori dasar Ubuntu.

sudo apt update sudo apt install -y mongodb-server

Mulai MongoDB

sudo systemctl start mongodb sudo systemctl aktifkan mongodb
$ systemctl status mongodb ● mongodb.service - Database berorientasi objek/dokumen Dimuat: dimuat (/lib/systemd/system/mongodb.layanan; diaktifkan; preset vendor: diaktifkan) Aktif: aktif (berjalan) sejak Minggu 08-11-2020 12:45:21 UTC; 1 dtk yang lalu Dokumen: man:mongod(1) PID Utama: 1352931 (mongod) Tugas: 3 (batas: 4582) Memori: 27.Grup 9M: /sistem.irisan/mongodb.service 1352931 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf 08 Nov 12:45:21 greylog.komputasiforgeeks.com systemd[1]: Memulai database berorientasi objek/dokumen. 

Langkah 4 - Instal Server Graylog di Ubuntu 20.04

Unduh dan konfigurasikan repositori Graylog.

wget https://packages.abu-abu2.org/repo/packages/graylog-3.3-repositori_terbaru.deb sudo apt install ./graylog-3.3-repositori_terbaru.deb

Instal server Graylog:

sudo apt update sudo apt install -y greylog-server

Hasilkan rahasia untuk mengamankan kata sandi pengguna menggunakan pwgen perintah

pwgen -N 1 -s 96

Outputnya akan terlihat seperti:

FFP3LhcsuSTMgfRvOx0JPcpDomJtrxovlSrbfMBG19owc13T8PZbYnH0nxyIfrTb0ANwCfH98uC8LPKFb6ZEAi55CvuZ2Aum

Edit file konfigurasi graylog untuk menambahkan rahasia yang baru saja kita buat:

sudo vim /etc/graylog/server/server.konf

Temukan sandi_rahasia = baris dan tambahkan rahasia yang dibuat di atas setelahnya.

password_secret= FFP3LhcsuSTMgfRvOx0JPcpDomJtrxovlSrbfMBG19owc13T8PZbYnH0nxyIfrTb0ANwCfH98uC8LPKFb6ZEAi55CvuZ2Aum

Juga tambahkan baris berikut ke /etc/graylog/server/server.konf mengajukan

rest_listen_uri = http://127.0.0.1:9000/api/ web_listen_uri = http://127.0.0.1:900/

Langkah selanjutnya adalah membuat kata sandi hash sha256 untuk administrator. Ini adalah kata sandi yang Anda perlukan untuk masuk ke antarmuka web.

echo -n Str0ngPassw0rd | sha256sum

Menggantikan 'Str0ngPassw0rd' dengan kata sandi pilihan Anda.

Anda akan mendapatkan output seperti ini:

e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Sunting /etc/graylog/server/server.konf file lalu letakkan kata sandi hash di root_password_sha2 =

sudo vi /etc/graylog/server/server.konf
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Graylog sekarang dikonfigurasi dan siap digunakan.

Mulai layanan Graylog:

sudo systemctl daemon-reload Sudo systemctl start greylog-server Sudo systemctl aktifkan greylog-server

Anda dapat memeriksa apakah layanan telah berhasil dimulai dari log:

sudo tail -f /var/log/graylog-server/server.catatan

Keluaran:

08-11-2020T13:37:55.067Z INFO [ServerBootstrap] Server Graylog aktif dan berjalan.

Langkah 5 - Siapkan SSL menggunakan Let's Encrypt

Langkah selanjutnya adalah mengkonfigurasi SSL agar kita dapat mengakses antarmuka web Graylog melalui HTTPS.

Untuk mencapai ini, kita akan membutuhkan yang berikut:

Gunakan langkah-langkah di bawah ini untuk menginstal dan mengkonfigurasi ngiinx.

  1. perbarui sistem dan instal nginx
sudo apt-get update sudo apt install nginx

2. Konfigurasikan firewall

sudo ufw izinkan 'Nginx Penuh'

3. Buat virtualhost dengan nama domain Anda

Buat file di /etc/nginx/sites-available/ e.g

sudo vim /etc/nginx/sites-available/graylog.domainmu.com.konf

Tambahkan yang berikut ini dalam file:

server  dengarkan 80; server_name greylog.domainmu.com; kembali 301 https://$host$request_uri; access_log /var/log/nginx/graylog.domainmu.com.mengakses.log digabungkan; error_log /var/log/nginx/graylog.domainmu.com.kesalahan.catatan;  

Ingatlah untuk mengganti abu-abu.domainmu.com dengan FQDN Anda.

4. Buat symlink dari file yang baru saja kita buat /etc/nginx/sites-available untuk /etc/nginx/sites-enabled

sudo ln -s /etc/nginx/sites-available/graylog.domainmu.com.conf /etc/nginx/sites-enabled/

5. Periksa apakah konfigurasi nginx baik-baik saja dengan menjalankan nginx -t perintah.

$ sudo nginx -t nginx: file konfigurasi /etc/nginx/nginx.sintaks conf ok nginx: file konfigurasi /etc/nginx/nginx.tes conf berhasil

6. Instal Let'sEncrypt dengan certbot.

sudo apt install certbot python3-certbot-nginx

7. Jalankan certbot untuk nginx

$ sudo certbot --nginx Menyimpan log debug ke /var/log/letsencrypt/letsencrypt.log Plugin yang dipilih: Authenticator nginx, Installer nginx Masukkan alamat email (digunakan untuk pembaruan mendesak dan pemberitahuan keamanan) (Masukkan 'c' untuk membatalkan): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Harap baca Persyaratan Layanan di https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Anda harus setuju untuk mendaftar dengan server ACME di https://acme-v02.api.letsencrypt.org/direktori - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)setuju/(C )ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Apakah Anda bersedia untuk berbagi alamat email Anda dengan Electronic Frontier Foundation, mitra pendiri proyek Let's Encrypt dan organisasi nirlaba yang mengembangkan Certbot? Kami ingin mengirimi Anda email tentang pekerjaan kami yang mengenkripsi web, berita EFF, kampanye, dan cara untuk mendukung kebebasan digital. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(T)o: N Nama mana yang Anda inginkan untuk mengaktifkan HTTPS?? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: log abu-abu.komputasiforgeeks.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pilih angka yang sesuai dipisahkan dengan koma dan/ atau spasi, atau biarkan input kosong untuk memilih semua opsi yang ditampilkan (Masukkan 'c' untuk membatalkan): 1 Memperoleh sertifikat baru Melakukan tantangan berikut: http-01 challenge for graylog.komputasiforgeeks.com Menunggu verifikasi… Membersihkan tantangan Menyebarkan Sertifikat ke VirtualHost /etc/nginx/sites-enabled/graylog.komputasiforgeeks.com.conf Silakan pilih apakah akan mengarahkan lalu lintas HTTP ke HTTPS, menghapus akses HTTP. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: Tidak ada pengalihan - Tidak ada perubahan lebih lanjut pada konfigurasi server web. 2: Redirect - Buat semua permintaan dialihkan untuk mengamankan akses HTTPS. Pilih ini untuk situs baru, atau jika Anda yakin situs Anda berfungsi di HTTPS. Anda dapat membatalkan perubahan ini dengan mengedit konfigurasi server web Anda. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pilih nomor yang sesuai [1-2] lalu [enter] (tekan 'c' untuk membatalkan): 2 Mengarahkan semua lalu lintas pada port 80 ke ssl di /etc/nginx/sites-enabled/graylog.komputasiforgeeks.com.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Selamat! Anda telah berhasil mengaktifkan https://graylog.komputasiforgeeks.com Anda harus menguji konfigurasi Anda di: https://www.sslab.com/ssltest/analisis.html?d=abu-abu.komputasiforgeeks.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CATATAN PENTING: - Selamat! Sertifikat dan rantai Anda telah disimpan di: /etc/letsencrypt/live/graylog.komputasiforgeeks.com/fullchain.pem File kunci Anda telah disimpan di: /etc/letsencrypt/live/graylog.komputasiforgeeks.com/privkey.pem Sertifikat Anda akan kedaluwarsa pada 2021-02-06. Untuk mendapatkan versi baru atau tweak dari sertifikat ini di masa mendatang, cukup jalankan certbot lagi dengan opsi "certonly". Untuk memperbarui *semua* sertifikat Anda secara non-interaktif, jalankan "certbot renew" - Kredensial akun Anda telah disimpan di direktori konfigurasi Certbot Anda di /etc/letsencrypt. Anda harus membuat cadangan aman folder ini sekarang. Direktori konfigurasi ini juga akan berisi sertifikat dan kunci pribadi yang diperoleh Certbot, jadi sangat ideal untuk membuat cadangan rutin folder ini this. - Jika Anda menyukai Certbot, mohon pertimbangkan untuk mendukung pekerjaan kami dengan: Donasi ke ISRG / Let's Encrypt: https://letsencrypt.org/donate Menyumbang ke EFF: https://eff.org/donasi-le 

Anda telah berhasil mendapatkan SSL untuk domain kami.

Langkah selanjutnya adalah mengkonfigurasi reverse proxy pada Nginx yang akan digunakan untuk melayani Graylog yang berjalan pada host yang sama pada port 9000.

Sunting /etc/nginx/sites-available/graylog.domainmu.com.konf file dan tambahkan konfigurasi berikut di bawah Lokasi bagian.

lokasi /  proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Diteruskan-Untuk $proxy_add_x_forwarded_for; proxy_set_header X-Graylog-Server-URL https://$server_name/; proxy_pass http://127.0.0.1:900;  

File konfigurasi terakhir akan terlihat seperti:

server  dengarkan 80; server_name greylog.komputasiforgeeks.com; kembali 301 https://$host$request_uri; access_log /var/log/nginx/graylog.komputasiforgeeks.com.mengakses.log digabungkan; error_log /var/log/nginx/graylog.komputasiforgeeks.com.kesalahan.catatan;  server  root /var/www/html; indeks indeks.indeks html.indeks htm.nginx-debian.html; server_name greylog.komputasiforgeeks.com; dengarkan [::]:443 ssl ipv6only=on; # dikelola oleh Certbot mendengarkan 443 ssl; # dikelola oleh Certbot ssl_certificate /etc/letsencrypt/live/graylog.komputasiforgeeks.com/fullchain.pem; # dikelola oleh Certbot ssl_certificate_key /etc/letsencrypt/live/graylog.komputasiforgeeks.com/privkey.pem; # dikelola oleh Certbot termasuk /etc/letsencrypt/options-ssl-nginx.konf; # dikelola oleh Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # dikelola oleh 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-Diteruskan-Untuk $proxy_add_x_forwarded_for; proxy_set_header X-Graylog-Server-URL https://$server_name/; proxy_pass http://127.0.0.1:900;   

Verifikasi konfigurasi nginx Anda menggunakan nginx -t hanya untuk memastikan konfigurasi nginx Anda baik-baik saja.

Sekarang restart layanan nginx.

sudo systemctl restart nginx

Dengan menjalankan dan menjalankan di atas, Anda seharusnya dapat mengakses dasbor greylog Anda dengan memasukkan https://graylog.domainmu.com.

Ingatlah untuk mengganti abu-abu.domainmu.com dengan FQDN Anda.

Nama pengguna default untuk Graylog adalah admin dan kata sandi yang kami konfigurasikan pada langkah 4 (Instal server Graylog) di atas. Untuk kasus saya, ini akan menjadi "Str0ngPassw0rd"

Anda sekarang dapat mulai menggunakan dasbor web Graylog Anda yang dikonfigurasi dengan SSL.

Kesimpulan

Kami telah berhasil menginstal server greylog, mengonfigurasi SSL melalui Nginx sebagai proxy terbalik dan berhasil masuk ke antarmuka web.

Konfigurasi SSL di server Graylog penting untuk mengamankan sistem Anda.

Jika Anda menghadapi tantangan apa pun selama proses penyiapan, jangan ragu untuk berkomentar atau mengajukan pertanyaan apa pun di bagian komentar.

Konfigurasikan proxy terbalik Graylog Nginx dengan Letsencrypt SSL

Cari tahu cara menggunakan pengunduh film terbaik untuk Windows
Ada apa saja di YouTube. Terkadang Anda bahkan dapat menemukan film yang Anda sukai di sana. Sayang sekali jika Anda tidak memiliki koneksi Internet y...
Cara Membuat Sistem File AWS EFS Dengan CloudFormation
EFS adalah singkatan dari Elastic File System. Ini adalah Sistem File Jaringan (NFS) terkelola yang dapat dipasang pada beberapa instans Linux EC2 unt...
Setup Mail Server di CentOS 8 Dengan Postfix, Dovecot, MySQL dan RoundCube
pengantarUntuk menyiapkan server email sederhana yang lengkap, panduan ini memanfaatkan Postfix sebagai server SMTP, Dovecot untuk menyediakan fungsio...