20 Tips Keamanan Pengerasan Server CentOS - Bagian 1
Tutorial ini hanya mencakup tip keamanan umum untuk CentOS 8/7 yang dapat digunakan untuk memperkuat sistem. Tip daftar periksa ini dimaksudkan untuk digunakan sebagian besar pada berbagai jenis server bare-metal atau pada mesin (fisik atau virtual) yang menyediakan layanan jaringan.
Namun, beberapa tips juga dapat berhasil diterapkan pada mesin serba guna, seperti Desktop, Laptop, dan komputer papan tunggal berukuran kartu (Raspberry Pi).
Persyaratan
- Instalasi Minimal CentOS 8
- Instalasi Minimal CentOS 7
1. Perlindungan Fisik
Kunci akses ruang server Anda, gunakan penguncian rak dan pengawasan video. Pertimbangkan bahwa akses fisik apa pun ke ruang server dapat membuat mesin Anda terkena masalah keamanan yang serius.
Kata sandi BIOS dapat diubah dengan menyetel ulang jumper pada motherboard atau dengan melepaskan baterai CMOS. Selain itu, penyusup dapat mencuri hard disk atau langsung memasang hard disk baru ke antarmuka motherboard (SATA, SCSI, dll), melakukan booting dengan distro Linux langsung, dan mengkloning atau menyalin data tanpa meninggalkan jejak perangkat lunak apa pun.
2. Mengurangi Dampak Spionase
Dalam kasus data yang sangat sensitif, Anda mungkin harus menggunakan perlindungan fisik tingkat lanjut seperti menempatkan dan mengunci server ke dalam Faraday Cage atau menggunakan solusi TEMPEST militer untuk meminimalkan dampak memata-matai sistem melalui radio atau pancaran kebocoran listrik.
3. Amankan BIOS/UEFI
Mulailah proses pengerasan mesin Anda dengan mengamankan pengaturan BIOS/UEFI, terutama mengatur kata sandi BIOS/UEFI dan menonaktifkan perangkat media boot (CD, DVD, menonaktifkan dukungan USB) di untuk mencegah pengguna yang tidak berwenang mengubah pengaturan BIOS sistem atau mengubah prioritas perangkat boot dan mem-boot mesin dari media alternatif.
Untuk menerapkan perubahan jenis ini pada mesin Anda, Anda perlu membaca manual pabrikan motherboard untuk instruksi spesifik.
4. Pemuat Boot Aman
Tetapkan kata sandi GRUB untuk mencegah pengguna jahat merusak urutan boot kernel atau level proses, mengedit parameter kernel atau memulai sistem ke mode pengguna tunggal untuk membahayakan sistem Anda dan mengatur ulang root kata sandi untuk mendapatkan kontrol istimewa.
5. Gunakan Partisi Disk Terpisah
Saat menginstal CentOS pada sistem yang dimaksudkan sebagai server produksi, gunakan partisi khusus atau hard disk khusus untuk bagian sistem berikut:
/(root)
/boot
/home
/tmp
/var
6. Gunakan LVM dan RAID untuk Redundansi dan Pertumbuhan Sistem File
Partisi /var adalah tempat di mana pesan log ditulis ke disk. Bagian sistem ini dapat bertambah besar secara eksponensial pada server dengan lalu lintas padat yang mengekspos layanan jaringan seperti server web atau server file.
Oleh karena itu, gunakan partisi yang besar untuk /var atau pertimbangkan untuk menyiapkan partisi ini menggunakan volume logis (LVM) atau gabungkan beberapa disk fisik ke dalam satu perangkat RAID 0 virtual yang lebih besar untuk mempertahankan ukuran yang besar. sejumlah data. Untuk data, redundansi pertimbangkan untuk menggunakan tata letak LVM di atas level RAID 1.
Untuk menyiapkan LVM atau RAID pada disk, ikuti panduan bermanfaat kami:
- Atur Penyimpanan Disk dengan LVM di Linux
- Buat Disk LVM Menggunakan vgcreate, lvcreate dan lvextend
- Gabungkan Beberapa Disk menjadi Satu Penyimpanan Virtual Besar
- Buat RAID 1 Menggunakan Dua Disk di Linux
7. Ubah Opsi fstab untuk Mengamankan Partisi Data
Pisahkan partisi yang dimaksudkan untuk menyimpan data dan mencegah eksekusi program, file perangkat atau bit setuid pada jenis partisi ini dengan menambahkan opsi berikut ke file fstab seperti yang diilustrasikan di bawah ini kutipan:
/dev/sda5 /nas ext4 defaults,nosuid,nodev,noexec 1 2
Untuk mencegah peningkatan hak istimewa dan eksekusi skrip sewenang-wenang, buat partisi terpisah untuk /tmp dan pasang sebagai nosuid, nodev, dan noexec .
/dev/sda6 /tmp ext4 defaults,nosuid,nodev,noexec 0 0
8. Enkripsi Hard Disk pada level blok dengan LUKS
Untuk melindungi pengintaian data sensitif jika terjadi akses fisik ke hard drive mesin. Saya menyarankan Anda mempelajari cara mengenkripsi disk dengan membaca artikel kami Enkripsi Data Hard Disk Linux dengan LUKS.
9. Gunakan PGP dan Kriptografi Kunci Publik
Untuk mengenkripsi disk, gunakan perintah PGP dan Kriptografi Kunci Publik atau OpenSSL untuk mengenkripsi dan mendekripsi file sensitif dengan kata sandi seperti yang ditunjukkan dalam artikel ini Konfigurasikan Penyimpanan Sistem Linux Terenkripsi.
10. Instal Hanya Jumlah Minimum Paket yang Diperlukan
Hindari menginstal program, aplikasi, atau layanan yang tidak penting atau tidak diperlukan untuk menghindari kerentanan paket. Hal ini dapat mengurangi risiko bahwa penyusupan suatu perangkat lunak dapat menyebabkan penyusupan pada aplikasi lain, bagian dari sistem, atau bahkan sistem file, yang pada akhirnya mengakibatkan kerusakan data atau kehilangan data.
11. Perbarui sistem secara berkala
Perbarui sistem secara teratur. Jaga agar kernel Linux tetap sinkron dengan patch keamanan terbaru dan semua perangkat lunak yang diinstal selalu diperbarui dengan versi terbaru dengan mengeluarkan perintah di bawah ini:
yum update
12. Nonaktifkan Ctrl+Alt+Del
Untuk mencegah pengguna melakukan boot ulang server setelah mereka memiliki akses fisik ke keyboard atau melalui Aplikasi Konsol Jarak Jauh atau konsol tervirtualisasi (KVM, antarmuka perangkat lunak Virtualisasi), Anda harus menonaktifkan Ctrl+Alt Urutan kunci +Del
dengan menjalankan perintah di bawah ini.
systemctl mask ctrl-alt-del.target
13. Hapus Paket Perangkat Lunak yang Tidak Diperlukan
Instal perangkat lunak minimal yang diperlukan untuk mesin Anda. Jangan pernah menginstal program atau layanan tambahan. Instal paket hanya dari repositori tepercaya atau resmi. Gunakan instalasi minimal pada sistem jika mesin ditakdirkan untuk menjalankan seluruh masa pakainya sebagai server.
Verifikasi paket yang diinstal menggunakan salah satu perintah berikut:
rpm -qa
Buat daftar lokal dari semua paket yang diinstal.
yum list installed >> installed.txt
Konsultasikan daftar perangkat lunak yang tidak berguna dan hapus paket dengan mengeluarkan perintah di bawah ini:
yum remove package_name
14. Mulai ulang Layanan Systemd setelah Pembaruan Daemon
Gunakan contoh perintah di bawah ini untuk memulai ulang layanan systemd untuk menerapkan pembaruan baru.
systemctl restart httpd.service
15. Hapus Layanan yang Tidak Dibutuhkan
Identifikasi layanan yang mendengarkan pada port tertentu menggunakan perintah ss berikut.
ss -tulpn
Untuk membuat daftar semua layanan yang diinstal dengan status keluarannya, jalankan perintah di bawah ini:
systemctl list-units -t service
Misalnya, instalasi minimal default CentOS dilengkapi dengan daemon Postfix yang diinstal secara default yang dijalankan dengan nama master pada port 25. Hapus layanan jaringan Postfix jika mesin Anda tidak akan digunakan sebagai server email.
yum remove postfix
16. Enkripsi Data yang Ditransmisikan
Jangan gunakan protokol yang tidak aman untuk akses jarak jauh atau transfer file seperti Telnet, FTP, atau protokol tinggi teks biasa lainnya seperti SMTP, HTTP, NFS, atau SMB yang, dengan demikian, default, tidak mengenkripsi sesi otentikasi atau data yang dikirim.
Gunakan hanya sftp, scp untuk transfer file, dan SSH atau VNC melalui terowongan SSH untuk koneksi konsol jarak jauh atau akses GUI.
Untuk melakukan tunnel konsol VNC melalui SSH gunakan contoh di bawah ini yang meneruskan port VNC 5901 dari mesin jarak jauh ke mesin lokal Anda:
ssh -L 5902:localhost:5901 remote_machine
Di mesin lokal, jalankan perintah di bawah ini untuk membuat koneksi virtual ke titik akhir jarak jauh.
vncviewer localhost:5902
17. Pemindaian Port Jaringan
Lakukan pemeriksaan port eksternal menggunakan alat Nmap dari sistem jarak jauh melalui LAN. Jenis pemindaian ini dapat digunakan untuk memverifikasi kerentanan jaringan atau menguji aturan firewall.
nmap -sT -O 192.168.1.10
18. Firewall pemfilteran paket
Gunakan utilitas firewalld untuk melindungi port sistem, membuka atau menutup port layanan tertentu, terutama port terkenal (<1024).
Instal, mulai, aktifkan, dan daftarkan aturan firewall dengan mengeluarkan perintah di bawah ini:
yum install firewalld
systemctl start firewalld.service
systemctl enable firewalld.service
firewall-cmd --list-all
19. Periksa Paket Protokol dengan Tcpdump
Gunakan utilitas tcpdump untuk mengendus paket jaringan secara lokal dan memeriksa kontennya untuk mencari lalu lintas yang mencurigakan (port sumber-tujuan, protokol TCP/IP, lalu lintas lapisan dua, permintaan ARP yang tidak biasa).
Untuk analisis yang lebih baik terhadap file tcpdump yang diambil, gunakan program yang lebih canggih seperti Wireshark.
tcpdump -i eno16777736 -w tcpdump.pcap
20. Mencegah Serangan DNS
Periksa konten penyelesai Anda, biasanya file /etc/resolv.conf, yang menentukan alamat IP server DNS yang harus digunakan untuk menanyakan nama domain, untuk menghindari man-in-the -serangan menengah, lalu lintas yang tidak diperlukan untuk server DNS root, spoof atau membuat serangan DOS.
Ini baru bagian pertama. Pada bagian selanjutnya kita akan membahas tips keamanan lainnya untuk CentOS 8/7.