BAGAIMANA CARA MENJAGA KEAMANAN SERVER
March 26, 2019
Add Comment
Assalamu'alaikum sobat IT semua,bagaimana kabar kalian ?? setelah sebelumnya kita udah otak ati beberapa service di server,terus bagaimana jika server kalian di acak-acak oleh orang yang tidak jahil pastii akan susah kan.Maka dari itu kita harus membuat keamananya,apa saja sih keamanan di server ,simak dan penjelasan di di bawah ini:
Perbarui Sistem Anda – Sering
Menjaga perangkat lunak Anda tetap mutakhir adalah tindakan pencegahan keamanan tunggal terbesar yang dapat Anda ambil untuk sistem operasi apa pun. Pembaruan perangkat lunak berkisar dari tambalan kerentanan kritis hingga perbaikan bug minor, dan banyak kerentanan perangkat lunak sebenarnya ditambal pada saat mereka menjadi publik.
Pembaruan Keamanan Otomatis
Ada argumen yang mendukung dan menentang pembaruan otomatis di server. Wiki Fedora memiliki rincian pro dan kontra yang baik, tetapi risiko pembaruan otomatis akan minimal jika Anda membatasi mereka pada pembaruan keamanan. Namun, tidak semua manajer paket membuat hal itu mudah atau mungkin.
Kepraktisan dari pembaruan otomatis adalah sesuatu yang Anda harus menilai sendiri karena itu turun ke apa yang Anda lakukan dengan Linode Anda. Ingatlah bahwa pembaruan otomatis hanya berlaku untuk paket-paket yang bersumber dari repositori, bukan aplikasi yang dikompilasi sendiri. Anda mungkin merasa bermanfaat untuk memiliki lingkungan pengujian yang mereplikasi server produksi Anda. Pembaruan dapat diterapkan di sana dan ditinjau untuk masalah sebelum diterapkan ke lingkungan langsung.
Tambahkan Akun Pengguna Terbatas
Hingga saat ini, Anda telah mengakses Linux Anda sebagai root pengguna, yang memiliki hak istimewa tak terbatas dan dapat menjalankan perintah apa pun — bahkan perintah yang dapat secara tidak sengaja mengganggu server Anda. Kami sarankan untuk membuat akun pengguna terbatas dan menggunakannya setiap saat. Tugas administratif akan dilakukan menggunakan sudountuk sementara meningkatkan hak pengguna terbatas Anda sehingga Anda dapat mengelola server Anda.
Catatan
Tidak semua distribusi Linux termasuk sudodalam sistem secara default, tetapi semua gambar yang disediakan oleh Linode memiliki sudo dalam repositori paket mereka. Jika Anda mendapatkan output sudo: command not found, instal sudo sebelum melanjutkan.
Untuk menambah pengguna baru, pertama masuk ke Linux Anda melalui SSH.
CentOS / Fedora
Buat pengguna, ganti example_user dengan nama pengguna yang Anda inginkan, dan berikan kata sandi:
useradd example_user && passwd example_user
Tambahkan pengguna ke wheelgrup untuk hak istimewa sudo:
usermod -aG wheel example_user
Peringatan
Di CentOS 6 grup roda dinonaktifkan secara default untuk akses sudo. Anda harus mengkonfigurasinya secara manual. Ketik dari akar: /usr/sbin/visudo. Kemudian temukan baris # %wheeldan batalkan komentar pada baris ini. Untuk mulai mengetik vi, tekan a. Untuk menyimpan dan keluar dari pers Escape, lalu ketik :w(tekan enter), :q(tekan enter)
Ubuntu
Buat pengguna, ganti example_userdengan nama pengguna yang Anda inginkan. Anda kemudian akan diminta untuk memberikan kata sandi kepada pengguna:
adduser example_user
Tambahkan pengguna ke sudogrup sehingga Anda akan memiliki hak administratif:
adduser example_user sudo
Debian
Instalasi standar Debian Server tidak termasuk sudosecara default, tetapi Linode mengemasnya dalam gambar Debian kami. Jika Anda belum memilikinya sudo, Anda harus menginstalnya sebelum melangkah lebih jauh.
Buat pengguna, ganti example_userdengan nama pengguna yang Anda inginkan. Anda kemudian akan diminta untuk memberikan kata sandi kepada pengguna:
adduser example_user
Tambahkan pengguna ke sudogrup sehingga Anda akan memiliki hak administratif:
adduser example_user sudo
Setelah membuat pengguna terbatas Anda, putuskan sambungan dari Server Anda:
exit
Masuk kembali sebagai pengguna baru Anda. Ganti example_userdengan nama pengguna Anda, dan contoh alamat IP dengan alamat IP Server Anda:
ssh example_user@203.0.113.10
Sekarang Anda dapat mengelola Server Anda dari akun pengguna baru Anda, bukan root. Hampir semua perintah superuser dapat dieksekusi dengan sudo(contoh sudo iptables -L -nv:) dan perintah-perintah itu akan dicatat /var/log/auth.log.
Perketat Akses SSH
Secara default, otentikasi kata sandi digunakan untuk terhubung ke Server Anda melalui SSH. Pasangan kunci kriptografis lebih aman karena kunci pribadi menggantikan kata sandi, yang umumnya jauh lebih sulit untuk diubah. Di bagian ini kita akan membuat pasangan kunci dan mengonfigurasi Linode untuk tidak menerima kata sandi untuk login SSH.
Buat pasangan Kunci Otentikasi
Ini dilakukan pada komputer lokal Anda, bukan Linode Anda, dan akan membuat pasangan kunci RSA 4096-bit. Selama pembuatan, Anda akan diberikan opsi untuk mengenkripsi kunci pribadi dengan frasa sandi. Ini berarti bahwa itu tidak dapat digunakan tanpa memasukkan kata sandi, kecuali Anda menyimpannya ke manajer gantungan kunci desktop lokal Anda. Kami menyarankan Anda menggunakan pasangan kunci dengan frasa sandi, tetapi Anda dapat mengosongkan bidang ini jika Anda tidak ingin menggunakannya.
Linux / OS X
Peringatan
Jika Anda telah membuat pasangan kunci RSA, perintah ini akan menimpanya, berpotensi mengunci Anda dari sistem lain. Jika Anda telah membuat pasangan kunci, lewati langkah ini. Untuk memeriksa kunci yang ada, jalankan ls ~/.ssh/id_rsa*.
ssh-keygen -b 4096
Tekan Enter untuk menggunakan nama default id_rsa dan id_rsa.pub di /home/your_username/.ssh sebelum memasuki passphrase Anda.
Windows
Ini dapat dilakukan dengan menggunakan Putty sebagaimana diuraikan dalam panduan kami: Gunakan Otentikasi Kunci Publik dengan SSH .
Unggah kunci publik ke Server Anda. Ganti example_userdengan nama pengguna yang Anda rencanakan untuk mengelola server sebagai, dan 203.0.113.10dengan alamat IP Linode Anda.
Linux
Dari komputer lokal Anda:
ssh-copy-id example_user@203.0.113.10
OS X
Di Server Anda (saat masuk sebagai pengguna terbatas):
mkdir -p ~/.ssh && sudo chmod -R 700 ~/.ssh/
Dari komputer lokal Anda:
scp ~/.ssh/id_rsa.pub example_user@203.0.113.10:~/.ssh/authorized_keys
Windows
Opsi 1 : Ini dapat dilakukan dengan menggunakan WinSCP . Di jendela login, masukkan alamat IP publik Linode Anda sebagai nama host, dan nama pengguna serta kata sandi Anda yang bukan root. Klik Login untuk menghubungkan.
Setelah WinSCP terhubung, Anda akan melihat dua bagian utama. Bagian di sebelah kiri menunjukkan file di komputer lokal Anda dan bagian di sebelah kanan menunjukkan file di Linode Anda. Menggunakan file explorer di sebelah kiri, navigasikan ke file tempat Anda menyimpan kunci publik Anda, pilih file kunci publik, dan klik Unggah di bilah alat di atas.
Anda akan diminta untuk memasukkan jalur tempat Anda ingin meletakkan file di Linode Anda. Unggah file ke /home/example_user/.ssh/authorized_keys, ganti example_userdengan nama pengguna Anda.
Opsi 2: Salin kunci publik langsung dari generator kunci Putty ke emulator terminal yang terhubung ke Server Anda (sebagai pengguna non-root):
mkdir ~/.ssh; nano ~/.ssh/authorized_keys
Perintah di atas akan membuka file kosong yang disebut authorized_keysdalam editor teks. Salin kunci publik ke file teks, pastikan itu disalin sebagai satu baris persis seperti yang dihasilkan oleh Putty. Tekan CTRL + X , lalu Y , lalu Enter untuk menyimpan file.
Terakhir, Anda ingin mengatur izin untuk direktori kunci publik dan file kunci itu sendiri:
sudo chmod -R 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
Perintah-perintah ini memberikan lapisan keamanan tambahan dengan mencegah pengguna lain mengakses direktori kunci publik serta file itu sendiri. Untuk informasi lebih lanjut tentang cara kerjanya, lihat panduan kami tentang cara memodifikasi izin file .
Sekarang keluar dan masuk kembali ke Linode Anda. Jika Anda menentukan frasa sandi untuk kunci pribadi Anda, Anda harus memasukkannya.
Opsi Daemon SSH
1.Larang login root di atas SSH. Ini mengharuskan semua koneksi SSH dilakukan oleh pengguna non-root. Setelah akun pengguna terbatas terhubung, hak istimewa administratif dapat diakses baik dengan menggunakan sudoatau mengubah ke shell menggunakan root su -.
/ etc / ssh / sshd_config
# Authentication:
...
PermitRootLogin no
2.Nonaktifkan otentikasi kata sandi SSH. Ini mengharuskan semua pengguna yang terhubung melalui SSH untuk menggunakan otentikasi kunci. Bergantung pada distribusi Linux, saluran Password Authentication mungkin perlu ditambahkan, atau dihapus dengan menghapus yang memimpin #.
/ etc / ssh / sshd_config
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no
Catatan
Anda mungkin ingin membiarkan otentikasi kata sandi diaktifkan jika Anda terhubung ke Linode Anda dari banyak komputer yang berbeda. Ini akan memungkinkan Anda untuk mengotentikasi dengan kata sandi alih-alih menghasilkan dan mengunggah pasangan kunci untuk setiap perangkat.
3.Dengarkan hanya satu protokol internet. Daemon SSH mendengarkan koneksi masuk melalui IPv4 dan IPv6 secara default. Kecuali Anda perlu SSH ke Linode Anda menggunakan kedua protokol, nonaktifkan mana saja yang tidak Anda butuhkan. Ini tidak menonaktifkan seluruh sistem protokol, itu hanya untuk daemon SSH.
Gunakan opsi:
AddressFamily inet hanya mendengarkan di IPv4.
AddressFamily inet6 hanya mendengarkan di IPv6.
The AddressFamilypilihan biasanya tidak dalam sshd_configberkas secara default. Tambahkan ke akhir file:
echo 'AddressFamily inet' | sudo tee -a /etc/ssh/sshd_config
4.Mulai ulang layanan SSH untuk memuat konfigurasi baru.
Jika Anda menggunakan distribusi Linux yang menggunakan systemd (CentOS 7, Debian 8, Fedora, Ubuntu 15.10+)
sudo systemctl restart sshd
Jika sistem init Anda adalah SystemV atau Pemula (CentOS 6, Debian 7, Ubuntu 14.04):
sudo service sshd restart
Gunakan Fail2Ban untuk Perlindungan Login SSH
Fail2Ban adalah aplikasi yang melarang alamat IP masuk ke server Anda setelah terlalu banyak upaya login gagal. Karena login yang sah biasanya membutuhkan tidak lebih dari tiga kali percobaan untuk berhasil (dan dengan kunci SSH, tidak lebih dari satu), server yang di-spam dengan login yang tidak berhasil menunjukkan upaya akses berbahaya.
Fail2Ban dapat memonitor berbagai protokol termasuk SSH, HTTP, dan SMTP. Secara default, Fail2Ban hanya memonitor SSH, dan merupakan pencegah keamanan yang bermanfaat untuk server mana pun karena daemon SSH biasanya dikonfigurasikan untuk terus berjalan dan mendengarkan koneksi dari alamat IP jarak jauh mana pun.
Untuk instruksi lengkap tentang cara menginstal dan mengkonfigurasi Fail2Ban, lihat panduan kami: Mengamankan Server Anda dengan Fail2ban .
Hapus Layanan Menghadap Jaringan yang Tidak Digunakan
Sebagian besar distribusi Linux dipasang dengan menjalankan layanan jaringan yang mendengarkan koneksi masuk dari internet, antarmuka loopback, atau kombinasi keduanya. Layanan yang dihadapi jaringan yang tidak diperlukan harus dihapus dari sistem untuk mengurangi permukaan serangan dari kedua proses yang berjalan dan paket yang diinstal.
Tentukan Layanan yang Berjalan
Untuk melihat layanan jaringan Linode Anda yang sedang berjalan:
sudo ss -atpu
Berikut ini adalah contoh dari output yang diberikan oleh ss, dan menunjukkan bahwa daemon SSH (sshd) sedang mendengarkan dan terhubung. Perhatikan bahwa karena distribusi menjalankan layanan yang berbeda secara default, output Anda akan berbeda.
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 *:ssh *:* users:(("sshd",pid=3675,fd=3))
tcp ESTAB 0 208 203.0.113.1:ssh 198.51.100.2:54820 users:(("sshd",pid=3698,fd=3))
tcp LISTEN 0 128 :::ssh :::* users:(("sshd",pid=3675,fd=4))
TCP
Lihat Alamat Rekan: Kolom portss pembacaan. Proses sshdmendengarkan *:*, yang diterjemahkan ke alamat IPv4 yang masuk ke port apa saja, dan melalui antarmuka jaringan apa pun. Baris berikutnya menunjukkan koneksi SSH yang mapan dari alamat IP 198.51.100.2 melalui port ephemeral 54820. Baris terakhir, :::*menunjukkan sshdproses mendengarkan setiap koneksi SSH yang masuk melalui IPv6 ke port apa saja, dan lagi melalui antarmuka jaringan apa pun.
UDP
Soket UDP bersifat stateless , artinya terbuka atau tertutup dan koneksi setiap proses tidak tergantung pada yang terjadi sebelum dan sesudah. Ini berbeda dengan keadaan koneksi TCP seperti LISTEN , ESTABLISHED dan CLOSE_WAIT . The ssoutput di atas menunjukkan ada koneksi UDP.
Tentukan Layanan mana yang akan dihapus
Pemindaian nmap TCP dan UDP dasar Linode Anda tanpa firewall diaktifkan akan menunjukkan SSH dan mungkin layanan lain yang mendengarkan koneksi yang masuk. Dengan mengkonfigurasi firewall, Anda dapat memfilter port tersebut ke kebutuhan Anda. Idealnya, layanan yang tidak digunakan harus dinonaktifkan.
Anda mungkin akan mengelola server Anda terutama melalui koneksi SSH, sehingga layanan harus tetap ada. Seperti disebutkan di atas, kunci RSA dan Fail2Ban dapat membantu melindungi SSH. Layanan sistem seperti chronyd,, systemd-resolveddan dnsmasqbiasanya mendengarkan di localhost dan hanya sesekali menghubungi dunia luar. Layanan seperti ini adalah bagian dari sistem operasi Anda dan akan menyebabkan masalah jika dihapus dan tidak diganti dengan benar.
Namun, beberapa layanan tidak perlu dan harus dihapus kecuali Anda memiliki kebutuhan khusus untuk itu. Beberapa contoh bisa jadi Exim , Apache dan RPC .
Copot Layanan Mendengarkan
Cara menghapus paket yang menyinggung akan berbeda tergantung pada manajer paket distribusi Anda.
Arch
sudo pacman -Rs package_name
CentOS
sudo yum remove package_name
Debian / Ubuntu
sudo apt purge package_name
Fedora
sudo dnf remove package_name
Jalankan ss -atup lagi untuk memverifikasi bahwa layanan yang tidak diinginkan tidak lagi berjalan.
Konfigurasikan Firewall
Menggunakan firewall untuk memblokir lalu lintas masuk yang tidak diinginkan ke Linode Anda memberikan lapisan keamanan yang sangat efektif. Dengan sangat spesifik tentang lalu lintas yang Anda izinkan masuk, Anda dapat mencegah intrusi dan pemetaan jaringan. Praktik terbaik adalah hanya mengizinkan lalu lintas yang Anda butuhkan, dan menolak yang lainnya. Lihat dokumentasi kami pada beberapa aplikasi firewall yang paling umum:
Iptables adalah pengontrol untuk netfilter, kerangka packet filtering kernel Linux. Iptables termasuk dalam sebagian besar distribusi Linux secara default.
FirewallD adalah pengontrol iptables yang tersedia untuk keluarga CentOS / Fedora.
UFW menyediakan antarmuka iptables untuk Debian dan Ubuntu.
Langkah selanjutnya
Ini adalah langkah paling dasar untuk mengeraskan server Linux, tetapi lapisan keamanan lebih lanjut akan tergantung pada penggunaan yang dimaksudkan. Teknik tambahan dapat mencakup konfigurasi aplikasi, menggunakan deteksi intrusi, atau memasang bentuk kontrol akses .
Sekarang Anda dapat mulai mengatur Linode Anda untuk tujuan apa pun yang Anda pilih. Kami memiliki perpustakaan dokumentasi untuk membantu Anda dengan berbagai topik mulai dari migrasi dari hosting bersama hingga memungkinkan otentikasi dua faktor hingga hosting situs web .
Udah pada paham belum,sebenarnya masih banyak lagi keamanan yang ada pada server dan yang ada sini hanya sebagian kecil jadi silahkan eksplor sendiri-sendiri ya sobat.
Sekian yang dapat saya sampaikan ,mohon ma'af apabila ada kesalahan dalam penulisan artikel kali ini dan semoga bermanfa'at bagi kita wabillahi taufiq wal hidayah.
Wassalamu'alaikum wr.wb
0 Response to "BAGAIMANA CARA MENJAGA KEAMANAN SERVER"
Post a Comment