Meningkatkan Keamanan untuk FreeBSD Menggunakan IPFW dan SSHGuard

Server VPS sering ditargetkan oleh penyusup. Jenis serangan yang umum muncul dalam log sistem ketika ratusan upaya login ssh tidak sah. Menyiapkan firewall sangat berguna, tetapi dengan sendirinya mungkin tidak cukup mengontrol upaya intrusi yang mengganggu.

Tutorial ini menunjukkan bagaimana membangun penghalang intrusi yang ditingkatkan untuk FreeBSD menggunakan dua program, ipfwfirewall dan sshguard. SSHGuard adalah program tambahan kecil yang memonitor log sistem untuk entri "kasar". Ketika pelaku berusaha mendapatkan akses, sshguarddiinstruksikan ipfwuntuk memblokir lalu lintas yang berasal dari alamat IP pelaku. Pelaku kemudian secara efektif ditutup.

Setelah memahami cara kerja program ini, mengelola perlindungan server cukup sederhana. Meskipun panduan ini difokuskan untuk mengkonfigurasi FreeBSD, beberapa bagiannya berlaku untuk OS dan perangkat lunak firewall lainnya.

Langkah 1. Mengkonfigurasi IPFW

FreeBSD menyediakan 3 firewall di nya default ( GENERICkernel), ipfw, pf, dan ipfilter. Masing-masing memiliki kelebihan dan penggemar, tetapi ipfwmerupakan perangkat lunak firewall asli FBSD dan cukup mudah digunakan untuk keperluan kita. Perlu dicatat bahwa ipfwmelakukan banyak hal seperti yang ditunjukkan halaman manualnya, namun kemampuan seperti NAT, traffic traffic, dll., Tidak diperlukan untuk situasi VPS yang khas. Untungnya, fitur dasar firewall dengan mudah memenuhi persyaratan kami.

Untuk memulai firewall saat boot up, tambahkan yang berikut ke /etc/rc.conf:

firewall_enable="YES"
firewall_script="/usr/local/etc/IPFW.rules"
firewall_logging="YES"

The serviceperintah tersedia untuk memulai / menghentikan firewall secara manual:

[user@vultr ~]$ sudo service ipfw start

Secara alami, ipfwtidak akan melakukan apa pun sampai ia menambahkan aturan, sering dari file, dalam contoh ini terletak di /usr/local/etc/IPFW.rules. File aturan sebenarnya bisa ditemukan di mana saja atau memiliki nama apa saja, asalkan cocok dengan parameter "firewall_script". File aturan dijelaskan secara rinci di bawah ini.

Langkah 2. Instal dan konfigurasikan SSHGuard

sshguardhadir dalam beberapa rasa untuk digunakan dengan firewall yang berbeda. Gunakan pkgutilitas untuk mengambil dan menginstal sshguard-ipfw:

[user@vultr ~]$ sudo pkg install sshguard-ipfw

Dalam kebanyakan kasus hanya itu yang perlu dilakukan seseorang. Variabel yang sesuai secara otomatis dimasukkan ke dalam /etc/rc.confuntuk mulai saat boot up:

sshguard_enable="YES"

Standarnya biasanya bekerja dengan baik. Jika diperlukan nilai yang berbeda, sshguardhalaman manual memberikan info terperinci tentang parameter:

# sshguard--program defaults, so don't need to be in rc.conf unless assigning different value
# sshguard_pidfile="/var/run/sshguard.pid"
# sshguard_watch_logs="/var/log/auth.log:/var/log/mail"
# sshguard_blacklist="40:/var/db/sshguard/blacklist.db"
# sshguard_safety_thresh="40"
# sshguard_pardon_min_interval="420"
# sshguard_prescribe_interval="1200"

Anda dapat mulai sshguarddengan servicedoa biasa :

[user@vultr ~]$ sudo service sshguard start

Langkah 3. Buat skrip aturan

Bagian tersulit adalah membuat aturan firewall. ipfwdapat menggunakan /etc/rc.firewallskrip yang disediakan , tetapi harus dimodifikasi untuk mengakomodasi SSHGuard, serta skenario operasional yang berbeda. Sejumlah halaman web dan FreeBSD Manual memiliki informasi berguna tentang melakukan ini. Namun, menulis file aturan tidak terlalu sulit, selain itu, aturan kustom dapat lebih mudah dipahami dan diubah bila perlu.

Fitur ipfwaturan yang penting adalah pertandingan pertama yang menang yang berarti aturan aturan itu penting. Dalam ipfw, setiap aturan adalah perintah, dan file aturan adalah skrip shell yang dapat dieksekusi. Itu memungkinkan set aturan diubah dengan mengubah aturan lalu menjalankan file aturan sebagai skrip shell:

[user@vultr /usr/local/etc]$ sudo ./IPFW.rules

Secara umum, file aturan akan menentukan variabel untuk ipfwperintah, lalu menghapus aturan saat ini, mengeluarkan aturan umum, kemudian melanjutkan untuk menetapkan aturan "keluar", diikuti oleh aturan "dalam". Halaman buku panduan ipfw dan sumber daya lainnya mengandung banyak informasi tentang struktur aturan dan opsi yang banyak sedikitnya.

Karena versi sshguard FreeBSD telah diperbarui ke versi 1.6.2, metode memasukkan aturan pemblokiran untuk pelaku telah berubah. Sekarang alamat pelaku disimpan dalam tabel ipfw (tabel 22 lebih spesifik), daripada dimasukkan ke dalam aturan di atas 55000 seperti sebelumnya.

Untungnya, cukup mudah untuk mengatur file aturan untuk menggunakan tabel. Ini hanya masalah menempatkan aturan tabel di tempat yang tepat, dan memastikan untuk menggunakan sintaks yang benar saat menulis aturan.

Ketika sshguardmenemukan pelaku, ia memasukkan alamat pelaku ke dalam daftar hitamnya, dan juga memasukkan alamat itu ke dalam ipfwtabel sehingga akan "memicu" penolakan akses. Aturan ini akan mencapai tujuan ini:

01000 deny ip from table\(22\) to any

Masih perlu untuk menetapkan aturan yang memungkinkan layanan masuk di atas 01000 dalam kasus ini. Misalnya, misalkan alamat 10.20.30.40adalah pelaku di tabel 22, dan kami memiliki aturan ipfw ini:

56420 allow tcp from any to me dst-port 22 in via $vif

Sejak ipfwpertemuan memerintah 01000 sebelum aturan 56.420 , 10.20.30.40yang diblokir . Itu tidak akan pernah terlihat oleh aturan "izinkan 22 dalam" sama sekali. Jika aturan perbolehkan memiliki nomor "reguler" seperti 00420 , lalu lintas yang buruk akan dibiarkan masuk dan tidak pernah diblokir (karena 00420 kurang dari 01000 dan "pertandingan pertama menang").

Fitur bagus dari versi yang diperbarui adalah sekarang ketika sshguard memulai semua alamat dalam daftar hitam ditambahkan ke tabel dan tersedia untuk memblokir pelanggar yang masuk tanpa penundaan. Daftar hitam bersifat kumulatif dan dipertahankan di antara sesi.

Pada titik ini mungkin masuk akal untuk menunjukkan ipfwaturan lengkap yang dimodifikasi sshguard. Komentar harus membuatnya cukup mudah untuk mengikuti logika aturan:

#!/bin/sh

# ipfw config/rules
# from FBSD Handbook, rc.firewall, et. al.

# Flush all rules before we begin.
ipfw -q -f flush

# Set rules command prefix
cmd="ipfw -q add "

vif="vtnet0"

# allow all for localhost
$cmd 00010 allow ip from any to any via lo0

# checks stateful rules.  If marked as "keep-state" the packet has
# already passed through filters and is "OK" without futher
# rule matching
$cmd 00101 check-state

# allow DNS out
$cmd 00110 allow tcp from me to any dst-port 53 out via $vif setup keep-state
$cmd 00111 allow udp from me to any dst-port 53 out via $vif keep-state

# allow dhclient connection out (port numbers are important)
$cmd 00120 allow udp from me 68 to any dst-port 67 out via $vif keep-state

# allow HTTP HTTPS replies
$cmd 00200 allow tcp from any to any dst-port 80 out via $vif setup keep-state
$cmd 00220 allow tcp from any to any dst-port 443 out via $vif setup keep-state

# allow outbound mail
$cmd 00230 allow tcp from any to any dst-port 25 out via $vif setup keep-state
$cmd 00231 allow tcp from any to any dst-port 465 out via $vif setup keep-state
$cmd 00232 allow tcp from any to any dst-port 587 out via $vif setup keep-state

# allow icmp re: ping, et. al. 
# comment this out to disable ping, et.al.
$cmd 00250 allow icmp from any to any out via $vif keep-state

# alllow timeserver out
$cmd 00260 allow tcp from any to any dst-port 37 out via $vif setup keep-state

# allow ntp out
$cmd 00270 allow udp from any to any dst-port 123 out via $vif keep-state

# allow outbound SSH traffic
$cmd 00280 allow tcp from any to any dst-port 22 out via $vif setup keep-state

# otherwise deny outbound packets
# outbound catchall.  
$cmd 00299 deny log ip from any to any out via $vif

# inbound rules
# deny inbound traffic to restricted addresses
$cmd 00300 deny ip from 192.168.0.0/16 to any in via $vif
$cmd 00301 deny ip from 172.16.0.0/12 to any in via $vif
$cmd 00302 deny ip from 10.0.0.0/8 to any in via $vif
$cmd 00303 deny ip from 127.0.0.0/8 to any in via $vif
$cmd 00304 deny ip from 0.0.0.0/8 to any in via $vif
$cmd 00305 deny ip from 169.254.0.0/16 to any in via $vif
$cmd 00306 deny ip from 192.0.2.0/24 to any in via $vif
$cmd 00307 deny ip from 204.152.64.0/23 to any in via $vif
$cmd 00308 deny ip from 224.0.0.0/3 to any in via $vif

# deny inbound packets on these ports
# auth 113, netbios (services) 137/138/139, hosts-nameserver 81 
$cmd 00315 deny tcp from any to any dst-port 113 in via $vif
$cmd 00320 deny tcp from any to any dst-port 137 in via $vif
$cmd 00321 deny tcp from any to any dst-port 138 in via $vif
$cmd 00322 deny tcp from any to any dst-port 139 in via $vif
$cmd 00323 deny tcp from any to any dst-port 81 in via $vif

# deny partial packets
$cmd 00330 deny ip from any to any frag in via $vif
$cmd 00332 deny tcp from any to any established in via $vif

# allowing icmp re: ping, etc.
$cmd 00310 allow icmp from any to any in via $vif

# allowing inbound mail, dhcp, http, https
$cmd 00350 allow udp from any 53 to me in via $vif
$cmd 00360 allow tcp from any 53 to me in via $vif
$cmd 00370 allow udp from any 67 to me dst-port 68 in via $vif keep-state

$cmd 00400 allow tcp from any to me dst-port 80 in via $vif setup limit src-addr 2
$cmd 00410 allow tcp from any to me dst-port 443 in via $vif setup limit src-addr 2

# SSHguard puts offender addresses in table 22. Set up the table rule
# Please note the '\(22\)' syntax, necessary since it's run as shell command
$cmd 01000 deny ip from table\(22\) to any

# allow inbound ssh, mail. PROTECTED SERVICES: numbered ABOVE sshguard blacklist range 
$cmd 56420 allow tcp from any to me dst-port 22 in via $vif setup limit src-addr 2
$cmd 56530 allow tcp from any to any dst-port 25 in via $vif setup keep-state
$cmd 56531 allow tcp from any to any dst-port 465 in via $vif setup keep-state
$cmd 56532 allow tcp from any to any dst-port 587 in via $vif setup keep-state

# deny everything else, and log it
# inbound catchall
$cmd 56599 deny log ip from any to any in via $vif

# ipfw built-in default, don't uncomment
# $cmd 65535 deny ip from any to any

Langkah 4. Memulai dan menguji

Kebutuhan sistem beragam dan pilihan port yang berbeda untuk diblokir atau diblokir dicerminkan dalam aturan. Setelah aturan selesai, simpan file ke /usr/local/etc/IPFW.rules, dan mulai layanan FBSD:

 # service ipfw start
 # service sshguard start

Firewall yang diperbesar sekarang seharusnya sedang berjalan! Periksa sshguard:

 [user@vultr ~]$ sudo pgrep -lfa ssh

Jika sshguardsedang berjalan, pid dan baris perintah lengkapnya ditampilkan:

720 /usr/local/sbin/sshguard -b 40:/var/db/sshguard/blacklist.db -l /var/log/auth.log -l /var/log/maillog -a 40 -p 420 -s 1200 -w /usr/local/etc/sshguard.whitelist -i /var/run/sshguard.pid

Ini menunjukkan aturan firewall dengan statistik dan terakhir kali paket cocok dengan aturan:

 [user@vultr ~]$ sudo ipfw -cat list

Setelah berjam-jam atau berhari-hari, alamat pelanggar ditambahkan ke daftar hitam dan juga tabel 22. Untuk melihat semua alamat dalam tabel, gunakan perintah ini:

ipfw table 22 list

Hasilnya dicetak sebagai:

10.10.10.118/32 0
10.10.10.72/32 0
...

Seperti dijelaskan di atas, koneksi dari alamat ini tidak diizinkan. Tentu saja, saat pertama kali menjalankan sshguardtidak akan ada alamat dalam daftar, tetapi seiring waktu bisa jadi agak lama. Salah satu opsi adalah membuat aturan pemblokiran terpisah untuk alamat dengan banyak entri dalam tabel dan kemudian menghapusnya dari daftar hitam.

Langkah 5. Tetap waspada ...

Sebaiknya sesekali periksa log untuk memastikan intrusi terkontrol. Secara umum, /var/log/auth.logdan /var/log/securityinformatif. Kesenjangan atau kesalahan dalam mencakup layanan jaringan mungkin menjadi jelas. Mengubah aturan firewall sesuai kebutuhan adalah bagian normal dari administrasi server.

Dalam versi sshguard sebelumnya, ketika /var/db/sshguard/blacklist.dbfile telah tumbuh besar, itu bisa mencegah sshguardmemulai boot sistem. Menghapus atau mengganti nama file daftar hitam diizinkan sshguarduntuk memulai. Masalah ini tampaknya diperbaiki dalam versi sshguard terbaru, jadi solusi ini mungkin tidak lagi diperlukan.

Pastikan untuk memasukkan daftar putih IP Address yang Anda sambungkan ke Sesi SSH. Jika Anda secara tidak sengaja mengunci diri, Anda selalu dapat terhubung ke Konsol noVNC di https://my.vultr.com dan memasukkan daftar putih IP Anda.

Ringkasnya, menggunakan kombinasi ipfwdan sshguardmembantu menjaga sistem FreeBSD Anda aman dan melakukan tugasnya. Meminimalkan aktivitas jaringan yang mengganggu memiliki manfaat tambahan: lebih sedikit "noise" membuatnya lebih mudah untuk melacak dan menyelaraskan operasi sistem, berkontribusi pada server yang lebih aman dan berjalan lebih baik.

Secara efektif melindungi sistem / server FreeBSD tidak terlalu rumit. Meskipun upaya sederhana diperlukan untuk mengaktifkan dan menjalankannya, ini menghasilkan VPS yang jauh lebih besar dan keamanan proyek.


Tags: #BSD #Security

Leave a Comment

Menginstal pfSense di Server Cloud Vultr

Menginstal pfSense di Server Cloud Vultr

pfSense adalah alat yang ideal untuk administrator sistem yang ingin menambahkan beragam fitur ke jaringan mereka. Ini terutama merupakan open-sourc

Lindungi resolv.conf Dari DHCP Pada FreeBSD 10

Lindungi resolv.conf Dari DHCP Pada FreeBSD 10

Jika Anda menjalankan resolver Anda sendiri, atau ingin menggunakannya dari penyedia pihak ketiga, Anda mungkin menemukan bahwa file /etc/resolv.conf Anda sedang ditimpa oleh DHCP

Cara Memasang Automad CMS di FreeBSD 12

Cara Memasang Automad CMS di FreeBSD 12

Menggunakan Sistem yang Berbeda? Automad adalah open source berbasis sistem manajemen konten (CMS) dan mesin template yang ditulis dalam PHP. Kode sumber Automad i

Cara Memasang X-Cart 5 di FreeBSD 12

Cara Memasang X-Cart 5 di FreeBSD 12

Menggunakan Sistem yang Berbeda? X-Cart adalah platform eCommerce open-source yang sangat fleksibel dengan banyak fitur dan integrasi. Kode sumber X-Cart adalah hoste

Instal WordPress di OpenBSD 6.2

Instal WordPress di OpenBSD 6.2

Pendahuluan WordPress adalah sistem manajemen konten yang dominan di internet. Ini memberdayakan semuanya, mulai dari blog hingga situs web kompleks dengan konten dinamis

Setup dan Konfigurasi Murmur (Mumble Server) Pada FreeBSD 11

Setup dan Konfigurasi Murmur (Mumble Server) Pada FreeBSD 11

Murmur adalah perangkat lunak server resmi untuk protokol komunikasi suara Mumble. Implementasi resmi ini stabil dan efisien. Panduan ini wil

Cara Memasang WonderCMS di FreeBSD 12

Cara Memasang WonderCMS di FreeBSD 12

Menggunakan Sistem yang Berbeda? WonderCMS adalah open source, CMS file flat dan kecil yang ditulis dalam PHP. Kode sumber WonderCMS di-host di Github. Panduan ini wil

Cara Memasang Pagekit 1.0 CMS pada VPS FreeBSD 11 FAMP

Cara Memasang Pagekit 1.0 CMS pada VPS FreeBSD 11 FAMP

Menggunakan Sistem yang Berbeda? Pagekit 1.0 CMS adalah Content Management System (CMS) yang indah, modular, dapat diperpanjang dan ringan, dengan

Cara Mengaktifkan TLS 1.3 di Apache pada FreeBSD 12

Cara Mengaktifkan TLS 1.3 di Apache pada FreeBSD 12

Menggunakan Sistem yang Berbeda? TLS 1.3 adalah versi protokol Transport Layer Security (TLS) yang diterbitkan pada 2018 sebagai standar yang diusulkan dalam RFC 8446

Setup iRedMail di FreeBSD 10

Setup iRedMail di FreeBSD 10

Tutorial ini akan menunjukkan kepada Anda bagaimana menginstal groupware iRedMail pada instalasi baru FreeBSD 10. Anda harus menggunakan server dengan setidaknya satu gigabyte o

Cara Memasang Dolibarr di FreeBSD 12

Cara Memasang Dolibarr di FreeBSD 12

Menggunakan Sistem yang Berbeda? Dolibarr adalah perencanaan sumber daya perusahaan sumber terbuka (ERP) dan manajemen hubungan pelanggan (CRM) untuk bisnis. Dolibarr

Cara Memasang DokuWiki di FreeBSD 12

Cara Memasang DokuWiki di FreeBSD 12

Menggunakan Sistem yang Berbeda? DokuWiki adalah program wiki open source yang ditulis dalam PHP yang tidak memerlukan database. Ini menyimpan data dalam file teks. DokuWik

Cara Memasang Aplikasi Newsletter Mailtrain di FreeBSD 12

Cara Memasang Aplikasi Newsletter Mailtrain di FreeBSD 12

Menggunakan Sistem yang Berbeda? Mailtrain adalah aplikasi buletin self-host open-source yang dibangun di atas Node.js dan MySQL / MariaDB. Sumber mailtrains ada di GitHub. Ini

Menyiapkan Platform Penerbitan Ghost Profesional di OpenBSD 6

Menyiapkan Platform Penerbitan Ghost Profesional di OpenBSD 6

Ghost adalah pemula baru dan terbaik untuk menyaingi WordPress. Pengembangan tema cepat dan mudah dipelajari karena pengembang Ghost memutuskan untuk menggunakan keduanya

Menjalankan WordPress di OpenBSD 6.5 dengan OpenBSDs HTTPD

Menjalankan WordPress di OpenBSD 6.5 dengan OpenBSDs HTTPD

Pendahuluan Semakin dekat Anda memasang OpenBSD ke default dan tanpa banyak paket tambahan, semakin aman. Sementara yang lebih umum

Ubah ukuran Pool Penyimpanan ZFS di FreeBSD / TrueOS

Ubah ukuran Pool Penyimpanan ZFS di FreeBSD / TrueOS

Ketika memutakhirkan instance VPS di Vultr, sistem file Linux secara otomatis diubah ukurannya. Saat menjalankan FreeBSD dengan sistem file ZFS yang canggih, beberapa manual memperburuk

Server Surat Sederhana Dengan Postfix, Dovecot, Dan Saringan Di FreeBSD 10

Server Surat Sederhana Dengan Postfix, Dovecot, Dan Saringan Di FreeBSD 10

Tutorial ini akan menunjukkan kepada Anda cara mendapatkan server mail sederhana di FreeBSD 10, dengan Postfix sebagai MTA, Dovecot sebagai MDA dan Saringan untuk menyortir surat - di seluruh

Instal eSpeak di FreeBSD 12

Instal eSpeak di FreeBSD 12

Menggunakan Sistem yang Berbeda? ESpeak dapat menghasilkan file audio text-to-speech (TTS). Ini dapat bermanfaat karena berbagai alasan, seperti membuat Turin Anda sendiri

OpenBSD sebagai Solusi E-Commerce Dengan PrestaShop dan Apache

OpenBSD sebagai Solusi E-Commerce Dengan PrestaShop dan Apache

Pendahuluan Tutorial ini menunjukkan OpenBSD sebagai solusi e-commerce menggunakan PrestaShop dan Apache. Apache diperlukan karena PrestaShop memiliki UR yang kompleks

Menjalankan Nsd Dan Tidak Terbatas Pada OpenBSD 5.6

Menjalankan Nsd Dan Tidak Terbatas Pada OpenBSD 5.6

Dalam artikel ini, Anda akan belajar betapa mudah dan cepatnya memiliki caching Anda sendiri untuk menyelesaikan server DNS (tidak terikat), serta layanan DNS master / master

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Pelajari langkah-langkah untuk memasang Panel Kontrol Hosting Mudah (EHCP) di Ubuntu 16.04 dengan panduan ini.

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.