Tips Memperkeras Keamanan Server Linux - PTIK-UNM MAKASSAR
Breaking News

Tips Memperkeras Keamanan Server Linux

Mengamankan server Linux Anda adalah penting untuk melindungi data Anda, kekayaan intelektual, dan waktu, dari tangan cracker (hacker). Sistem administrator bertanggung jawab untuk kotak keamanan Linux. Pada bagian pertama dari serangkaian keamanan server Linux, saya akan memberikan 20 Tips Memperkeras Keamanan Server Linux untuk instalasi default dari sistem Linux.


# 1: Enkripsi Komunikasi Data

Semua data yang dikirimkan melalui jaringan ini terbuka untuk pemantauan. Mengenkripsi data yang ditransmisikan bila memungkinkan dengan sandi atau menggunakan kunci / sertifikat.


  • Gunakan scp, ssh , rsync, atau SFTP untuk transfer file. Anda juga dapat me-mount server sistem file jarak jauh atau rumah Anda sendiri direktori menggunakan sshfs khusus dan alat sekering.
  • GnuPG memungkinkan untuk mengenkripsi dan menandatangani data dan komunikasi, fitur sistem kunci managment serbaguna serta modul akses untuk semua jenis direktori kunci publik.
  • Fugu adalah frontend grafis untuk aplikasi File Transfer commandline Secure (SFTP). SFTP mirip dengan FTP, tapi tidak seperti FTP, seluruh sesi dienkripsi, artinya tidak ada password yang dikirim dalam bentuk teks-jelas, dan dengan demikian jauh lebih sedikit rentan terhadap pihak ketiga intersepsi. Pilihan lainnya adalah filezilla – klien cross-platform yang mendukung FTP, FTP melalui SSL / TLS (FTPS), dan SSH File Transfer Protocol (SFTP).
  • OpenVPN adalah biaya-efektif, ringan SSL VPN.
  • Lighttpd SSL (Layer Secure Server) Https Konfigurasi Dan Instalasi
  • Apache SSL (Layer Secure Server) Https (mod_ssl) Konfigurasi Dan Instalasi


# 1,1: Hindari Menggunakan FTP, Telnet, rlogin Dan / RSH

Dalam konfigurasi jaringan yang paling, nama pengguna, password, FTP / telnet / perintah rsh dan file yang ditransfer dapat ditangkap oleh siapa saja di jaringan yang sama menggunakan packet sniffer. Solusi yang umum untuk masalah ini adalah dengan menggunakan salah OpenSSH , SFTP, atau FTPS (FTP over SSL), yang menambahkan enkripsi SSL atau TLS untuk FTP. Ketik perintah berikut untuk menghapus NIS, rsh dan layanan usang lain:

# yum erase inetd xinetd ypserv tftp-server telnet-server rsh-serve


# 2: Minimalkan Software untuk Minimalkan Kerentanan

Apakah Anda benar-benar membutuhkan semua jenis layanan web diinstal? Hindari menginstal perangkat lunak yang tidak perlu untuk menghindari kerentanan dalam perangkat lunak. Gunakan manajer paket RPM seperti sebagai yum atau apt-get dan / atau dpkg untuk meninjau siap diinstal paket perangkat lunak pada sebuah sistem. Hapus semua paket yang tidak diinginkan.

# yum list installed
# yum list packageName
# yum remove packageName

ATAU

# dpkg --list
# dpkg --info packageName
# apt-get remove packageName


# 3: Satu Layanan Jaringan Per Sistem atau VM Instance

Jalankan layanan jaringan yang berbeda pada server terpisah atau contoh VM. Hal ini membatasi jumlah layanan lainnya yang dapat dikompromikan. Misalnya, jika seorang penyerang berhasil memanfaatkan perangkat lunak seperti aliran Apache, dia / dia akan mendapatkan akses ke seluruh server termasuk jasa lainnya seperti MySQL, e-mail server dan sebagainya.


# 4: Jaga Kernel Linux dan Perangkat Lunak Sampai Tanggal

Menerapkan patch keamanan merupakan bagian penting dari menjaga server Linux. Linux menyediakan semua alat yang diperlukan untuk menjaga sistem anda diperbarui, dan juga memungkinkan untuk upgrade mudah antara versi. Semua update keamanan harus ditinjau ulang dan diterapkan sesegera mungkin. Sekali lagi, gunakan manajer paket RPM seperti sebagai yum dan / atau apt-get dan / atau dpkg untuk menerapkan semua update keamanan.

# yum update

ATAU

# apt-get update && apt-get upgrade

Anda dapat mengkonfigurasi Red Hat / CentOS / Fedora Linux untuk mengirim paket yum update pemberitahuan melalui email . Pilihan lain adalah untuk menerapkan semua pembaruan keamanan melalui sebuah tugas cron. Dalam Debian / Ubuntu Linux Anda dapat menggunakan apticron untuk mengirim pemberitahuan keamanan.

# 5: Gunakan Extensions Keamanan Linux
Linux datang dengan berbagai patch keamanan yang dapat digunakan untuk menjaga terhadap program miskonfigurasi atau dikompromikan. Bila mungkin, gunakan SELinux dan keamanan Linux ekstensi untuk menegakkan keterbatasan pada program jaringan dan lainnya. Sebagai contoh, SELinux menyediakan berbagai kebijakan keamanan untuk kernel Linux.
# 5,1: SELinux
Saya sangat menyarankan menggunakan SELinux yang menyediakan Access Control fleksibel Wajib (MAC). Berdasarkan standar Linux Discretionary Access Control (DAC), sebuah aplikasi atau proses yang berjalan sebagai user (UID atau SUID) memiliki izin pengguna untuk objek seperti file, soket, dan proses lainnya. Menjalankan sebuah kernel MAC melindungi sistem dari aplikasi berbahaya atau surim yang dapat merusak atau menghancurkan sistem. Lihat resmi Redhat dokumentasi yang menjelaskan konfigurasi SELinux.

# 6: Account Pengguna dan Kebijakan Password Kuat
Gunakan useradd / usermod perintah untuk membuat dan memelihara account pengguna. Pastikan Anda memiliki kebijakan password yang baik dan kuat. Sebagai contoh, password yang baik mencakup minimal 8 karakter dan harus campuran huruf, angka, karakter khusus, atas & bawah dll huruf paling penting memilih password yang mudah anda ingat. Gunakan alat seperti ” Yohanes ripper “untuk mengetahui password yang lemah pengguna pada server Anda. Konfigurasi pam_cracklib.so untuk menegakkan kebijakan password.
# 6.1: Penuaan Sandi
Para perintah change mengubah jumlah hari antara perubahan password dan tanggal perubahan password terakhir. Informasi ini digunakan oleh sistem untuk menentukan kapan pengguna harus mengubah / passwordnya. The / etc / login.defs file yang mendefinisikan konfigurasi situs-khusus untuk password shadow termasuk konfigurasi sandi penuaan. Untuk menonaktifkan penuaan password, masukkan:

chage -M 99999 userName

Untuk mendapatkan informasi password kadaluarsa, masukkan:

chage -l userName

Akhirnya, Anda juga dapat mengedit file / etc / shadow dalam bidang berikut:

{userName}:{password}:{lastpasswdchanged}:{Minimum_days}:{Maximum_days}:{Warn}:{Inactive}:{Expire}:

Dimana,

  • Minimum_days: Jumlah minimum hari yang dibutuhkan antara perubahan password yaitu jumlah hari tersisa sebelum user diijinkan untuk mengubah / passwordnya.
  • Maximum_days: Jumlah maksimum hari password berlaku (setelah pengguna yang dipaksa untuk mengubah / passwordnya).
  • Peringatkan: Jumlah hari sebelum password berakhir pengguna yang memperingatkan bahwa / passwordnya harus diubah.
  • Expire: Hari sejak Jan 1, 1970 bahwa account dinonaktifkan yaitu tanggal mutlak menentukan ketika login mungkin tidak lagi digunakan.
Saya sarankan perintah change bukan mengedit / etc / shadow dengan tangan:

# chage -M 60 -m 7 -W 7 userName

# 6,2: Gunakan pembatasnya Password Sebelumnya
Anda dapat mencegah semua pengguna dari menggunakan atau menggunakan kembali password lama yang sama di Linux. Para parameter modul pam_unix ingat dapat digunakan untuk mengkonfigurasi jumlah password sebelumnya yang tidak dapat digunakan kembali.
# 6,3: Mengunci User Account Setelah Kegagalan Login
Di Linux Anda dapat menggunakan perintah faillog untuk menampilkan catatan faillog atau untuk menetapkan batas kegagalan login. faillog format isi log kegagalan dari / var / log / faillog database / file log. Hal ini juga dapat digunakan untuk menjaga counter kegagalan dan limits.To melihat usaha login gagal, masukkan:

faillog

Untuk membuka rekening melalui kegagalan login, jalankan:

faillog -r -u userName 

Catatan Anda dapat menggunakan perintah passwd untuk mengunci dan membuka account:

# lock account
passwd -l userName
# unlocak account
passwd -u userName

# 6,4: Bagaimana cara Verifikasi Account No Memiliki Password Kosong?
Ketik perintah berikut

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

Kunci semua account password kosong:

# passwd -l accountName

# 6,5: Pastikan Tidak ada Non-Root Account Set Untuk Memiliki UID 0
Account root hanya memiliki UID 0 dengan hak akses penuh untuk mengakses sistem. Ketik perintah berikut untuk menampilkan semua account dengan UID set ke 0:

# awk -F: '($3 == "0") {print}' /etc/passwd

Anda hanya akan melihat satu baris sebagai berikut:

root:x:0:0:root:/root:/bin/bash

Jika Anda melihat garis lain, menghapusnya atau pastikan rekening lainnya disahkan Anda untuk menggunakan UID 0.


# 7: Menonaktifkan Login root
Jangan pernah login sebagai user root. Anda harus menggunakan sudo untuk menjalankan perintah sebagai root level dan saat diperlukan. sudo tidak sangat meningkatkan keamanan sistem tanpa password root berbagi dengan pengguna lain dan admin. sudo menyediakan sederhana audit dan pelacakan fitur juga.


# 8: Keamanan Fisik Server
Anda harus melindungi server Linux akses konsol fisik. Konfigurasi BIOS dan menonaktifkan boot dari perangkat eksternal seperti DVD / CD / USB pen. Set BIOS dan grub password boot loader untuk melindungi pengaturan ini. Semua kotak produksi harus terkunci di IDCs (Internet Data Center) dan semua orang harus melewati beberapa jenis pemeriksaan keamanan sebelum mengakses server Anda.


# 9: Disable Services yang tidak di inginkan
Menonaktifkan semua service yang tidak perlu dan daemon (layanan yang berjalan di latar belakang). Anda harus menghapus semua layanan yang tidak diinginkan dari sistem start-up. Ketik berikut perintah untuk membuat daftar semua layanan yang dimulai pada saat boot di runlevel 3:

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

Untuk menonaktifkan service, masukkan:

# service serviceName stop
# chkconfig serviceName off

# 9,1: Cari Listening Port Jaringan
Gunakan perintah berikut untuk daftar semua port terbuka dan program yang terkait:

netstat -tulpn

ATAU

nmap -sT -O localhost
nmap -sT -O server.example.com

Gunakan iptables untuk menutup port terbuka atau menghentikan semua layanan jaringan yang tidak diinginkan menggunakan layanan di atas dan perintah chkconfig.
# 9,2:

  • update-rc.d seperti perintah pada Redhat Enterprise / CentOS Linux .
  • Ubuntu / Debian Linux: Services Configuration Tool untuk Start / Stop System Services .
  • Dapatkan Detil Informasi Tentang IP khusus Koneksi alamat Menggunakan Perintah netstat.

# 10: Hapus X Windows
X Windows di server tidak diperlukan. Tidak ada alasan untuk menjalankan X Windows pada mail khusus Anda dan server web Apache. Anda dapat menonaktifkan dan menghapus X Windows untuk meningkatkan keamanan server dan kinerja. Mengedit / etc / inittab dan set run level ke 3. Akhirnya, menghapus sistem Windows X, masukkan:

# yum groupremove "X Window System"

Lihat lanjutannya disini

Tidak ada komentar untuk "Tips Memperkeras Keamanan Server Linux"