8 Tips Penting untuk Mengamankan Server Aplikasi Web

Dalam kebanyakan kasus, server aplikasi web harus dapat diakses secara publik, yang berarti mereka terkena semua jenis ancaman.


Banyak dari ancaman ini dapat diprediksi dan mudah dihindari, sementara yang lain tidak diketahui dan dapat membuat Anda lengah. Untuk meminimalkan kemungkinan kasus terakhir ini, kami menawarkan daftar tips penting untuk menjaga server aplikasi web seaman mungkin.

Sebelum memulai dengan daftar tip, Anda perlu memahami bahwa server aplikasi web bukan pulau. Server adalah komponen utama dalam pertanian aplikasi web yang memungkinkan hosting dan pengoperasian aplikasi web. Karena itu, untuk mengamankan, Anda harus memperhitungkan semua komponen yang mengelilinginya dan mengamankan seluruh lingkungan aplikasi web.

Lingkungan dasar untuk hosting dan menjalankan aplikasi web termasuk sistem operasi (Linux, Windows), perangkat lunak server web (Apache, Nginx), server database. Jika salah satu komponen ini dibobol, penyerang bisa mendapatkan akses dan melakukan semua tindakan jahat yang mereka inginkan.

Tip pertama dan dasar untuk mengamankan lingkungan seperti yang dijelaskan di atas adalah membaca pedoman keamanan dan daftar praktik terbaik untuk masing-masing komponen. Karena itu, mari kita tinjau sejumlah pedoman keamanan yang masuk akal yang berlaku untuk hampir setiap lingkungan aplikasi web.

Firewall didemistifikasi

Anda mungkin tergoda untuk memeriksa item ini dengan cepat, berpikir, “beruntung saya, saya sudah memiliki firewall yang melindungi jaringan saya.” Tetapi Anda lebih baik memegang kuda Anda.

Firewall Anda mungkin menjaga perbatasan jaringan Anda, mengusir orang-orang jahat dan orang-orang baik, tetapi pasti meninggalkan pintu yang terbuka lebar bagi penyerang untuk masuk ke server aplikasi web Anda.

Bagaimana?

Sederhana: firewall jaringan Anda setidaknya harus mengizinkan lalu lintas masuk pada port 80 dan 443 (yaitu HTTP dan HTTPS), dan tidak tahu siapa atau apa yang melewati port tersebut.

Apa yang Anda perlukan untuk melindungi aplikasi Anda adalah firewall aplikasi web (WAF) yang secara khusus menganalisis lalu lintas web dan memblokir segala upaya untuk mengeksploitasi kerentanan seperti skrip lintas situs atau injeksi kode. WAF beroperasi seperti antivirus dan antimalware biasa: ia mencari pola yang diketahui dalam aliran data dan memblokirnya ketika mendeteksi permintaan jahat.

Agar efektif, WAF perlu terus memperbarui basis datanya dengan pola ancaman baru, agar dapat memblokirnya. Masalah dengan pencegahan serangan berbasis pola adalah bahwa aplikasi web Anda dapat menjadi salah satu target pertama dari ancaman baru yang WAF Anda belum sadari..

Untuk alasan ini, aplikasi web Anda memerlukan lapisan perlindungan tambahan selain firewall jaringan.

Pindai kerentanan khusus web

Sekali lagi, jangan menganggap server aplikasi web Anda bebas kerentanan hanya karena pemindai keamanan jaringan Anda mengatakannya.

Pemindai jaringan tidak dapat mendeteksi kerentanan khusus aplikasi. Untuk mendeteksi dan menghilangkan kerentanan ini, Anda harus meletakkan aplikasi di bawah serangkaian tes dan audit, seperti tes penetrasi, pemindaian kotak hitam, dan audit kode sumber. Namun, tidak satu pun dari metode ini yang anti peluru. Idealnya, Anda harus melakukan sebanyak mungkin dari mereka untuk menghilangkan semua kerentanan.

Misalnya, pemindai keamanan, seperti Netsparker, memastikan bahwa tidak ada kode yang dapat dieksploitasi sampai ke lingkungan produksi. Tetapi mungkin ada kerentanan logis yang hanya dapat dideteksi dengan audit kode manual. Audit manual, selain biayanya banyak, adalah manusia dan, karenanya, metode yang rawan kesalahan. Ide yang baik untuk melakukan audit semacam ini tanpa menghabiskan banyak uang adalah menanamkannya dalam proses pengembangan, sebagian besar dengan mendidik pengembang Anda.

Mendidik pengembang Anda

Pengembang cenderung berpikir aplikasi mereka berjalan di dunia ideal, di mana sumber daya tidak terbatas, pengguna tidak melakukan kesalahan, dan tidak ada orang dengan niat kejam. Sayangnya, pada titik tertentu, mereka perlu menghadapi masalah dunia nyata, terutama yang berkaitan dengan keamanan informasi.

Saat mengembangkan aplikasi web, pembuat kode harus mengetahui dan menerapkan mekanisme keamanan untuk memastikannya bebas dari kerentanan. Mekanisme keamanan tersebut harus menjadi bagian dari panduan praktik terbaik yang harus dipatuhi oleh tim pengembangan.

Audit kualitas perangkat lunak digunakan untuk memastikan kepatuhan dengan praktik terbaik. Praktik dan audit terbaik adalah satu-satunya cara untuk mendeteksi kerentanan logis, seperti (misalnya) melewati parameter yang tidak terenkripsi dan terlihat di dalam URL, yang dapat dengan mudah diubah oleh penyerang untuk melakukan apa yang diinginkannya..

Matikan fungsi yang tidak perlu

Dengan asumsi aplikasi web sebagai bebas dari kesalahan mungkin dan web farm diamankan, mari kita lihat apa yang dapat dilakukan pada server itu sendiri untuk melindunginya dari serangan.

Tip dasar, akal sehat adalah untuk mengurangi jumlah titik masuk yang rentan. Jika penyerang dapat mengeksploitasi salah satu komponen server web, seluruh server web bisa dalam bahaya.

Buat daftar semua port terbuka dan menjalankan layanan atau daemon di server Anda dan menutup, menonaktifkan atau mematikan yang tidak perlu. Server tidak boleh digunakan untuk tujuan apa pun selain menjalankan aplikasi web Anda, jadi pertimbangkan untuk memindahkan semua fungsionalitas tambahan ke server lain di jaringan Anda.

Gunakan lingkungan yang terpisah untuk pengembangan, pengujian, dan produksi

Pengembang dan penguji memerlukan hak istimewa di lingkungan tempat mereka bekerja yang seharusnya tidak mereka miliki di server aplikasi langsung. Bahkan jika Anda secara membuta mempercayai mereka, kata sandi mereka dapat dengan mudah bocor dan jatuh ke tangan yang tidak diinginkan.

Selain kata sandi dan hak istimewa, pada lingkungan pengembangan dan pengujian, biasanya ada pintu belakang, file log, kode sumber, atau informasi debug lainnya yang dapat mengekspos data sensitif, seperti nama pengguna dan kata sandi basis data. Proses penyebaran aplikasi web harus dilakukan oleh administrator, yang harus memastikan bahwa tidak ada informasi sensitif yang terbuka setelah menginstal aplikasi pada server langsung.

Konsep pemisahan yang sama perlu diterapkan pada data aplikasi. Penguji dan pengembang selalu lebih suka data nyata untuk bekerja dengan, tetapi itu bukan ide yang baik untuk memberi mereka akses ke basis data produksi, atau bahkan ke salinannya. Selain masalah privasi yang jelas, database dapat berisi parameter konfigurasi yang mengungkapkan pengaturan server internal – seperti alamat titik akhir atau nama path, untuk menyebutkan pasangan.

Selalu perbarui perangkat lunak server Anda

Sejelas kelihatannya, ini adalah salah satu tugas yang paling diabaikan. SUCURI menemukan 59% aplikasi CMS sudah ketinggalan zaman, yang terbuka untuk risiko.

Ancaman baru muncul setiap hari, dan satu-satunya cara untuk mencegah mereka membahayakan server Anda adalah dengan selalu menginstal patch keamanan terbaru.

Kami sebutkan sebelumnya bahwa firewall jaringan dan pemindai keamanan jaringan tidak cukup untuk mencegah serangan pada aplikasi web. Tetapi mereka diperlukan untuk melindungi server Anda dari ancaman keamanan siber umum, seperti serangan DDoS. Jadi pastikan Anda memiliki aplikasi seperti itu selalu diperbarui, dan mereka secara efektif melindungi aplikasi bisnis Anda.

Batasi akses dan hak istimewa

Langkah keamanan dasar adalah menjaga lalu lintas akses jarak jauh – seperti RDP dan SSH – dienkripsi dan disalurkan. Ini juga merupakan ide yang baik untuk menyimpan daftar alamat IP yang berkurang dari tempat akses jarak jauh diizinkan, memastikan bahwa segala upaya untuk login dari jarak jauh dari IP lain diblokir.

Administrator sesekali memberikan akun layanan semua kemungkinan hak istimewa karena mereka tahu bahwa, dengan melakukan itu, “semuanya akan bekerja.” Tapi ini bukan praktik yang baik karena penyerang dapat menggunakan kerentanan dalam layanan untuk menembus server. Jika layanan tersebut berjalan dengan hak administrator, mereka dapat merebut seluruh server.

Keseimbangan yang baik antara keamanan dan kepraktisan mensyaratkan bahwa setiap akun – baik akun masuk maupun akun layanan – memiliki hak yang diperlukan untuk melakukan tugasnya, dan tidak ada yang lain..

Misalnya, Anda dapat menentukan akun yang berbeda untuk administrator untuk melakukan tugas yang berbeda: satu untuk membuat cadangan, yang lain untuk membersihkan file log, yang lain untuk mengubah konfigurasi layanan, dan sebagainya. Hal yang sama berlaku untuk akun database: aplikasi biasanya hanya membutuhkan izin untuk membaca dan menulis data, dan tidak membuat atau menjatuhkan tabel. Oleh karena itu, ia harus dijalankan dengan akun dengan hak istimewa terbatas untuk melakukan tugas yang perlu dilakukan.

Mengawasi log server

File log ada karena suatu alasan.

Administrator harus memonitor mereka secara teratur untuk mendeteksi perilaku mencurigakan sebelum melakukan kerusakan. Dengan menganalisis file log, Anda dapat menemukan banyak informasi untuk membantu Anda melindungi aplikasi dengan lebih baik. Jika serangan harus terjadi, file log dapat menunjukkan kapan dan bagaimana itu dimulai, membantu melakukan kontrol kerusakan yang lebih baik.

Anda juga harus memiliki prosedur otomatis untuk menghapus file-file log lama atau memangkas informasi yang sudah ketinggalan zaman, untuk mencegah mereka menggunakan semua ruang penyimpanan yang tersedia di server.

Kiat bonus: tetap beri tahu diri Anda

Ada banyak informasi gratis dan berguna di Internet yang dapat Anda gunakan untuk kepentingan aplikasi web Anda. Jangan ketinggalan pos baru di blog keamanan terkemuka (seperti ini) dan tetap terinformasi tentang apa yang terjadi di industri keamanan dan web.

Tutorial, kursus, video, dan buku juga merupakan sumber pengetahuan yang berguna. Berlatihlah menghabiskan satu atau dua jam seminggu hanya untuk tetap mendapat informasi tentang berita industri – Ini akan memberi Anda ketenangan pikiran mengetahui bahwa Anda melakukan hal yang benar untuk menjaga aplikasi Anda tetap aman.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map