-->

BAGAIMANA CARA MENJAGA KEAMANAN SERVER

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 

Berlangganan update artikel terbaru via email:

0 Response to "BAGAIMANA CARA MENJAGA KEAMANAN SERVER"

Post a Comment

iklan