Jangan membuka port ke dunia - mereka akan menghancurkan Anda (risiko)

gambar


Berkali-kali, setelah audit, tentang rekomendasi saya untuk menyembunyikan port di belakang daftar putih saya bertemu dengan dinding kesalahpahaman. Bahkan admin yang sangat keren / DevOps bertanya: "Mengapa?!?"


Saya mengusulkan untuk mempertimbangkan risiko dalam mengurangi urutan kemungkinan terjadinya dan kerusakan.


  1. Kesalahan konfigurasi
  2. DDoS melalui IP
  3. Bruteforce
  4. Kerentanan Layanan
  5. Kerentanan Stack Kernel
  6. Memperkuat serangan DDoS

Kesalahan konfigurasi


Situasi paling khas dan berbahaya. Bagaimana itu bisa terjadi? Pengembang perlu dengan cepat menguji hipotesis, ia meningkatkan server sementara dengan mysql / redis / mongodb / elastic. Kata sandi, tentu saja, rumit, menggunakannya di mana-mana. Ini membuka layanan ke dunia - akan lebih mudah baginya untuk terhubung dari PC Anda tanpa VPN ini. Dan sintaks iptables terlalu malas untuk diingat, lagi pula server bersifat sementara. Hanya beberapa hari pengembangan - ternyata baik-baik saja, Anda bisa menunjukkannya kepada pelanggan. Pelanggan menyukainya, tidak ada waktu untuk mengulangnya, kami meluncurkannya di PROD!


Contoh sengaja dibesar-besarkan agar berjalan di atas garu:


  1. Tidak ada yang lebih permanen daripada sementara - Saya tidak suka frasa ini, tetapi secara subjektif, 20-40% dari server sementara seperti itu tetap untuk waktu yang lama.
  2. Kata sandi universal yang kompleks yang digunakan dalam banyak layanan adalah jahat. Karena, salah satu layanan tempat kata sandi ini digunakan dapat diretas. Dengan satu atau lain cara, basis data layanan yang diretas berduyun-duyun ke yang digunakan untuk [brute force] *.
    Perlu ditambahkan bahwa redis, mongodb, dan elastis setelah instalasi umumnya tersedia tanpa otentikasi, dan seringkali mengisi ulang koleksi database terbuka .
  3. Tampaknya dalam beberapa hari tidak ada yang akan memindai port 3306 Anda. Ini salah! Masscan adalah pemindai yang sangat baik, dan dapat memindai pada port 10M per detik. Dan di internet hanya ada 4 miliar IPv4. Dengan demikian, semua port 3306 di Internet dalam 7 menit. Karl !!! Tujuh menit!
    "Siapa yang peduli?" - Anda keberatan. Jadi saya terkejut melihat statistik paket yang dijatuhkan. Di mana sehari dari 40 ribu upaya untuk memindai dari 3 ribu IP unik? Sekarang semua orang akan dipindai untuk siapa saja, dari peretas ibu hingga pemerintah. Pengecekannya sangat sederhana - ambil VPS apa saja seharga $ 3-5 dari maskapai mana pun yang berbiaya rendah **, aktifkan pencatatan paket yang dijatuhkan dan lihat log dalam sehari.

Mengaktifkan Pencatatan

Di /etc/iptables/rules.v4 tambahkan di akhir:
-A INPUT -j LOG --log-awalan "[FW - ALL]" --log-level 4


Dan di /etc/rsyslog.d/10-iptables.conf
: msg, berisi, "[FW -" /var/log/iptables.log
& berhenti


DDoS melalui IP


Jika penyerang mengetahui IP Anda, ia dapat mencekik server Anda selama beberapa jam atau hari. Tidak semua hosting murah memiliki perlindungan DDoS dan server Anda hanya akan terputus dari jaringan. Jika Anda menyembunyikan server di belakang CDN, jangan lupa untuk mengubah IP, jika tidak, peretas akan google dan DDoS server Anda melewati CDN (kesalahan yang sangat populer).


Kerentanan Layanan


Cepat atau lambat, kesalahan ditemukan di semua perangkat lunak populer, bahkan pada yang paling teruji dan paling kritis. Di antara para insinyur IS, ada semacam setengah lelucon - keamanan infrastruktur dapat dengan mudah dinilai pada saat pembaruan terakhir. Jika infrastruktur Anda kaya dengan port yang mencuat ke dunia, dan Anda belum memperbaruinya selama setahun, maka penjaga keamanan mana pun tidak akan memberi tahu Anda bahwa Anda penuh lubang, dan kemungkinan besar sudah diretas.
Perlu juga disebutkan bahwa semua kerentanan yang diketahui pernah diketahui. Bayangkan saja seorang peretas yang menemukan kerentanan seperti itu, dan memindai seluruh Internet dalam 7 menit untuk mengetahui keberadaannya ... Ini adalah wabah virus baru) Ini perlu diperbarui, tetapi itu dapat merusak produk, katamu. Dan Anda akan benar jika paket tidak diinstal dari repositori OS resmi. Dari pengalaman, pembaruan dari repositori resmi jarang memecah prod.


Bruteforce


Seperti dijelaskan di atas, ada database dengan setengah miliar kata sandi yang nyaman untuk diketik dari keyboard. Dengan kata lain, jika Anda tidak membuat kata sandi, tetapi mengetik karakter yang terdekat di keyboard, pastikan * - mereka akan menghapus Anda.


Kerentanan tumpukan kernel.


Itu terjadi **** bahwa itu tidak masalah layanan mana yang membuka port ketika tumpukan kernel jaringan itu sendiri rentan. Artinya, benar-benar setiap soket tcp / udp pada sistem dua tahun yang lalu rentan terhadap kerentanan DDoS.


Memperkuat Serangan DDoS


Itu tidak akan membawa kerusakan langsung, tetapi bisa menyumbat saluran Anda, menambah beban pada sistem, IP Anda akan masuk ke beberapa daftar hitam *****, dan Anda akan mendapat penyalahgunaan dari host.


Apakah Anda benar-benar membutuhkan semua risiko ini? Tambahkan IP rumah dan kantor Anda ke daftar putih. Bahkan jika itu dinamis, masuk melalui panel admin host, melalui konsol web, dan tambahkan saja yang lain.


Saya telah membangun dan melindungi infrastruktur TI selama 15 tahun. Saya telah mengembangkan aturan yang sangat saya rekomendasikan untuk semua orang - tidak ada pelabuhan yang bisa muncul ke dunia tanpa daftar putih .


Sebagai contoh, server web paling aman *** adalah server dengan 80 dan 443 hanya terbuka untuk CDN / WAF. Dan port layanan (ssh, netdata, bacula, phpmyadmin) harus setidaknya berada di belakang daftar putih, dan bahkan lebih baik untuk VPN. Jika tidak, Anda berisiko dikompromikan.


Saya memiliki segalanya. Tutup porta Anda!




  • (1) UPD1 : Di sini Anda dapat memeriksa kata sandi universal keren Anda ( jangan lakukan ini tanpa mengganti kata sandi ini dengan yang acak di semua layanan ), jika telah muncul dalam database gabungan. Dan di sini Anda dapat melihat berapa banyak layanan yang diretas, tempat surel Anda ditampilkan, dan, dengan demikian, cari tahu apakah kata sandi universal keren Anda telah disusupi.
  • (2) Untuk kredit Amazon, setidaknya ada pemindaian di LightSail. Rupanya, entah bagaimana disaring.
  • (3) Server web yang lebih aman adalah yang ada di belakang firewall khusus, WAF-nya, tetapi kita berbicara tentang VPS publik / Khusus.
  • (4) Segmentsmak.
  • (5) Firehol.

Source: https://habr.com/ru/post/id446772/


All Articles