Mengamankan instalasi Debian untuk penggunaan umum di rumah

8

Debian hadir dengan beberapa hardenpaket, yang dirancang untuk membuat komputer lebih aman. Kebutuhan saya sangat sederhana: pengolah kata dan browsing Web. Saya tidak menjalankan server khusus, tidak menggunakan SSH, telnet, dll. Satu-satunya perangkat lunak yang harus menggunakan Internet, yang saya tahu, adalah iceweaseldan apt.

  • Apakah ada cara untuk memastikan bahwa hanya dua perangkat lunak ini yang dapat mengakses Internet?
  • Apakah ada hardenpaket yang cocok untuk kebutuhan ini?
Desa
sumber
1
Lihat juga Pengerasan Server Linux dan Secure Linux Desktop pada Keamanan Informasi
Gilles 'SO- stop being evil'

Jawaban:

6

Dalam instalasi pengguna default, hanya ada ssh sebagai aplikasi server yang diinstal yang Anda dapat dengan mudah menghapus melalui aptitude remove openssh-serveratau melalui manajer paket lain yang Anda gunakan.

Membatasi akses jaringan untuk aplikasi sulit. {{EDIT : Namun, sekarang ada Leopard Flower yang dikembangkan yang tampaknya menyediakan fitur yang Anda butuhkan (per-proses firewall, antarmuka pengguna interaktif). }} Lihat Per proses firewall? untuk informasi lebih lanjut tentang topik tersebut. Tanpa menggunakan solusi yang rumit, Anda hanya dapat membatasi akses jaringan ke pengguna khusus melalui ownermodul iptables .

Sebagai pengguna biasa Anda tidak perlu harden-*paket apa pun . Mereka baik konflik pada paket yang tidak aman, yang mungkin belum Anda instal, atau menginstal paket keamanan yang untuk sistem normal terlalu rumit untuk dikonfigurasi dan dikelola - seperti sistem intrusi jaringan.

Jofel
sumber
3

Saya setuju dengan ketatnya penggunaan iptables. Ini adalah firewall berbasis perintah yang sangat sederhana yang menggunakan kernel (di sebagian besar distro).

Saran lain yang akan saya buat adalah selinux. Saya tidak yakin apakah debian sekarang datang dengan itu secara default. Singkatnya Selinux adalah makna kontrol akses wajib pada tingkat kernel yang mengatur komunikasi antara aplikasi dan sumber daya eksternal (yaitu file dan properti sistem). Sebagai seorang sidenote, itu juga dikembangkan dengan bantuan dari NSA. Dengan profil selinux Anda dapat mencegah aplikasi membaca file di luar cakupannya.

Dikombinasikan dengan praktik terbaik seperti menonaktifkan daemon yang tidak dibutuhkan, aturan firewall yang baik selinux mungkin menjadi opsi yang Anda cari untuk mengeraskan kotak ini.

Andrew Munro
sumber
Jawaban ini dapat ditingkatkan dengan memberikan contoh kebijakan selinux yang menunjukkan melakukan apa yang diminta OP.
jmtd
Seperti yang diminta di sini adalah contoh Cent OS yang bagus tentang cara mengeraskan akses apache menggunakan baris perintah selinux. wiki.centos.org/HowTos/…
Andrew Munro
2

Sayangnya, sepertinya tidak ada alternatif Linux untuk littlesnitchatau zonealarm, dan sebagian besar firewall GUI akan meninggalkan Anda inginkan. Tentu saja Anda dapat melakukan beberapa hal bermanfaat dengan iptablesdan pelacakan koneksi.

Salah satu utilitas yang sering diabaikan adalah tcpwrappers. Saya akan menambahkan aturan ke /etc/hosts.deny:

ALL: PARANOID

Juga, nonaktifkan ping dan respons ICMP lainnya dengan menambahkan baris berikut ke /etc/sysctl.conf:

net.ipv4.icmp_echo_ignore_all = 1

EDIT : Saya cenderung setuju dengan jmtd, setelah dipikir-pikir ada cara yang lebih baik untuk menyaring ping.

kwarrick
sumber
Masalahnya tcpwrappersadalah memilih ikut : Program harus ditautkan ke perpustakaan pembungkus agar benar-benar berlaku. iceweaseltidak. Anda bisa memaksanya melalui LD_PRELOADtrik jika Anda mau.
jmtd
menonaktifkan respons ICMP adalah manfaat yang dipertanyakan keamanannya bijaksana, dan bukan tanpa biaya: itu dapat membuat interaksi jaringan jauh lebih lambat jika respons menunggu untuk time-out, daripada mendapatkan penolakan secara eksplisit. Tingkat pembatasan tanggapan untuk melindungi terhadap DDoS adalah pendekatan yang jauh lebih baik. ICMP-DDoS hampir tidak ada masalah bagi pengguna desktop di zaman modern.
jmtd
@ jmtd tcpwrapper tidak LD_PRELOAD-kemampuan. Program perlu mendukungnya. Untuk program tertaut statis, LD_PRELOADtidak akan berhasil.
jofel
@ jmtd Saya setuju, saya sudah mengedit jawaban saya. Namun saya masih percaya bahwa mengabaikan ping bermanfaat bukan untuk perlindungan dari ICMP-DDoS hanya untuk menghindari penemuan host.
kwarrick
1

Hentikan semua layanan yang tidak ingin Anda mulai: ssh, smtp, http, apa pun yang tidak ingin Anda mulai. Atur iptables Anda untuk memblokir segala sesuatu yang mengakses mesin Anda atau meninggalkan mesin Anda terpisah dari perangkat lunak yang Anda inginkan.

Perhatikan bahwa saya tidak memberikan daftar seluruh perintah untuk diketik karena sangat penting bagi seseorang untuk mempelajari dan memahami implikasi layanan dan iptables sebelum mengacaukannya.

Sardathrion - menentang penyalahgunaan SE
sumber
1

Dasar paling populer dari penyaringan jaringan / firewall di Linux adalah iptables, yang tidak bekerja berdasarkan aplikasi. Yang Anda butuhkan adalah program kebijakan keamanan yang dapat membatasi program agar tidak dapat mengakses sumber daya jaringan. Dua pendekatan adalah SELinux dan AppArmor .

Berikut adalah beberapa contoh resep AppArmor , salah satunya membuka akses jaringan untuk Firefox / Iceweasel.

jmtd
sumber