GNU/Linux >> Belajar Linux >  >> Linux

Menyeimbangkan keamanan Linux dengan kegunaan

Internet penuh dengan orang-orang yang ingin menghancurkan barang-barang Anda. Beberapa dari mereka hanya ingin tahu, beberapa mencari sensasi, yang lain mencoba mencuri data Anda, dan beberapa hanya ingin menonton semuanya terbakar. Apa pun motif mereka, tugas Anda sebagai sysadmin adalah mencegah penyerang ini keluar dari server Anda. Jika Anda menjalankan sistem Linux, artikel ini cocok untuk Anda. Kami akan membahas beberapa alasan mengapa Anda perlu memperkuat sistem dan pertimbangan tingkat tinggi lainnya.

Sistem operasi adalah keseimbangan

Membangun sistem operasi adalah keseimbangan yang sulit, dan distribusi Linux tidak berbeda. Anda perlu mempertimbangkan fungsionalitas out-of-the-box yang diinginkan kebanyakan orang, dan aksesibilitas untuk berbagai keahlian administrator. Jika Anda membuat distro Anda sangat aman, tetapi sysadmin pemula tidak tahu bagaimana cara bekerja dengannya…yah, mereka akan menemukan distribusi yang lebih mudah untuk dipelajari, dan sekarang Anda telah kehilangan admin itu ke distribusi lain . Jadi tidak mengherankan bahwa, setelah waktu instalasi, sebagian besar distribusi Linux memerlukan sedikit penyesuaian untuk menguncinya. Ini menjadi lebih baik selama bertahun-tahun, karena penginstalnya sendiri menjadi lebih mudah digunakan dan lebih kaya fitur. Anda dapat membuat sistem yang cukup khusus langsung dari penginstal GUI. Sistem dasar Red Hat Enterprise Linux (RHEL), misalnya, jika Anda telah memilih kumpulan paket dasar, sebenarnya cukup ringan untuk layanan dan paket yang tidak perlu.

Ada saat ketika itu tidak benar. Bisakah Anda membayangkan kata sandi di-hash, tetapi tersedia di /etc/password untuk dibaca oleh pengguna mana pun? Atau semua manajemen sistem dilakukan melalui Telnet? SSH bahkan tidak aktif, secara default. Firewall berbasis host? Sepenuhnya opsional. Jadi, 20 tahun yang lalu, mengunci sistem Linux yang baru diinstal berarti banyak tugas. Untungnya, seiring dengan semakin matangnya komputasi, begitu juga dengan penginstalan default dari hampir semua sistem operasi.

Apa itu "pengerasan" sistem?

Memperkuat sistem adalah tindakan membuat sistem lebih aman—target yang lebih sulit bagi orang jahat. Bayangkan Anda memiliki pagar kayu putih yang melindungi rumah Anda. Mungkin cukup untuk membuat orang jujur ​​tetap jujur—mereka melihat pagar dan gerendel kecil yang bagus di gerbang Anda dan memutuskan untuk menghargai kenyataan bahwa Anda jelas-jelas tidak menginginkan orang-orang di halaman Anda. Anda merasa aman mengetahui bahwa tidak ada yang akan datang ke halaman Anda dan menginjak-injak bunga Anda karena orang menghormati batas properti Anda. Namun, yang dibutuhkan hanyalah satu anak yang tidak peduli dengan semua itu untuk memotong halaman Anda karena mereka tidak dapat diganggu untuk berkeliling. Pagar kayu putih dan gerendel tipis Anda tidak bisa dibuka dan dilewati.

Pengerasan akan seperti meningkatkan pagar kayu putih menjadi rantai setinggi enam kaki dan menambahkan kait dengan kunci di atasnya. Seseorang yang cukup bertekad masih bisa memanjat pagar, tetapi anak yang memotong halaman Anda mungkin tidak akan mengganggu lagi, karena ini terlalu banyak pekerjaan.

Lihat, keamanan komputer bukanlah tentang sepenuhnya tidak dapat dipecahkan, kecuali jika Anda adalah Oracle; ini tentang menjadi cukup aman untuk sulit dibobol, sementara masih cukup terbuka sehingga sistem Anda benar-benar dapat melakukan apa yang dirancang untuk dilakukan. Server web yang sangat terkunci sehingga Anda tidak dapat menjalankan situs web di dalamnya bukanlah server web yang sangat bagus—seperti pagar rantai tanpa gerbang.

Tips pengerasan

Di bawah ini bukanlah petunjuk langkah demi langkah, melainkan beberapa poin umum yang perlu dipertimbangkan saat Anda bekerja keras untuk memperkuat sistem Anda.

Singkirkan GUI

Apakah Anda menjalankan workstation? Atau server? Server tidak membutuhkan GUI. Hanya satu hal lagi yang memakan ruang dan CPU. Ketika saya menginstal sebuah sistem, saya menginstalnya dengan jejak terkecil mutlak yang diizinkan oleh penginstal. Itu berarti tidak ada GUI. Anda hanya tidak membutuhkannya. Ada beberapa aplikasi yang memerlukan lingkungan X untuk diinstal dan dikelola (yang konyol di era sekarang, tetapi itu memang terjadi). Namun, jika Anda tidak menjalankan salah satunya, jangan repot-repot menginstal GUI atau mengkhawatirkan persyaratannya.

Layanan yang tidak perlu

Bergantung pada distro Anda, Anda mungkin memiliki beberapa layanan yang diinstal sebagai bagian dari basis yang tidak diperlukan, seperti pada hari-hari Telnet yang saya rujuk sebelumnya — ketika distro masih bertransisi dari Telnet ke SSH untuk manajemen, Anda akan mengaktifkan keduanya dari instalasi dasar. Anda harus memilih mana yang ingin Anda simpan, jadi Anda mungkin ingin menonaktifkan Telnet atau setidaknya mematikannya. Saat ini, layanan tersebut mungkin lebih seperti layanan pencetakan CUPS atau mungkin Mail Transfer Agent (MTA) sistem. Mereka dapat dikonfigurasi di luar kotak untuk mendengarkan koneksi masuk. Meskipun Anda mungkin membutuhkan MTA, Anda tidak memerlukannya untuk menerima koneksi eksternal. Di systemd sistem, Anda dapat membuat daftar semua layanan aktif dengan cukup mudah. Anda juga dapat meninjau keluaran netstat atau ss untuk melihat layanan apa yang mendengarkan koneksi. Jika Anda tidak tahu apa itu layanan, sekaranglah saat yang tepat untuk membaca.

Akses pengguna

Kecuali Anda menjalankan server shell, di mana orang benar-benar membutuhkan akses, Anda mungkin ingin berpikir keras tentang siapa yang Anda berikan akun shell di sistem Anda. Ini belum tentu praktik pengerasan sebanyak administrasi yang baik. Semakin banyak akun yang ada, semakin besar jejak akun yang dapat dikompromikan. Juga merupakan ide bagus untuk SANGAT berhati-hati dalam membagikan sudo hak istimewa. Tidak seorang pun boleh memiliki kata sandi root, selain dari mungkin tim administrasi sistem (dan bahkan mereka tidak boleh menggunakannya kecuali benar-benar diperlukan). Sudo ada karena suatu alasan; menggunakannya.

Firewall berbasis host

Saya membicarakan hal ini sedikit dalam seri saya tentang pertahanan secara mendalam. Firewall berbasis host adalah garis akhir pertahanan jaringan; Gunakan. Di luar kotak, distro Anda mungkin memiliki firewall yang terbuka lebar, atau mungkin memiliki beberapa port default yang terbuka. Bagaimana aturan firewall dihentikan? Apakah ini sistem terbuka default atau sistem tertutup default? Saya tidak pernah melihat alasan, selain dari pemecahan masalah, untuk memiliki firewall terbuka default. Saya bisa melihat bagaimana instalasi dasar mungkin membuat firewall dikonfigurasi seperti itu, jadi ada baiknya untuk mengetahui atau mencari tahu. Semua aturan firewall licik di dunia tidak ada gunanya jika firewall Anda secara default terbuka. Perangkat lunak harus terbuka; firewall harus ditutup.

Protokol aman

Ada saat ketika Anda hanya mengenkripsi lalu lintas yang memiliki peluang wajar untuk bertukar data pribadi, seperti kata sandi. Ini karena enkripsi membutuhkan biaya. Menghancurkan angka adalah keahlian komputer, tetapi mengenkripsi setiap bit komunikasi menambahkan latensi. Tidak banyak, tapi bertambah. Yah, itu tidak benar-benar masalah yang dulu. Kami berada pada titik sekarang di mana benar-benar tidak ada alasan untuk tidak mengenkripsi lalu lintas yang datang ke dan dari sistem Anda. Anda dapat mengenkripsi TLS dengan LetsEncrypt secara gratis, dan manajemen melalui SSH bahkan bukan pertanyaan lagi. Saya yakin ada kasus tepi di sini, tetapi saya bertaruh bahwa, sebagian besar waktu, jawaban untuk "Haruskah ini dienkripsi?" kemungkinan besar "ya".

Ingat saldo

Ingatlah bahwa keamanan adalah keseimbangan antara aksesibilitas, kegunaan, dan pembatasan. Terlalu jauh ke salah satu arah itu, dan Anda akan mendapat masalah.

[ Unduhan gratis:Lembar contekan perintah Linux tingkat lanjut. ]


Linux
  1. Pindai keamanan Linux Anda dengan Lynis

  2. Memahami panggilan sistem di Linux dengan strace

  3. Perintah Shutdown Linux (dengan Contoh)

  1. Tingkatkan kinerja sistem Linux dengan noatime

  2. Menjadwalkan tugas sistem dengan Cron di Linux

  3. Pemantauan keamanan di Linux dengan Tripwire

  1. Pantau sistem Linux Anda di terminal Anda dengan procps-ng

  2. Bertahan dari audit keamanan dengan Linux perusahaan

  3. Keamanan Linux:Lindungi sistem Anda dengan fail2ban