25 Tips Keamanan Hardening untuk Server Linux

instagram story viewer

Semua orang mengatakan itu Linux aman secara default dan disetujui untuk beberapa perluasan (Ini topik yang bisa diperdebatkan). Namun, Linux memiliki model keamanan bawaan secara default. Perlu menyetelnya dan menyesuaikan sesuai kebutuhan Anda yang dapat membantu membuat sistem lebih aman. Linux lebih sulit untuk dikelola tetapi menawarkan lebih banyak fleksibilitas dan opsi konfigurasi.

Tips Keamanan dan Pengerasan Linux
25 Tips Keamanan dan Pengerasan Linux

Mengamankan sistem dalam produksi dari tangan peretas dan biskuit adalah tugas yang menantang untuk Administrator sistem. Ini adalah artikel pertama kami terkait dengan “Cara Mengamankan kotak Linux" atau "Memperkuat Kotak Linux“. Dalam posting ini Kami akan menjelaskan 25 tips & trik bermanfaat untuk mengamankan sistem Linux Anda. Semoga, tips & trik di bawah ini akan membantu Anda memperluas untuk mengamankan sistem Anda.

1. Keamanan Sistem Fisik

Konfigurasikan BIOS untuk menonaktifkan boot dari CD/DVD, Perangkat Eksternal, Floppy Drive di dalam BIOS. Selanjutnya, aktifkan BIOS kata sandi & juga melindungi GRUB dengan kata sandi untuk membatasi akses fisik sistem Anda.

  1. Setel Kata Sandi GRUB untuk Melindungi Server Linux

2. Partisi Disk

Sangat penting untuk memiliki partisi yang berbeda untuk mendapatkan keamanan data yang lebih tinggi jika terjadi bencana. Dengan membuat partisi yang berbeda, data dapat dipisahkan dan dikelompokkan. Ketika terjadi kecelakaan yang tidak terduga, hanya data dari partisi tersebut yang akan rusak, sedangkan data pada partisi lain akan selamat. Pastikan Anda harus memiliki partisi terpisah berikut dan pastikan bahwa aplikasi pihak ketiga harus diinstal pada sistem file terpisah di bawah /opt.

/ /boot. /usr. /var. /home. /tmp. /opt

3. Minimalkan Paket untuk Meminimalkan Kerentanan

Apakah Anda benar-benar ingin semua jenis layanan diinstal?. Disarankan untuk menghindari menginstal paket yang tidak berguna untuk menghindari kerentanan dalam paket. Ini dapat meminimalkan risiko bahwa kompromi satu layanan dapat menyebabkan kompromi layanan lain. Temukan dan hapus atau nonaktifkan layanan yang tidak diinginkan dari server untuk meminimalkan kerentanan. Menggunakan 'chkconfig' perintah untuk mengetahui layanan yang sedang berjalan runlevel 3.

# /sbin/chkconfig --list |grep '3:on'

Setelah Anda mengetahui layanan yang tidak diinginkan sedang berjalan, nonaktifkan mereka menggunakan perintah berikut.

# nama layanan chkconfig nonaktif

Menggunakan RPM manajer paket seperti “enak" atau "apt-get” alat untuk membuat daftar semua paket yang diinstal pada sistem dan menghapusnya menggunakan perintah berikut.

# yum -y hapus nama paket
# sudo apt-get hapus nama paket
  1. 5 Contoh Perintah chkconfig
  2. 20 Contoh Praktis Perintah RPM
  3. 20 Perintah YUM Linux untuk Manajemen Paket Linux
  4. 25 Perintah APT-GET dan APT-CACHE untuk Mengelola Manajemen Paket

4. Periksa Port Jaringan Mendengarkan

Dengan bantuan 'status bersih' perintah jaringan Anda dapat melihat semua port terbuka dan program terkait. Seperti yang saya katakan di atas gunakan 'chkconfig' perintah untuk menonaktifkan semua layanan jaringan yang tidak diinginkan dari sistem.

# netstat -tulpn
  1. 20 Perintah Netstat untuk Manajemen Jaringan di Linux

5. Gunakan Shell Aman (SSH)

Telnet dan masuk protokol menggunakan teks biasa, bukan format terenkripsi yang merupakan pelanggaran keamanan. SSH adalah protokol aman yang menggunakan teknologi enkripsi selama komunikasi dengan server.

Jangan pernah login secara langsung sebagai akar kecuali diperlukan. Menggunakan "sudo” untuk menjalankan perintah. sudo ditentukan dalam /etc/sudoers file juga dapat diedit dengan "visudo” utilitas yang terbuka di VI editor.

Juga disarankan untuk mengubah default SSH 22 nomor port dengan beberapa nomor port tingkat yang lebih tinggi lainnya. Buka utama SSH file konfigurasi dan buat beberapa parameter berikut untuk membatasi akses pengguna.

# vi /etc/ssh/sshd_config
Nonaktifkan Login root
IzinRootLogin no
Hanya izinkan Pengguna Tertentu
Izinkan nama pengguna
Gunakan Protokol SSH 2 Versi
Protokol 2
  1. 5 Praktik Terbaik untuk Mengamankan dan Melindungi Server SSH

6. Tetap perbarui Sistem

Selalu perbarui sistem dengan patch rilis terbaru, perbaikan keamanan, dan kernel saat tersedia.

# pembaruan yum. #yum cek update

7. Lockdown Cronjobs

Krona memiliki fitur bawaannya sendiri, yang memungkinkan untuk menentukan siapa yang boleh, dan siapa yang tidak ingin menjalankan pekerjaan. Ini dikendalikan oleh penggunaan file yang disebut /etc/cron.allow dan /etc/cron.deny. Untuk mengunci pengguna menggunakan cron, cukup tambahkan nama pengguna di cron.deny dan untuk memungkinkan pengguna menjalankan cron add in cron.allow mengajukan. Jika Anda ingin menonaktifkan semua pengguna dari menggunakan cron, tambahkan 'SEMUA'baris ke cron.deny mengajukan.

# echo SEMUA >>/etc/cron.deny
  1. 11 Contoh Penjadwalan Cron di Linux

8. Nonaktifkan stik USB untuk Mendeteksi

Sering kali kami ingin membatasi pengguna untuk menggunakan USB tetap dalam sistem untuk melindungi dan mengamankan data dari pencurian. Buat file'/etc/modprobe.d/no-usb' dan menambahkan baris di bawah ini tidak akan mendeteksi USB penyimpanan.

instal penyimpanan usb /bin/true

9. Aktifkan SELinux

Linux yang Ditingkatkan Keamanan (SELinux) adalah mekanisme keamanan kontrol akses wajib yang disediakan di kernel. Menonaktifkan SELinux berarti menghapus mekanisme keamanan dari sistem. Pikirkan dua kali dengan hati-hati sebelum menghapus, jika sistem Anda terhubung ke internet dan diakses oleh publik, maka pikirkan lagi.

SELinux menyediakan tiga mode dasar operasi dan mereka.

  1. Menegakkan: Ini adalah mode default yang mengaktifkan dan menegakkan SELinux kebijakan keamanan pada mesin.
  2. Permisif: Dalam mode ini, SELinux tidak akan memberlakukan kebijakan keamanan pada sistem, hanya memperingatkan dan mencatat tindakan. Mode ini sangat berguna dalam hal pemecahan masalah SELinux masalah terkait.
  3. Dengan disabilitas: SELinux dimatikan.

Anda dapat melihat status saat ini dari SELinux mode dari baris perintah menggunakan 'sistem-config-selinux‘, ‘dapatkan kekuatan' atau 'status' perintah.

# status

Jika dinonaktifkan, aktifkan SELinux menggunakan perintah berikut.

#menegakkan penegakan

Itu juga dapat dikelola dari '/etc/selinux/config', di mana Anda dapat mengaktifkan atau menonaktifkannya.

10. Hapus Desktop KDE/GNOME

Tidak perlu lari Jendela X desktop seperti KDE atau GNOME pada dedikasimu LAMPU server. Anda dapat menghapus atau menonaktifkannya untuk meningkatkan keamanan server dan kinerja. Untuk menonaktifkan sederhana buka file '/etc/inittab' dan atur level lari ke 3. Jika Anda ingin menghapusnya sepenuhnya dari sistem, gunakan perintah di bawah ini.

# yum grouphapus "Sistem X Window"

11. Matikan IPv6

Jika Anda tidak menggunakan IPv6 protokol, maka Anda harus menonaktifkannya karena sebagian besar aplikasi atau kebijakan tidak diperlukan IPv6 protokol dan saat ini tidak diperlukan di server. Buka file konfigurasi jaringan dan tambahkan baris berikut untuk menonaktifkannya.

# vi /etc/sysconfig/network
NETWORKING_IPV6=tidak. IPV6INIT=tidak

12. Batasi Pengguna untuk Menggunakan Kata Sandi Lama

Ini sangat berguna jika Anda ingin melarang pengguna menggunakan kata sandi lama yang sama. File kata sandi lama terletak di /etc/security/opasswd. Ini dapat dicapai dengan menggunakan PAM modul.

Membuka '/etc/pam.d/system-auth'berkas di bawah RHEL / CentOS / Fedora.

# vi /etc/pam.d/system-auth

Membuka ‘/etc/pam.d/common-password'berkas di bawah Ubuntu/Debian/Linux Mint.

# vi /etc/pam.d/common-password

Tambahkan baris berikut ke ‘auth' bagian.

auth cukup pam_unix.so likeauth nullok

Tambahkan baris berikut ke ‘kata sandi' bagian untuk melarang pengguna menggunakan kembali yang terakhir 5 sandi miliknya.

kata sandi cukup pam_unix.so nullok use_authtok md5 shadow ingat=5

Hanya terakhir 5 password diingat oleh server. Jika Anda mencoba menggunakan yang terakhir 5 kata sandi lama, Anda akan mendapatkan kesalahan seperti.

Kata sandi telah digunakan. Pilih yang lain.

13. Cara Memeriksa Kedaluwarsa Kata Sandi Pengguna

Di Linux, kata sandi pengguna disimpan di '/etc/shadow' file dalam format terenkripsi. Untuk memeriksa kedaluwarsa kata sandi pengguna, Anda perlu menggunakan 'chage' memerintah. Ini menampilkan informasi rincian kedaluwarsa kata sandi bersama dengan tanggal perubahan kata sandi terakhir. Detail ini digunakan oleh sistem untuk memutuskan kapan pengguna harus mengubah kata sandinya.

Untuk melihat informasi penuaan pengguna yang ada seperti tanggal kadaluarsa dan waktu, gunakan perintah berikut.

#chage -l nama pengguna

Untuk mengubah penuaan kata sandi pengguna mana pun, gunakan perintah berikut.

#chage -M 60 nama pengguna. #chage -M 60 -m 7 -W 7 nama pengguna
Parameter
  1. -M Tetapkan jumlah hari maksimum
  2. -M Tetapkan jumlah hari minimum
  3. -W Tetapkan jumlah hari peringatan

14. Kunci dan Buka Kunci Akun Secara Manual

Fitur kunci dan buka kunci sangat berguna, alih-alih menghapus akun dari sistem, Anda dapat menguncinya selama seminggu atau sebulan. Untuk mengunci pengguna tertentu, Anda dapat menggunakan perintah ikuti.

# passwd -l nama akun

Catatan: Pengguna yang terkunci masih tersedia untuk akar pengguna saja. Penguncian dilakukan dengan mengganti kata sandi terenkripsi dengan (!) rangkaian. Jika seseorang mencoba mengakses sistem menggunakan akun ini, dia akan mendapatkan kesalahan yang mirip dengan di bawah ini.

# su - nama akun. Akun ini saat ini tidak tersedia.

Untuk membuka kunci atau mengaktifkan akses ke akun yang terkunci, gunakan perintah sebagai. Ini akan menghapus (!) string dengan kata sandi terenkripsi.

# passwd -u nama akun

15. Menegakkan Kata Sandi yang Lebih Kuat

Sejumlah pengguna menggunakan kata sandi lunak atau lemah dan kata sandi mereka mungkin diretas dengan berdasarkan kamus atau kasar serangan. NS 'pam_cracklib' modul tersedia di PAM (Modul Otentikasi yang Dapat Dipasang) tumpukan modul yang akan memaksa pengguna untuk mengatur kata sandi yang kuat. Buka file berikut dengan editor.

Baca Juga:

# vi /etc/pam.d/system-auth

Dan tambahkan baris menggunakan parameter kredit sebagai (kredit, ukredit, dcredit dan/atau okredit masing-masing huruf kecil, huruf besar, angka dan lainnya)

/lib/security/$ISA/pam_cracklib.so coba lagi=3 minlen=8 lcredit=-1 ucredit=-2 dcredit=-2 ocredit=-1

16. Aktifkan Iptables (Firewall)

Sangat disarankan untuk mengaktifkan firewall Linux untuk mengamankan akses tidak sah ke server Anda. Terapkan aturan di iptables untuk menyaring masuk, keluar dan penerusan paket. Kami dapat menentukan sumber dan alamat tujuan untuk mengizinkan dan menolak secara spesifik udp/tcp nomor port.

  1. Panduan dan Tip IPTables Dasar

17. Nonaktifkan Ctrl+Alt+Delete di Inittab

Di sebagian besar distribusi Linux, menekan 'CTRL-ALT-DELETE' akan membawa sistem Anda ke proses reboot. Jadi, bukan ide yang baik untuk mengaktifkan opsi ini setidaknya di server produksi, jika seseorang secara tidak sengaja melakukan ini.

Ini didefinisikan dalam '/etc/inittab', jika Anda melihat lebih dekat di file itu, Anda akan melihat baris yang mirip dengan di bawah ini. Secara default, baris tidak dikomentari. Kita harus mengomentarinya. Pensinyalan urutan kunci khusus ini akan mematikan sistem.

# Perangkap CTRL-ALT-DELETE. #ca:: ctrlaltdel:/sbin/shutdown -t3 -r sekarang

18. Memeriksa Akun untuk Kata Sandi Kosong

Setiap akun yang memiliki kata sandi kosong berarti dibuka untuk akses tidak sah ke siapa pun di web dan itu adalah bagian dari keamanan dalam server Linux. Jadi, Anda harus memastikan semua akun memiliki kata sandi yang kuat dan tidak ada yang memiliki akses resmi. Akun kata sandi kosong adalah risiko keamanan dan dapat dengan mudah diretas. Untuk memeriksa apakah ada akun dengan kata sandi kosong, gunakan perintah berikut.

# cat /etc/shadow | awk -F: '($2==""){print $1}'

19. Tampilkan Spanduk SSH Sebelum Login

Itu selalu merupakan ide yang lebih baik untuk memiliki spanduk legal atau spanduk keamanan dengan beberapa peringatan keamanan sebelum otentikasi SSH. Untuk memasang spanduk seperti itu, baca artikel berikut.

  1. Tampilkan Pesan Peringatan SSH kepada Pengguna

20. Pantau Aktivitas Pengguna

Jika Anda berurusan dengan banyak pengguna, maka penting untuk mengumpulkan informasi dari setiap aktivitas pengguna dan proses yang dikonsumsi oleh mereka dan menganalisisnya di lain waktu atau jika ada jenis kinerja, keamanan masalah. Tetapi bagaimana kami dapat memantau dan mengumpulkan informasi aktivitas pengguna.

Ada dua alat yang berguna yang disebut 'pas' dan 'akun' digunakan untuk memantau aktivitas dan proses pengguna pada suatu sistem. Alat-alat ini berjalan di latar belakang sistem dan terus melacak setiap aktivitas pengguna pada sistem dan sumber daya yang dikonsumsi oleh layanan seperti: Apache, MySQL, SSH, FTP, dll. Untuk informasi lebih lanjut tentang instalasi, konfigurasi dan penggunaan, kunjungi url di bawah ini.

  1. Pantau Aktivitas Pengguna dengan Perintah psacct atau acct

21. Tinjau Log Secara Teratur

Pindahkan log di server log khusus, ini dapat mencegah penyusup memodifikasi log lokal dengan mudah. Di bawah ini adalah nama file log default umum Linux dan penggunaannya:

  1. /var/log/message – Di mana seluruh log sistem atau log aktivitas saat ini tersedia.
  2. /var/log/auth.log - Log otentikasi.
  3. /var/log/kern.log - Log kernel.
  4. /var/log/cron.log – Log Crond (pekerjaan cron).
  5. /var/log/maillog - Log server surat.
  6. /var/log/boot.log – Log boot sistem.
  7. /var/log/mysqld.log – File log server database MySQL.
  8. /var/log/secure - Log otentikasi.
  9. /var/log/utmp atau /var/log/wtmp: File catatan login.
  10. /var/log/yum.log: File log Yum.

22. Cadangan file penting

Dalam sistem produksi, perlu untuk mengambil cadangan file penting dan menyimpannya di brankas, situs jarak jauh atau di luar lokasi untuk pemulihan Bencana.

23. Ikatan NIC

Ada dua jenis mode dalam NIC ikatan, perlu disebutkan dalam antarmuka ikatan.

  1. modus = 0 – Putaran Robin
  2. modus=1 – Aktif dan Cadangan

Ikatan NIC membantu kita untuk menghindari satu titik kegagalan. Di dalam NIC ikatan, kita mengikat dua atau lebih Kartu Ethernet Jaringan bersama-sama dan membuat satu Antarmuka virtual tunggal di mana kita dapat menetapkan AKU P alamat untuk berbicara dengan server lain. Jaringan kami akan tersedia dalam kasus satu Kartu NIC sedang down atau tidak tersedia karena alasan apapun.

Baca Juga: Buat Ikatan Saluran NIC di Linux

24. Simpan /boot sebagai hanya-baca

Kernel Linux dan file terkaitnya ada di /boot direktori yang secara default sebagai Baca tulis. Mengubahnya menjadi hanya baca mengurangi risiko modifikasi tidak sah dari file boot penting. Untuk melakukan ini, buka “/etc/fstabberkas.

# vi /etc/fstab

Tambahkan baris berikut di bagian bawah, simpan dan tutup.

LABEL=/boot /boot ext2 default, ro 1 2

Harap dicatat bahwa Anda perlu mengatur ulang perubahan menjadi baca-tulis jika Anda perlu memutakhirkan kernel di masa mendatang.

25. Abaikan ICMP atau Permintaan Siaran

Tambahkan baris berikut di “/etc/sysctl.conf”berkas untuk diabaikan ping atau siaran meminta.

Abaikan permintaan ICMP: net.ipv4.icmp_echo_ignore_all = 1 Abaikan permintaan Broadcast: net.ipv4.icmp_echo_ignore_broadcasts = 1

Muat pengaturan atau perubahan baru, dengan menjalankan perintah berikut

#sysctl -p

Jika Anda melewatkan tip keamanan atau pengerasan penting dalam daftar di atas, atau Anda memiliki tip lain yang perlu dimasukkan dalam daftar. Silakan tinggalkan komentar Anda di kotak komentar kami. TecMint selalu tertarik untuk menerima komentar, saran serta diskusi untuk perbaikan.

Teachs.ru