Mengamankan situs web Anda menggunakan .Praktik terbaik htaccess
- 1986
- 160
- Daryl Hermiston DVM
.HTACCESS adalah file konfigurasi yang kuat yang digunakan oleh server web seperti Apache untuk mengontrol dan menyesuaikan perilaku mereka. Meskipun dapat digunakan untuk berbagai tujuan, salah satu yang paling penting adalah mengamankan situs web Anda.
Di artikel ini, kita akan membahas praktik terbaik untuk digunakan .htaccess untuk mengamankan situs web Anda, termasuk tips untuk melindungi file dan direktori sensitif, mencegah akses yang tidak sah, dan melindungi terhadap ancaman keamanan umum.
Gunakan kata sandi dan otentikasi yang kuat
Salah satu cara paling sederhana tetapi paling efektif untuk mengamankan situs web Anda adalah dengan menggunakan kata sandi dan otentikasi yang kuat. Dengan mengharuskan pengguna untuk memasukkan nama pengguna dan kata sandi sebelum mengakses situs Anda atau direktori tertentu, Anda dapat mencegah akses yang tidak sah dan melindungi informasi sensitif.
Untuk mengatur perlindungan kata sandi di .htaccess, Anda harus menggunakan arahan "authtype" dan "authuserfile". Inilah contohnya:
AuthType dasar authname "area terbatas" authuserfile/path/to/passwords/.htpasswd membutuhkan pengguna yang valid1234 | AuthType BasicAutHname "Area Terbatas" AuthuserFile/Path/to/Passwords/.htpasswdrequire valid-user |
Dalam contoh ini, "AuthType" Menentukan jenis otentikasi yang digunakan (dalam hal ini, otentikasi dasar), sementara “AuthuserFile” menunjuk ke lokasi file yang berisi nama pengguna dan kata sandi resmi. Itu “Membutuhkan pengguna yang valid” Petunjuk menentukan bahwa hanya nama pengguna dan kata sandi yang valid yang diizinkan untuk mengakses area terbatas.
Lindungi file dan direktori sensitif
Penggunaan penting lainnya .htaccess adalah untuk melindungi file dan direktori sensitif dari akses yang tidak sah. Ini sangat penting untuk file yang berisi informasi sensitif, seperti file konfigurasi, database, dan cadangan.
Untuk melindungi file atau direktori di .htaccess, Anda dapat menggunakan arahan "DENY from All". Inilah contohnya:
Pesanan disangkal, biarkan menyangkal dari semua1234 |
Dalam contoh ini, “FileShatch” Menentukan file atau file yang akan dilindungi (dalam hal ini, “Config.php ”), sementara "DENY DARI SEMUA" Menentukan bahwa semua permintaan untuk file tersebut harus ditolak.
Memblokir akses ke alamat IP yang mencurigakan
Peretas dan bot berbahaya sering menggunakan alat otomatis untuk memindai situs web untuk kerentanan. Untuk mencegah serangan ini, Anda dapat menggunakan .htaccess untuk memblokir akses ke alamat IP yang mencurigakan.
Untuk memblokir alamat IP .htaccess, Anda dapat menggunakan "DENY from" pengarahan. Inilah contohnya:
DENY dari 192.168.1.11 | DENY dari 192.168.1.1 |
Dalam contoh ini, "DENY from" Menentukan alamat IP yang akan diblokir (dalam hal ini, 192.168.1.1).
Aktifkan HTTPS dan SSL
HTTPS (Hypertext Transfer Protocol Secure) adalah protokol untuk komunikasi yang aman melalui internet. Dengan mengaktifkan HTTPS di situs web Anda, Anda dapat melindungi informasi sensitif seperti kata sandi dan nomor kartu kredit agar tidak dicegat oleh peretas.
Untuk mengaktifkan https di .htaccess, Anda dapat menggunakan arahan "ulang -ulang" dan "penulisan ulang". Inilah contohnya:
REWRITEEngine di RE -writecond %https off reRiterule ^(.*) $ https: //%http_host%request_uri [l, r = 301]123 | REWRITEEngine OnRewRiteCond %https offrewriterule ^(.*) $ https: //%http_host%request_uri [l, r = 301] |
Dalam contoh ini, “Writecond” memeriksa apakah https sudah diaktifkan, sementara “Penulisan ulang” mengarahkan semua lalu lintas non-HTTPS ke https.
Batasi unggahan file
Unggahan file adalah sumber umum kerentanan keamanan, karena dapat digunakan untuk mengunggah file berbahaya ke server Anda. Untuk mencegah hal ini, Anda dapat menggunakan .htaccess untuk membatasi ukuran dan jenis file yang dapat diunggah.
Untuk membatasi unggahan file .htaccess, Anda dapat menggunakan arahan "php_value". Inilah contohnya:
php_value unggah_max_filesize1 | php_value unggah_max_filesize |
Dalam contoh ini, “PHP_VALUE” Menetapkan ukuran file maksimum untuk unggahan ke 10MB. Anda juga dapat menggunakan “PHP_FLAG” Petunjuk untuk menonaktifkan jenis file tertentu agar tidak diunggah sama sekali, seperti ini:
mesin php_flag off1 | mesin php_flag off |
Dalam contoh ini, “Mesin php_flag off” menonaktifkan pengunggahan skrip php.
Nonaktifkan Daftar Direktori
Secara default, server web menampilkan daftar file dalam direktori saat tidak ada file default (seperti indeks.html) ditemukan. Ini bisa menjadi risiko keamanan, karena dapat mengungkapkan isi direktori sensitif.
Untuk menonaktifkan daftar direktori di .htaccess, Anda dapat menggunakan arahan "opsi". Inilah contohnya:
Opsi -Indexes1 | Opsi -Indexes |
Dalam contoh ini, “Opsi -indexes” menonaktifkan daftar direktori untuk direktori saat ini dan semua subdirektorinya.
Cegah Hotlinking
Hotlinking adalah praktik menautkan ke gambar, video, atau file lain yang dihosting di server Anda dari situs web lain. Ini tidak hanya mengkonsumsi bandwidth Anda, tetapi juga dapat menyebabkan pelanggaran hak cipta jika konten yang terhubung memiliki hak cipta.
Untuk mencegah hotlinking masuk .htaccess, Anda dapat menggunakan arahan "ulang -ulang" dan "penulisan ulang". Inilah contohnya:
REWRITEEngine di REWRITECOND %http_referer !^$ REWRITECOND %http_referer !^http?: // (www \.)?Domain Anda.com [NC] REWITERULE \.(jpg | jpeg | png | gif) $ - [nc, f, l]1234 | Menulis ulang OnRewRitecond %http_referer !^$ REWRITECOND %http_referer !^http?: // (www \.)?Domain Anda.com [NC] REWITERULE \.(jpg | jpeg | png | gif) $ - [nc, f, l] |
Dalam contoh ini, "REWRITECOND" memeriksa apakah situs web yang merujuk adalah domain Anda sendiri, sementara "penulisan ulang" mengembalikan 403 kesalahan terlarang untuk setiap permintaan file gambar dari domain lain.
Lindungi dari scripting lintas situs (XSS)
Cross-Site Scripting (XSS) adalah jenis kerentanan keamanan yang memungkinkan penyerang untuk menyuntikkan kode berbahaya ke situs web Anda, seringkali melalui formulir atau bidang input lainnya.
Untuk melindungi terhadap XSS di .htaccess, Anda dapat menggunakan arahan "header" untuk mengatur header "X-XSS-Protection". Inilah contohnya:
HEADER SET X-XSS-Proteksi "1; Mode = Blok"1 | HEADER SET X-XSS-Proteksi "1; Mode = Blok" |
Dalam contoh ini, "Header" mengatur “Proteksi X-XSS” header ke “1; mode = blok ”, yang memberitahu browser untuk memblokir halaman apa pun yang berisi serangan XSS yang dicurigai.
Tetapkan Kebijakan Keamanan Konten yang Ketat (CSP)
Kebijakan Keamanan Konten (CSP) adalah fitur keamanan yang membantu mencegah skrip lintas situs (XSS), clickjacking, dan jenis serangan lainnya dengan menentukan sumber konten mana yang diizinkan untuk dimuat oleh halaman web.
Untuk mengatur CSP yang ketat .htaccess, Anda dapat menggunakan arahan "header" untuk mengatur header "konten-keamanan-kebijakan". Inilah contohnya:
Header mengatur konten-keamanan-kebijakan "default-src 'self'; skrip-src 'self" tidak aman-inline'; Style-Src 'Self "Unsafe-Inline'"1 | Header mengatur konten-keamanan-kebijakan "default-src 'self'; skrip-src 'self" tidak aman-inline'; Style-Src 'Self "Unsafe-Inline'" |
Dalam contoh ini, "Header" mengatur “Kebijakan Konten-Keamanan” header ke kebijakan ketat yang hanya memungkinkan konten dari domain saat ini dan skrip dan gaya inline.
Perbarui dan Pantau Anda secara teratur .file htaccess
Akhirnya, penting untuk memperbarui dan memantau secara teratur .file htaccess untuk memastikan bahwa itu tetap aman dan efektif. Ini termasuk memeriksa arahan yang sudah ketinggalan zaman atau rentan, menghapus aturan yang tidak digunakan atau tidak perlu, dan secara teratur meninjau log server Anda untuk tanda -tanda aktivitas yang mencurigakan.
Dengan mengikuti praktik terbaik ini, Anda dapat menggunakan .htaccess untuk secara signifikan meningkatkan keamanan situs web Anda dan melindungi dari ancaman keamanan umum. Namun, penting untuk diingat itu .htaccess hanyalah satu dari banyak
- « Cara menangani kesalahan string kueri di javascript
- Cara mengaktifkan mode debug di Laravel untuk lingkungan tertentu »