Ambil Langkah-Langkah Ini untuk Mengamankan Raspberry Pi Anda Terhadap Penyerang - 💡 Fix My Ideas

Ambil Langkah-Langkah Ini untuk Mengamankan Raspberry Pi Anda Terhadap Penyerang

Ambil Langkah-Langkah Ini untuk Mengamankan Raspberry Pi Anda Terhadap Penyerang


Penulis: Ethan Holmes, 2019

Papan Raspberry Pi luar biasa untuk proyek apa pun - murah, mudah digunakan, dapat menjalankan berbagai sistem operasi yang memungkinkan, dan menyediakan pin GPIO yang dapat diprogram serta ketersediaan CPU multi-core dan beberapa port USB.

Anda dapat menggunakan papan Raspberry Pi untuk semua jenis proyek otomatisasi dan pengumpulan informasi. Tetapi, jika Anda tidak hati-hati, proyek hobi kecil Anda mungkin menghasilkan risiko keamanan yang bertindak sebagai titik masuk ke jaringan Anda. Mereka tidak dapat melakukan boot aman seperti ARM Trustzone, dan kartu SD dan sistem operasi tidak mudah dienkripsi. Ikuti kiat keamanan ini untuk melindungi Pi Anda dan perangkat lain di jaringan Anda.

Mengapa ada orang yang meretas Raspberry Pi?

  • Kekuatan komputasinya dapat disalahgunakan untuk operasi seperti menambang cryptocurrency.
  • Itu dapat digunakan sebagai titik bouncing untuk menyerang host lain, untuk menutupi jejak penyerang.
  • Ini adalah titik masuk ke seluruh jaringan internal. Seorang penyerang dapat dengan mudah mencapai server file dan mencoba menginstal ransomware, mendapatkan dokumen untuk memeras, atau memanipulasi firewall dan pengaturan router untuk memastikan akses terus-menerus di masa depan untuk tindakan jahat di kemudian hari, baik dengan menyerang konsol web router atau melakukan uPNP manipulasi untuk membuka lebih banyak port ke Internet untuk serangan.

Kata sandi

Ubah kata sandi default - Jika Anda menginstal versi terbaru dari NOOBS atau Raspbian, pastikan untuk mengubah kata sandi default pengguna "pi" menjadi sesuatu yang panjang dan sulit ditebak. Frasa sandi seperti "iamasuckerfor5dollarmojitos" jauh lebih baik daripada [dilindungi email]! Bahkan jika Anda berencana menonaktifkan akun, langkah pertama ini adalah perlindungan dasar jika Anda lupa.

Akun Pengguna

Langkah Anda selanjutnya adalah menonaktifkan akun Pi default di Raspbian. Sebelum melakukan ini, buat akun baru di sistem. Anda dapat menggunakan useradd perintah untuk melakukan ini, dengan beberapa flag tambahan untuk menentukan bahwa direktori home baru dibuat untuk pengguna. Masuk sebagai pengguna Pi dan berikan perintah:

$ sudo / usr / sbin / useradd --groups sudo -m makezine

Gunakan nama pengguna Anda sendiri, bukan "makezine." Ini akan membuat akun baru, membuat direktori untuk akun tersebut (seperti / home / makezine), dan tambahkan akun baru ke grup sudo sehingga pengguna dapat menggunakan perintah sudo. Setelah akun pengguna baru dibuat, kita perlu menetapkan kata sandi untuk akun tersebut. Anda dapat melakukan ini menggunakan perintah:

$ sudo passwd makezine

Selanjutnya, setel ulang kata sandi root. Pilih sesuatu yang panjang dan sulit ditebak.

$ sudo passwd root

Akhirnya, Anda ingin menonaktifkan akun Pi:

$ sudo passwd --lock pi

Sekarang Anda dapat keluar dari akun Pi dan masuk dengan akun dan kata sandi baru Anda.

Mengamankan SSH

Secara default, Raspbian menginstal shell akses jarak jauh (SSH) yang dapat diakses dari mana saja. Anda dapat menonaktifkan ini dengan mengatur SSH sehingga hanya mesin yang memiliki kunci SSH resmi yang dapat masuk. Cadangkan kunci pribadi Anda di setidaknya dua lokasi yang Anda percayai.

Untuk mengaturnya, edit file konfigurasi SSH menggunakan vi, atau editor teks lainnya, dengan perintah:

$ sudo vi / etc / ssh / sshd_config

Pastikan baris berikut diatur dan tidak dikomentari - artinya baris tersebut ada dalam file dan tidak didahului dengan simbol tag hash, yang menandai baris sebagai komentar dan mengabaikannya untuk tujuan konfigurasi:

# Otentikasi: LoginGraceTime 120 PermitRootLogin no StrictModes ya RSAAuthentication ya PubkeyAuthentication ya AuthorizedKeysFile% h / .ssh / berwenang_keys # Untuk mengaktifkan kata sandi kosong, ubah menjadi ya (TIDAK DIANJURKAN) Izin IzinEmptyPasswords no # Ubah ke ya untuk mengaktifkan masalah-tantangan dengan tanggapan (masalah dengan kata sandi) # beberapa modul dan utas PAM) ChallengeResponseAuthentication no # Ubah menjadi tidak untuk menonaktifkan kata sandi teks yang jelas ternaja PasswordAuthentication no UsePAM no

Baris terakhir sangat penting karena akan menonaktifkan Modul Otentikasi Pluggable (PAM), atau autentikasi Linux asli, dan hanya memungkinkan pengguna untuk masuk dengan kunci. Selanjutnya, buat kunci SSH. Anda dapat melakukan ini dengan Putty pada Windows atau dengan perintah ssh-keygen di Linux. Buat direktori .ssh di direktori home pengguna Anda dan file berwenang_keys dengan perintah berikut. Pastikan untuk mengatur izin dengan benar (jika tidak, otentikasi berbasis kunci akan gagal):

$ mkdir ~ / .ssh $ chmod 0700 ~ / .ssh $ touch ~ / .ssh / official_keys $ chmod 0600 ~ / .ssh / official_keys

Selanjutnya gunakan editor teks Anda untuk mengedit file otor_keys dan tempel di kunci publik yang Anda buat sehingga Anda dapat masuk. Pastikan untuk memulai kembali SSH untuk memastikan perubahan diterapkan menggunakan perintah:

$ sudo systemctl restart ssh

Firewall

Setelah Anda mengunci SSH, Anda ingin memastikan bahwa firewall iptables berjalan di Pi Anda. Untuk ukuran yang baik, Anda dapat mengonfigurasi firewall sehingga mencatat pesan kapan pun aturan firewall diaktifkan dan koneksi diblokir. Pertama, pastikan iptables diinstal menggunakan perintah:

$ sudo apt-get install iptables iptables-persistent

Perhatikan bahwa menggunakan iptables firewall akan membutuhkan modul kernel baru untuk dimuat. Cara termudah untuk memuatnya adalah dengan me-reboot Pi Anda. Setelah iptables diinstal, lanjutkan dan periksa aturan iptables saat ini dengan perintah:

$ sudo / sbin / iptables -L

Ini akan mencantumkan aturan, yang mungkin kosong. Anda dapat menyimpan aturan ini ke file teks dan mengeditnya menggunakan perintah:

$ sudo / sbin / iptables-save> /etc/iptables/rules.v4

Ini adalah file yang digunakan iptables-persistent ketika sistem Anda melakukan boot atau reboot untuk memastikan bahwa firewall masih berjalan. Simpan, lalu edit file sehingga terlihat seperti berikut (mengubah aturan apa pun yang Anda butuhkan):

$ sudo cat /etc/iptables/rules.v4: INPUT ACCEPT [0: 0]: FORWARD ACCEPT [0: 0]: OUTPUT ACCEPT [0: 0] # Memungkinkan semua loopback (lo0) traffic dan drop semua traffic ke 127 / 8 yang tidak menggunakan lo0 -A INPUT -i lo -j ACCEPT -A INPUT! -i lo -d 127.0.0.0/8 -j TOLAK # Menerima semua koneksi inbound yang dibuat -A INPUT -m state --state ESTABLISHED, TERKAIT -j MENERIMA # Memungkinkan semua lalu lintas keluar # Anda dapat memodifikasi ini untuk hanya mengizinkan lalu lintas tertentu - OUTPUT -j MENERIMA # Memungkinkan koneksi SSH # Nomor --dport sama dengan di / etc / ssh / sshd_config -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT # log iptables ditolak panggilan (akses via perintah 'dmesg') -A INPUT -m limit --limit 5 / min -j LOG --log-prefix "iptables deny:" --log-level 7 # Tolak semua inbound lainnya - tolak default kecuali jika secara eksplisit kebijakan yang diizinkan: -P INPUT -J TOLAK -JARINGAN -j KOMIT TOLAK

Selanjutnya, pastikan iptables Anda berfungsi dengan baik. Ini bisa rumit karena Anda mungkin terhubung jarak jauh melalui SSH, dan jika Anda telah mengacaukan sesuatu, Anda tidak ingin koneksi Anda terputus. Untungnya, ada perintah yang akan membantu Anda dengan menerapkan aturan dan meminta konfirmasi bahwa Anda masih dapat terhubung. Jika Anda tidak merespons dalam waktu tertentu, program akan menganggap Anda telah terputus dan itu akan mengembalikan perubahan Anda. Jika Anda merespons, itu akan menerapkan perubahan Anda secara permanen. Untuk mencapai ini gunakan perintah:

$ sudo / usr / sbin / iptables-apply /etc/iptables/rules.v4

Jika semuanya berfungsi, perubahan Anda akan diterapkan dan Anda dapat memeriksanya dengan perintah:

$ sudo / sbin / iptables -L

Matikan apa yang tidak Anda butuhkan. Pastikan firewall Anda hanya mengekspos layanan yang Anda inginkan, lebih disukai pada port non-default.

Letakkan di jaringannya sendiri. Pastikan Pi diinstal pada jaringannya sendiri dan tidak dapat menjangkau bagian lain dari jaringan sambil memastikan koneksi keluar ke internet diketahui dan difilter untuk penggunaan sehari-hari. Anda seharusnya tidak dapat menghubungi server file rumah Anda atau sistem lain dari Pi, dan konektivitas internetnya harus dibatasi.

Pembaruan dan Pencadangan

Perbarui paket Anda secara teratur. Periksa situs web Raspberry Pi untuk pembaruan. Anda dapat mengatur pembaruan otomatis dengan menginstal paket “upgrade tanpa pengawasan,” seperti yang dijelaskan pada wiki Debian resmi.

Cadangkan konfigurasi Anda. Kartu SD Anda akan gagal. Harapkan kegagalan dan cadangan data Anda, atau kartu SD secara keseluruhan, ke USB thumb drive eksternal sebagai bagian dari paket, file, atau sistem file terenkripsi.

Hindari gambar yang siap dipasang sebelumnya jika Anda bisa. Jika Anda menggunakan gambar pra-instal dari suatu tempat, tanyakan pada diri Anda mengapa. Anda membutuhkan kepercayaan penuh dan penuh pada pencipta, yang mungkin telah mengambil jalan pintas dan menginstal perangkat lunak rentan atau bahkan backdoors. Ini bahkan bisa tidak disengaja. Lihat apakah Anda dapat menginstal gambar atau perangkat lunak sendiri. Jika Anda tidak bisa atau tidak mau, pastikan Pi Anda ada di jaringannya sendiri dan tidak bisa menjangkau sistem lain di jaringan Anda. Jika router Anda memiliki segmen DMZ atau jaringan Wi-Fi tamu, itu adalah pilihan yang sangat baik untuk Pi dengan syarat bahwa hanya layanan yang ingin Anda tampilkan terpapar ke Internet. Jika Anda benar-benar perlu menggunakan gambar yang sudah dibuat:

  • Ubah semua kata sandi untuk semua akun termasuk tetapi tidak terbatas pada pengguna "pi" dan "root". Perangkat lunak yang menyertai Raspberry Pi mungkin menyertakan lebih banyak layanan. Periksa dengan "netstat" untuk melihat layanan apa yang berjalan dan periksa firewall dan konfigurasi router Anda untuk memastikan Anda hanya mengekspos apa yang diperlukan.
  • Menghasilkan kembali kunci SSH dengan melakukan hal berikut:
# / bin / rm -v / etc / ssh / ssh_host_ * # dpkg-konfigurasikan openssh-server
  • Pertimbangkan untuk mengubah layanan yang sedang berjalan ke arah port non-standar untuk menghindari drive-by dan pemindaian massal layanan. Sebagian besar penyerang hanya keluar untuk mendapatkan korban yang menggunakan port default.
  • Periksa kembali dengan pembuat gambar untuk pembaruan dan berita keamanan terkait.

Pastikan Kontinuitas

Timer pengawas perangkat keras: Jika Raspberry Pi Anda mogok saat Anda berlibur, sistem otomatis Anda juga akan turun. Raspberry Pi hadir dengan timer pengawas perangkat keras Broadcom yang dapat mem-boot ulang Pi jika tidak merespons.

Heatsink: Sayang jika Raspberry Pi Anda berlari terlalu panas karena cuaca atau overclock. Pastikan Anda memiliki heatsink pada CPU untuk memastikan bahwa lonjakan yang sangat berat jangan sampai terhenti. Harganya hanya beberapa dolar dan mudah dipasang.

Logwatch: Menerima email malam hari yang melaporkan kegiatan hari sebelumnya dan peringatan dengan Logwatch. Anda harus memastikan bahwa email berfungsi pada Pi Anda, tetapi agen relay email exim4 seharusnya bekerja dengan baik. Instal Logwatch menggunakan perintah:

$ sudo apt-get install logwatch

Kemudian sesuaikan file konfigurasi di /usr/share/logwatch/default.conf/logwatch.conf sesuai dengan kebutuhan Anda. Secara default, Logwatch akan mengirim email ke akun root, jadi Anda mungkin ingin mengatur semacam relay. Anda dapat memeriksa artikel saya di relay email untuk saran lebih lanjut.



Anda Mungkin Tertarik

Tonton Kawat Panas 5-Axis Ini Memotong Bentuk Busa Yang Indah

Tonton Kawat Panas 5-Axis Ini Memotong Bentuk Busa Yang Indah


CRAFT Book-A-Day Wednesday: In Stitches oleh Amy Butler

CRAFT Book-A-Day Wednesday: In Stitches oleh Amy Butler


Wawancara dengan Artis Media Campuran Peggy Dembicer

Wawancara dengan Artis Media Campuran Peggy Dembicer


Orb Hidup Bersinar Terang saat Matahari Turun

Orb Hidup Bersinar Terang saat Matahari Turun






Recent Posts