Tips Keamanan Server Linux

Embed Size (px)

Citation preview

Cara Menginstal dan Konfigurasi Server DHCP di Ubuntu ServerDHCP Server memberikan alamat IP untuk komputer klien. Hal ini sangat sering digunakan dalam jaringan perusahaan untuk mengurangi upaya konfigurasi. Semua alamat IP dari semua komputer disimpan dalam database yang berada pada mesin server. Sebuah DHCP server dapat memberikan pengaturan konfigurasi menggunakan dua metode 1. Address Pool Metode ini mencakup mendefinisikan sebuah kolam (kadang-kadang juga disebut rentang atau ruang lingkup) dari alamat IP dari DHCP klien yang diberikan properti konfigurasi mereka dinamis dan tinju pertama melayani dasar. Ketika sebuah klien DHCP tidak lagi pada jaringan untuk suatu periode tertentu, konfigurasi kadaluarsa dan dilepaskan kembali ke database alamat untuk digunakan oleh Klien DHCP lainnya. 2. MAC Address Metode ini mencakup menggunakan DHCP untuk mengidentifikasi alamat hardware yang unik dari setiap kartu jaringan yang terhubung ke jaringan dan kemudian terus-menerus memasok konfigurasi konstan setiap kali klien DHCP membuat permintaan ke server DHCP menggunakan perangkat jaringan. Menginstal DHCP Server di Ubuntu Ketik perintah : sudo apt-get install dhcp3-server Configuring DHCP server Jika Anda memiliki dua kartu jaringan di server ubuntu Anda, Anda perlu memilih antarmuka yang Anda gunakan untuk listening.By default server DHCP itu mendengarkan eth0. Anda dapat mengubah ini dengan mengedit / file etc/default/dhcp3-server Dengan perintah : sudo vi /etc/default/dhcp3-server Cari baris ini INTERFACES=eth0 Ganti dengan baris berikut INTERFACES=eth1Simpan dan Keluar. Ini adalah opsional. Selanjutnya Anda harus membuat salinan cadangan dari / etc/dhcp3/dhcpd.conf file

cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.back

Edit /etc/dhcp3/dhcpd.conf dengan melakukan perintah sudo vi /etc/dhcp3/dhcpd.conf Menggunakan metode address pool Anda perlu mengubah bagian berikut di / etc/dhcp3/dhcpd.conf file default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option domain-name-servers 192.168.1.1, 192.168.1.2; option domain-name yourdomainname.com; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.200; } Simpan dan Keluar Hal ini akan menimbulkan server klien DHCP memberikan alamat IP dari rentang 192.168.1.10192.168.1.200. Ini akan menyewa alamat IP untuk 600 detik jika klien tidak meminta untuk kerangka waktu tertentu. Jika tidak maksimum (diperbolehkan) akan sewa 7.200 detik. Server juga akan menyarankan klien menggunakan subnet mask 255.255.255.0 perusahaan, sebagai alamat broadcast 192.168.1.255, 192.168.1.254 sebagai router / gateway 192.168.1.1 dan 192.168.1.2 sebagai DNS server nya. Menggunakan Metode MAC address Metode ini Anda dapat reserver beberapa mesin atau semua mesin dengan ip address tetap. contoh berikut menggunakan alamat ip tetap untuk server1, server2, printer1 dan printer2 default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option domain-name-servers 192.168.1.1, 192.168.1.2; option domain-name yourdomainname.com; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.200; }

host server1 { hardware ethernet 00:1b:63:ef:db:54; fixed-address 192.168.1.20; } host server2 { hardware ethernet 00:0a:95:b4:d4:b0; fixed-address 192.168.1.21; } host printer1 { hardware ethernet 00:16:cb:aa:2a:cd; fixed-address 192.168.1.22; } host printer2 { hardware ethernet 00:0a:95:f5:8f:b3; fixed-address 192.168.1.23; } Sekarang Anda harus me-restart server dhcp dengan menggunakan perintah berikut sudo /etc/init.d/dhcp3-server restart Konfigurasi DHCP Klient Ubuntu Jika Anda ingin mengkonfigurasi desktop Ubuntu Anda sama seperti klien DHCP mengikuti prosedur ini Anda perlu membuka / etc / network / interface file Dengan Perintah : sudo vi /etc/network/interfaces pastikan Anda memiliki baris berikut (eth0 adalah contoh) auto lo eth0 iface eth0 inet dhcp iface lo inet loopback Simpan dan keluar Anda harus me-restart layanan jaringan dengan menggunakan perintah berikut sudo /etc/init.d/networking restart

Tips Keamanan Server LinuxMengamankan server Linux adalah penting untuk melindungi data Anda, Informasi pribadi anda, dan waktu, dari tangan cracker (hacker). Administrator bertanggung jawab untuk kotak keamanan Linux. Pada bagian pertama dari serangkaian keamanan server Linux, akan dibahas 20 tips keamanan untuk instalasi default dari sistem Linux. 1. Enkripsikan Komunikasi Data Semua data yang dikirimkan melalui jaringan ini terbuka untuk pemantauan. Mengenkripsi data yang ditransmisikan sedapat mungkin di protek dengan sandi atau menggunakan kunci sertifikat.

Gunakan scp, ssh, rsync, atau SFTP untuk mentransfer file. Anda juga dapat me-mount sistem file remote server atau direktori komputer rumah Anda sendiri menggunakan sshfs proteksi dan alat khusus. Gunakan GnuPG yang memungkinkan untuk mengenkripsi dan menandatangani dan komunikasi data Anda, dilengkapi dengan sistem manajemen kunci serbaguna serta modul akses untuk semua jenis direktori dengan kunci publik. Gunakan FUGU fungsinya adalah frontend grafis untuk aplikasi commandline Secure File Transfer (SFTP). SFTP mirip dengan FTP, tapi tidak seperti FTP, seluruh sesi dienkripsi, artinya tanpa password akan dikirim dalam bentuk teks-jelas, dan dengan demikian lebih sedikit rentan terhadap penangkapan pihak ketiga. Pilihan lainnya adalah filezilla klien cross-platform yang mendukung FTP, FTP melalui SSL / TLS (FTPS), dan SSH File Transfer Protocol (SFTP). OpenVPN untuk menghemat biaya SSL VPN. Lighttpd SSL (Secure Server Layer) https Konfigurasi Dan Instalasi Apache SSL (Secure Server Layer) HTTPS (mod_ssl) Konfigurasi Dan Instalasi

Hindari Menggunakan FTP, Telnet, dan rlogin / rsh Konfigurasi jaringan yang paling bawah, nama pengguna, sandi, FTP / telnet / perintah rsh dan file yang ditransfer dapat ditangkap oleh siapa saja di jaringan yang sama menggunakan packet sniffer. Solusi umum untuk masalah ini adalah dengan menggunakan OpenSSH baik, SFTP, atau FTPS (FTP melalui SSL), yang menambahkan enkripsi SSL atau TLS untuk FTP. Ketik perintah berikut untuk menghapus NIS, rsh dan usang layanan lainnya: # yum erase inetd xinetd ypserv tftp-server telnet-server rsh-serve 2. Minimalkan Software untuk Minimalkan Vulnerability Apakah Anda benar-benar membutuhkan semua jenis layanan web diinstal? Hindari menginstal perangkat lunak yang tidak perlu untuk menghindari kelemahan dalam perangkat lunak. Gunakan manajer paket RPM seperti yum atau apt-get dan / atau dpkg untuk meninjau semua diinstal set paket perangkat lunak pada sistem. Hapus semua paket yang tidak diinginkan dengan kode ini

# yum list installed # yum list packageName # yum remove packageName atau # dpkg list # dpkg info packageName # apt-get remove packageName 3. Layanan Jaringan Per Satu Sistem atau VM Instance Jalankan layanan jaringan yang berbeda pada server terpisah atau contoh VM. Hal ini membatasi jumlah layanan lainnya yang dapat dikompromikan. Sebagai contoh, jika seorang penyerang berhasil memanfaatkan perangkat lunak seperti aliran Apache, ia akan mendapatkan akses ke seluruh server termasuk jasa lainnya seperti MySQL, e-mail server dan sebagainya. Lihat cara menginstal software virtualisasi:

Install and Setup XEN Virtualization Software on CentOS Linux 5 How To Setup OpenVZ under RHEL / CentOS Linux

4. Tetap update Kernel Linux dan Perangkat Lunak jangan Sampai terlambat Menerapkan patch keamanan merupakan bagian penting dari menjaga server Linux. Linux menyediakan semua alat yang diperlukan untuk menjaga sistem anda dan diperbarui, dan juga memungkinkan untuk upgrade versi dengan mudah. Semua update keamanan harus ditinjau ulang dan diterapkan sesegera mungkin. Sekali lagi, gunakan manajer paket RPM seperti yum dan / atau apt-get dan / atau dpkg untuk menerapkan semua pembaruan keamanan. seperti perintah dibawah # 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 lainnya adalah untuk menerapkan semua pembaruan keamanan melalui sebuah tugas cron. Dalam Debian / Ubuntu Linux yang dapat Anda gunakan untuk mengirim pemberitahuan apticron keamanan. 5. Gunakan Extensions Keamanan Linux Linux tersedia dengan berbagai patch keamanan yang dapat digunakan untuk menjaga terhadap program miskonfigurasi atau dikompromikan. Jika memungkinkan menggunakan SELinux dan Linux lainnya ekstensi keamanan untuk menegakkan keterbatasan pada jaringan dan program lainnya. Sebagai contoh, SELinux menyediakan berbagai kebijakan keamanan untuk kernel Linux.

Disarankan menggunakan SELinux yang menyediakan Wajib fleksibel Access Control (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, socket, dan proses lainnya. Menjalankan sebuah kernel MAC melindungi sistem dari aplikasi berbahaya atau cacat yang dapat merusak atau menghancurkan sistem. Lihat dokumentasi Redhat resmi yang menjelaskan konfigurasi SELinux. 6. Account Pengguna dan Kebijakan Kekuatan Password Gunakan / useradd perintah usermod untuk menciptakan 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 Anda ingat. Gunakan alat seperti John ripper itu untuk mengetahui password pengguna lemah pada server Anda. pam_cracklib.so Konfigurasi untuk menegakkan kebijakan password. Perubahan perintah Chage jumlah hari antara perubahan password dan tanggal perubahan terakhir password. Informasi ini digunakan oleh sistem untuk menentukan kapan pengguna harus mengubah / passwordnya. The / Etc / file login.defs mendefinisikan konfigurasi situs-khusus untuk suite sandi bayangan termasuk password penuaan konfigurasi. Untuk menonaktifkan password penuaan, masukkan: chage -M 99999 userName Untuk mendapatkan informasi password yang kadaluarsa, masukkan: chage -l userName Akhirnya, Anda juga dapat mengedit file / etc / shadow dalam bidang-bidang berikut: {userName}:{password}:{lastpasswdchanged}:{Minimum_days}:{Maximum_days}:{Warn}: {Inactive}:{Expire}: Dimana, 1. Minimum_days: Jumlah hari minimum yang diperlukan antara perubahan password yaitu jumlah hari tersisa sebelum user diijinkan untuk mengubah / passwordnya. 2. Maximum_days: Jumlah maksimum hari password berlaku (setelah pengguna yang dipaksa untuk mengubah password / wanita). 3. Warn: Jumlah hari sebelum password berakhir pengguna yang memperingatkan Anda bahwa password harus diubah. 4. Expire : Hari sejak Jan 1, 1970 bahwa account dinonaktifkan yaitu tanggal mutlak menentukan ketika login mungkin tidak lagi digunakan. Gunakan perintah # chage -M 60 -m 7 -W 7 userName

7. Disable root Login Jangan pernah login sebagai user root. Anda harus menggunakan sudo untuk menjalankan perintah sebagai root level dan saat diperlukan. sudo tidak meningkatkan keamanan sistem tanpa password root berbagi dengan pengguna lain dan admin. sudo menyediakan audit sederhana dan fitur pelacakan juga. 8. Keamanan Fisik Server Anda harus melindungi Fisik server akses konsol Linux. Mengkonfigurasi BIOS dan menonaktifkan boot dari perangkat eksternal seperti DVD / CD / USB pena. Atur BIOS dan boot loader grub password 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 Service yang Tidak DibutuhkanMenonaktifkan semua layanan dan daemon yang tidak perlu (layanan yang berjalan di latar belakang). Anda harus menghapus semua layanan yang tidak diinginkan dari sistem start-up. Ketik perintah berikut untuk daftar semua servis yang di jalankan saat boot di tingkat 3: #chkconfiglist|grep3:on Untukmendisableservice,masukkanperintah #service serviceName stop #chkconfig serviceName off 10. Delete X Windows

X Windows pada server tidak diperlukan. Tidak ada alasan untuk menjalankan X Windows pada mail berdedikasi dan Apache web server. Anda dapat menonaktifkan dan menghapus X Windows untuk meningkatkan keamanan server dan kinerja. Edit / etc / inittab dan mengatur tingkat lari ke 3. Akhirnya, menghapus sistem X Windows, masukkan: # yum groupremove X Window System 11. Konfigurasi Ip tables dan TC PWrappers Iptables adalah ruang pengguna program aplikasi yang memungkinkan Anda untuk mengkonfigurasi firewall (Netfilter) yang disediakan oleh kernel Linux. Gunakan firewall untuk menyaring lalu lintas dan mengizinkan hanya lalu lintas yang diperlukan. Juga menggunakan sistem jaringan TCPWrappers berbasis host ACL untuk menyaring akses jaringan ke Internet. Anda dapat mencegah banyak serangan penolakan layanan dengan bantuan Iptables:

Lighttpd Traffic Shaping: Throttle Connections Per Single IP (Rate Limit). How to: Linux Iptables block common attack. psad: Linux Detect And Block Port Scan Attacks In Real Time.

12. Linux Kernel /etc/sysctl.conf Hardening File / etc / sysctl.conf digunakan untuk mengkonfigurasi parameter kernel pada runtime. Linux membaca dan menerapkan pengaturan dari / etc / sysctl.conf pada saat boot. Contoh / etc / sysctl.conf: # Turn on execshield kernel.exec-shield=1 kernel.randomize_va_space=1 # Enable IP spoofing protection net.ipv4.conf.all.rp_filter=1 # Disable IP source routing net.ipv4.conf.all.accept_source_route=0 # Ignoring broadcasts request net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv4.icmp_ignore_bogus_error_messages=1 # Make sure spoofed packets get logged net.ipv4.conf.all.log_martians = 1 13. Pisahkan Partisi Disk Pemisahan file sistem operasi dari file pengguna dapat mengakibatkan menjadi sistem yang lebih baik dan aman. Pastikan filesystem berikut ini sudah terpasang pada partisi yang terpisah: * /usr * /home * /var and /var/tmp * /tmp Membuat pemisahan partisi untuk Apache dan akar server FTP. Edit / etc / fstab file dan pastikan Anda menambahkan opsi konfigurasi sebagai berikut: 1. noexec Do not set execution of any binaries on this partition (prevents execution of binaries but allows scripts). 2. nodev Do not allow character or special devices on this partition (prevents use of device files such as zero, sda etc). 3. nosuid Do not set SUID/SGID access on this partition (prevent the setuid bit). Contoh / etc / fstab untuk entri untuk membatasi akses pengguna di / dev/sda5 (ftp server direktori root): /dev/sda5 /ftpdata ext3 defaults,nosuid,nodev,noexec 1 2 14. Matikan IPv6 Internet Protocol version 6 (IPv6) menyediakan lapisan Internet baru dari protokol TCP / IP yang menggantikan Internet Protocol version 4 (IPv4) dan memberikan banyak manfaat. Saat ini tidak

ada alat yang baik yang dapat memeriksa sistem melalui jaringan untuk masalah keamanan IPv6. Kebanyakan distro Linux mulai mengaktifkan protokol IPv6 secara default. Crackers dapat mengirimkan lalu lintas yang buruk melalui IPv6 sebagai admin paling tidak memonitor. Kecuali konfigurasi jaringan memerlukan itu, menonaktifkan IPv6 atau mengkonfigurasi firewall Linux IPv6: 15. Nonaktifkan SUID dan SGID Binari yang tidak diinginkan Semua SUID / SGID bit memungkinkan file dapat disalahgunakan ketika SUID / SGID eksekusi memiliki masalah keamanan atau bug. Semua pengguna lokal atau remote dapat menggunakan file tersebut. Ini adalah ide yang baik untuk menemukan semua file tersebut. Gunakan perintah find sebagai berikut: #See all set user id files: find / -perm +4000 # See all group id files find / -perm +2000 # Or combine both in a single command find / \( -perm -4000 -o -perm -2000 \) -print find / -path -prune -o -type f -perm +6000 -ls 16. Gunakan Sebuah Layanan Otentikasi Terpusat Tanpa sistem otentikasi terpusat, pengguna auth data menjadi tidak konsisten, yang dapat menyebabkan ke mandat out-of-date dan lupa acount yang seharusnya sudah dihapus di tempat pertama. Sebuah layanan otentikasi terpusat memungkinkan Anda mempertahankan kontrol pusat atas Linux / UNIX account dan data otentikasi. Anda dapat menyimpan data auth disinkronkan antara server. Jangan menggunakan layanan NIS untuk otentikasi terpusat. Gunakan openldap untuk klien dan server. Anda dapat menggunakan Kerberos 17. Logging dan Audit Anda harus mengkonfigurasi logging dan audit untuk mengumpulkan semua upaya hacking dan cracking. Secara default syslog menyimpan data dalam / var / log / direktori. Hal ini juga berguna untuk mengetahui misconfiguration perangkat lunak yang dapat membuka sistem anda untuk berbagai serangan.