Pai raspberi

Melindungi Raspberry Pi dengan Firewall

Melindungi Raspberry Pi dengan Firewall

Sekiranya anda ingin menjalankan beberapa jenis perisian pelayan pada Raspberry Pi anda (i.e., pelayan web, pelayan pangkalan data, pelayan Minecraft) dan menjadikannya tersedia secara terbuka di internet (hosting), maka melindungi pelayan Raspberry Pi anda dengan program firewall sangat penting.

Terdapat banyak program firewall sumber bebas dan terbuka yang tersedia di Raspberry Pi OS (sistem operasi rasmi komputer papan tunggal Raspberry Pi). Di antara program ini, UFW dan Firewalld adalah program firewall yang paling biasa.

Dalam artikel ini, saya akan menggunakan program firewall UFW untuk menunjukkan cara mengamankan Raspberry Pi anda. Oleh itu, mari kita mulakan.

Perkara yang Anda Perlu:

Untuk mengikuti artikel ini, anda memerlukan perkara berikut untuk menyiapkan Raspberry Pi anda dalam mod tanpa kepala:

  1. Komputer papan tunggal Raspberry Pi 3 atau Raspberry Pi 4.
  2. Penyesuai kuasa mikro-USB (Raspberry Pi 3) atau USB Jenis-C (Raspberry Pi 4).
  3. Kad microSD 16 GB atau 32 GB dengan OS Raspberry Pi berkelip.
  4. Kesambungan rangkaian pada Raspberry Pi.
  5. Komputer riba atau komputer meja untuk akses desktop jauh VNC atau akses SSH ke Raspberry Pi.

Sekiranya anda tidak mahu menyiapkan Raspberry Pi 4 anda dalam mod tanpa kepala, anda juga memerlukan:

  1. Monitor
  2. Kabel HDMI atau mikro-HDMI
  3. Papan kekunci
  4. Seekor tikus.

Sekiranya anda memerlukan bantuan untuk mem-flash gambar Raspberry Pi OS pada kad microSD, periksa artikel saya Cara Memasang dan Menggunakan Raspberry Pi Imager.

Sekiranya anda seorang pemula Raspberry Pi dan memerlukan bantuan untuk memasang OS Raspberry Pi pada Raspberry Pi anda, periksa artikel saya Cara Memasang OS Raspberry Pi di Raspberry Pi 4.

Sekiranya anda memerlukan bantuan mengenai penyediaan Raspberry Pi tanpa kepala, periksa artikel saya Cara Memasang dan Mengkonfigurasi OS Raspberry Pi pada Raspberry Pi 4 Tanpa Monitor Luaran.

Mengemas kini OS Raspberry Pi:

Semasa kami berusaha untuk mengamankan Raspberry Pi kami, ada baiknya anda mengemas kini semua pakej Raspberry Pi OS yang ada. Ini akan menjadikan OS Raspberry Pi anda lebih selamat kerana akan memasang semua kemas kini keselamatan dan pembetulan pepijat terkini.

Pertama, kemas kini cache repositori pakej APT dengan arahan berikut:

$ sudo apt kemas kini


Untuk mengemas kini semua pakej yang ada dari Raspberry Pi OS anda, jalankan arahan berikut:

$ sudo apt peningkatan penuh


Untuk mengesahkan pemasangan kemas kini, tekan Y dan kemudian tekan <Masukkan>.


Pengurus pakej APT akan memuat turun semua pakej yang diperlukan dari internet. Mungkin diperlukan sedikit masa untuk diselesaikan.


Setelah pakej dimuat turun, pengurus pakej APT akan memasangnya satu persatu. Mungkin diperlukan sedikit masa untuk diselesaikan.


Pada ketika ini, semua kemas kini harus dipasang.

Untuk perubahan berlaku, reboot Pi Raspberry anda dengan arahan berikut:

but semula $ sudo

Memasang UFW - Firewall yang tidak rumit:

Setelah Raspberry Pi anda boot, anda boleh memasang program firewall UFW dengan arahan berikut:

$ sudo apt pasang ufw -y


UFW harus dipasang.


Untuk perubahan berlaku, reboot Pi Raspberry anda dengan arahan berikut:

but semula $ sudo


Setelah Raspberry Pi anda but, ufw perkhidmatan systemd harus aktif, seperti yang anda lihat dalam tangkapan skrin di bawah.

$ sudo systemctl status ufw


Anda boleh memeriksa sama ada UFW diaktifkan dengan arahan berikut:

status $ sudo ufw


Seperti yang anda lihat, UFW tidak diaktifkan secara lalai.


Untuk mengaktifkan UFW, jalankan arahan berikut:

$ sudo ufw aktifkan


Seperti yang anda lihat, UFW kini diaktifkan.

status $ sudo ufw

Membolehkan Akses ke Pelabuhan menggunakan Profil Aplikasi:

UFW mempunyai beberapa profil aplikasi lalai. Setiap profil aplikasi mempunyai beberapa port yang telah ditentukan yang boleh anda izinkan / tolak aksesnya.

Untuk menyenaraikan semua profil aplikasi yang tersedia, jalankan arahan berikut:

senarai aplikasi $ sudo ufw


Semua profil aplikasi yang dipasang mesti disenaraikan.

Sekiranya anda menyambung ke Raspberry Pi anda melalui SSH atau VNC (seperti saya), anda mesti membenarkan akses ke OpenSSH dan VNC profil aplikasi. Jika tidak, pada saat anda boot Raspberry Pi anda, anda tidak dapat mengaksesnya dari jauh kerana firewall akan menyekat semua port, termasuk port SSH dan VNC. Jadi, ini sangat penting.


Anda dapat melihat port apa yang ditentukan dalam profil aplikasi (i.e., OpenSSH) dengan arahan berikut:

$ sudo ufw info aplikasi OpenSSH


Seperti yang anda lihat, TCP port 22 ditentukan dalam profil aplikasi OpenSSH.


Dengan cara yang sama, yang TCP port 5900 ditakrifkan dalam VNC profil aplikasi.

$ sudo ufw maklumat aplikasi VNC


Untuk membenarkan akses ke port yang ditentukan dalam VNC profil aplikasi, jalankan arahan berikut:

$ sudo ufw membenarkan VNC


Seperti yang anda lihat, VNC profil aplikasi dibenarkan melalui firewall.

Status $ sudo ufw bernombor


Dengan cara yang sama, izinkan akses ke port yang ditentukan dalam OpenSSH profil aplikasi dengan arahan berikut:

$ sudo ufw membenarkan OpenSSH


Seperti yang anda lihat, OpenSSH profil aplikasi dibenarkan melalui firewall.

Status $ sudo ufw bernombor

Membolehkan Akses ke Pelabuhan menggunakan Nombor Port:

Kadang kala, port yang ingin anda izinkan / tolak aksesnya tidak akan ditentukan dalam profil aplikasi yang ada. Oleh itu, anda perlu membenarkan / menolak akses ke port ini menggunakan nombor port.

Sebagai contoh, anda boleh membenarkan akses ke TCP port 8080 dengan arahan berikut:

$ sudo ufw membenarkan 8080 / tcp


Seperti yang anda lihat, TCP port 8080 dibenarkan masuk melalui firewall.

Status $ sudo ufw bernombor


Dengan cara yang sama, anda boleh membenarkan akses ke Pelabuhan UDP 8888 dengan arahan berikut:

$ sudo ufw membenarkan 8888 / udp


Seperti yang anda lihat, Pelabuhan UDP 8888 dibenarkan masuk melalui firewall.

Status $ sudo ufw bernombor

Menolak Akses ke Pelabuhan:

Tingkah laku lalai program firewall UFW adalah menolak semua yang tidak dibenarkan. Jadi, anda tidak perlu melakukan apa-apa untuk menolak akses ke mana-mana port.

Demi persaingan, saya akan menunjukkan kepada anda bagaimana untuk menolak pelabuhan di UFW pula.

Sebagai contoh, untuk menolak akses ke TCP port 9900, jalankan arahan berikut:

$ sudo ufw menolak 9900 / tcp


Seperti yang anda lihat, TCP port 9900 ditolak akses melalui firewall.

Status $ sudo ufw bernombor


Dengan cara yang sama, anda boleh menolak port yang ditentukan dalam profil aplikasi (i.e.,  WWW) seperti berikut:

$ sudo ufw menafikan WWW

Menolak Akses IP Khusus ke Pelayan:

Kadang kala anda mungkin perlu menolak akses ke alamat IP tertentu atau subnet IP untuk melindungi pelayan Raspberry Pi anda dari serangan DDoS (Distribusi Denial of Service). Anda boleh melakukannya dengan UFW.

Untuk bereksperimen dengan menolak alamat IP, saya akan menggunakan pelayan web Apache.

Anda boleh memasang pelayan web Apache pada Raspberry Pi anda dengan arahan berikut:

$ sudo apt install apache2


Untuk mengesahkan pemasangan, tekan Y dan kemudian tekan <Masukkan>.


Pengurus pakej APT akan memuat turun semua pakej dari internet dan memasangnya satu persatu. Mungkin diperlukan sedikit masa untuk diselesaikan.


Pada ketika ini, pelayan web Apache harus dipasang.


Setelah pelayan web Apache dipasang, buat halaman indeks mudah dengan arahan berikut:

$ gema "

Selamat datang ke LinuxHint

"| sudo tee / var / www / html / index.html


The apache2 perkhidmatan systemd harus berjalan, seperti yang anda lihat dalam tangkapan skrin di bawah.

$ sudo systemctl status apache2


Benarkan akses ke port server web Apache (TCP port 80) menggunakan profil aplikasi WWW seperti berikut:

$ sudo ufw membenarkan www


Seperti yang anda lihat, port yang ditentukan dalam profil aplikasi WWW dibenarkan masuk melalui firewall.


Cari alamat IP Raspberry Pi anda dengan arahan berikut:

$ nama host -I


Seperti yang anda lihat, alamat IP Raspberry Pi saya adalah 192.168.0.106. Ia akan berbeza bagi anda. Oleh itu, pastikan untuk menggantinya dengan milik anda mulai sekarang.


Anda harus mengakses pelayan web Apache dari peranti lain, seperti yang anda lihat dalam tangkapan skrin di bawah.


Komputer yang saya gunakan untuk mengakses pelayan web Apache mempunyai alamat IP 192.168.0.109.


Untuk menolak alamat IP 192.168.0.109 akses ke pelayan Raspberry Pi anda, anda mesti menambahkan peraturan firewall di bahagian atas (kedudukan 1). Urutan peraturan UFW sangat penting. Peraturan yang paling ketat harus didahulukan.

Status $ sudo ufw bernombor


Untuk menolak alamat IP 192.168.0.109 akses ke pelayan Raspberry Pi, jalankan arahan berikut:

$ sudo ufw masukkan 1 penolakan dari 192.168.0.109 kepada mana-mana


Peraturan UFW untuk menolak alamat IP 192.168.0.109 akses ke pelayan Raspberry Pi harus menjadi peraturan teratas, seperti yang ditunjukkan dalam tangkapan skrin di bawah.

Status $ sudo ufw bernombor


Anda tidak dapat mengakses pelayan web Apache yang berjalan di Raspberry Pi anda dari komputer dengan alamat IP 192.168.0.109 lagi, seperti yang anda lihat dalam tangkapan skrin di bawah.


Tetapi, anda boleh mengakses pelayan web Apache yang berjalan di Raspberry Pi anda dari komputer lain.


Sekiranya anda ingin menolak akses ke subnet IP, anda mesti menambahkan peraturan UFW yang diperlukan sebelum peraturan yang telah anda tambahkan sebelumnya, kerana ini adalah peraturan yang lebih ketat.

Status $ sudo ufw bernombor


Sebagai contoh, untuk menolak akses ke setiap komputer dalam subnet IP 192.168.20.0/24, jalankan arahan berikut:

$ sudo ufw masukkan 1 penolakan dari 192.168.20.0/24 kepada mana-mana


Peraturan UFW harus ditambahkan pada posisi yang betul, seperti yang ditunjukkan dalam tangkapan skrin di bawah. Sekarang, tidak ada komputer dari subnet IP 192.168.20.0/24 seharusnya dapat mengakses pelayan Raspberry Pi anda.

Status $ sudo ufw bernombor

Mengeluarkan Peraturan UFW:

Kadang kala, anda mungkin perlu membuang beberapa peraturan UFW. Sangat mudah untuk melakukannya.

Anda boleh menyenaraikan semua peraturan UFW yang tersedia dengan arahan berikut:

Status $ sudo ufw bernombor


Semua peraturan UFW yang ada harus disenaraikan. Katakan anda mahu mengeluarkan peraturan UFW nombor 10 (peraturan di kedudukan ke-10).


Untuk mengeluarkan peraturan UFW nombor 10, jalankan arahan berikut:

$ sudo ufw hapus 10


Untuk mengesahkan operasi penghapusan, tekan Y dan kemudian tekan <Masukkan>.


Peraturan UFW nombor 10 harus dikeluarkan.


Seperti yang anda lihat, peraturan UFW dikeluarkan, dan aturannya disusun ulang (Peraturan UFW yang berada di posisi 11 sekarang berada di posisi 10).

Status $ sudo ufw bernombor

Kesimpulan:

Dalam artikel ini, saya telah menunjukkan kepada anda cara memasang program firewall UFW pada Raspberry Pi anda (menjalankan OS Raspberry Pi). Saya juga telah menunjukkan cara membenarkan / menolak port menggunakan program firewall UFW. Saya telah menunjukkan kepada anda bagaimana untuk menolak alamat IP tertentu atau subnet IP daripada mengakses Raspberry Pi menggunakan program firewall UFW juga.

Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...
Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...
Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...