Keamanan dan .htaccess

8

Sekitar sebulan yang lalu saya memulai blog WordPress di server yang dihosting terkait dengan hobi. Jadi, saya baru dengan ini saat ini.

Karena saya khawatir dengan keamanan, satu hal yang saya lakukan adalah menginstal plugin WP Security Scan. Menurut hasil plugin, situs saya memeriksa kecuali bahwa saya mendapatkan ini di hasil sebagai tanda merah:

File .htaccess tidak ada di wp-admin / (saya ssh di sana dan tidak ada)

Ok, jadi saya melakukan pencarian yang cukup besar tentang masalah ini dan menemukan terlalu banyak info tentang .htaccess. Saya telah melalui Pengerasan WordPress di situs WordPress.org, dll. Dan juga berlari ke artikel ini: http://digwp.com/2010/07/wordpress-security-lockdown/

Ngomong-ngomong, saya pada dasarnya bingung dengan banyaknya informasi yang tersedia.

Apa isi file .htaccess di wp-admin? Saya telah membaca bahwa file .htaccess ini harus melindungi kata sandi direktori wp-admin dan saya juga membaca bahwa ini dapat menyebabkan masalah fungsionalitas.

Bantuan dengan ini sangat dihargai.

Terima kasih. -wdypdx22

Perbarui Ok, jadi saya tidak masuk ke blog saya dan menggunakan komputer yang berbeda dari biasanya. Saya memasukkan url www.mysite.com/wordpress/wp-admin/ dan ada arahan ulang untuk masuk. Jika itu yang terjadi, maka apakah file htaccess bahkan diperlukan di direktori wp-admin?

wdypdx22
sumber
Sudahkah Anda mencoba bertanya kepada pengembang WP Security Scan?
Doug
@Doug - Ya, pengembang memiliki forum dengan setidaknya 2 orang lain yang menanyakan pertanyaan yang sama persis dan tidak ada jawaban. Juga, saya diposting di wordpress.org dan tidak ada tanggapan di sana juga. Jadi, mungkin ini bahkan tidak masalah?
wdypdx22

Jawaban:

8

UPDATE : Ketika saya pertama kali memposting jawaban saya, saya melewatkan inti dari pertanyaan; jawaban saya adalah tentang.htaccesskeamanan secara umum dan sekarang terdaftar di bawah garis ganda (lihat ke bawah jika itu menarik minat Anda.) Sayangnya saya tidak memiliki pengalaman khusus dengan pengamanan/wp-admin/menggunakan.htaccessjadi saya hanya akan daftar dua sumber daya yang akan saya kejar kapan dan jika Saya membutuhkannya:

Yang pertama merekomendasikan yang berikut ini (dan ini adalah beberapa diskusi tentangnya .)

<Files ~ "\.(php)$">
AuthUserFile /etc/httpd/htpasswd
AuthType Basic
AuthName "restricted"
Order Deny,Allow
Deny from all
Require valid-user
Satisfy any
</Files>

Yang terakhir memiliki banyak informasi, terutama di komentar, tetapi diakui memberi Anda daftar untuk dibaca bukanlah jawaban yang Anda cari.

Maaf saya tidak bisa lebih membantu yang satu ini.

========================================

Biasanya WordPress hanya memiliki yang menangani pemrosesan permalink berikut ini dan tidak terkait dengan keamanan:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Baru-baru ini saya telah menemukan plugin WP htacess Control yang mengatur banyak .htaccessuntuk Anda dan saya lebih menyukainya. Setelah mengubah pengaturannya, ia menambahkan opsi berikut:

# WPhtC: Disable ServerSignature on generated error pages
ServerSignature Off

# WPhtC: Disable directory browsing
Options All -Indexes

# WPhtC: Protect WP-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>

# WPhtC: Protect .htaccess file
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
</files>

Itu juga menambahkan opsi-opsi ini yang tentang kinerja bukan keamanan:

# WPhtC: Setting mod_gzip
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

# WPhtC: Setting mod_deflate
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent env=!dont-vary
</IfModule>

Di luar yang satu ini ada beberapa plugin yang belum saya coba tetapi yang berfokus pada keamanan dan yang berinteraksi dengan .htaccess- Anda dapat mencobanya masing-masing hanya untuk melihat apa yang mereka lakukan terhadap .htaccessfile:

Selain itu, jika Anda ingin mengetahui sumber daya pakar (IMO) # 1 pada keamanan Apache yang terkait dengan WordPress Anda dapat menemukannya di AskApache.com ; Bung hardcore! Blognya tidak akan menyelesaikan masalah " terlalu banyak informasi " Anda, tetapi setidaknya Anda dapat melihatnya sebagai sumber daya yang berwibawa!

Berikut adalah beberapa contoh (walaupun tidak semua yang terkait langsung dengan WordPress semuanya berlaku):

Bagaimanapun, semoga ini membantu.

MikeSchinkel
sumber
Informasi hebat untuk keamanan keseluruhan, tetapi tidak menjawab tentang / wp-admin / folder
Ryan Gibbons
Meskipun ini semua informasi yang berguna, tidak ada yang ada hubungannya dengan pertanyaan. Ini semua berhubungan dengan .htaccess di direktori root. Pertanyaan aslinya adalah tentang .htaccess di subdirektori wp-admin.
Doug
@ Insanity5902 @Doug: Buruk saya. Saya hanya tidak melihat itu ketika saya membacanya.
MikeSchinkel
2
Saya menerima jawaban Anda pada dasarnya karena, intinya, keamanan keseluruhan adalah tujuan saya. Blog saya sangat baru, tetapi traffic saya terus bertambah. Pada dasarnya, saya hanya ingin langkah-langkah keamanan untuk jika dan ketika saya benar-benar mulai mendapatkan banyak lalu lintas. -Terima kasih
wdypdx22
1
@wdypdx - Terima kasih banyak. Saya benar-benar malu ketika saya menyadari bahwa saya telah melewatkan pertanyaan inti Anda dengan berani. Senang ternyata positif.
MikeSchinkel
4

Gagasan di baliknya, jika Anda memiliki file yang tergantung di belakang dari upgrade sebelumnya atau untuk serangan zero-day, sistem Anda bisa diretas. Juga mengamankan wp-admin dengan metode lain akan membantu melawan serangan brute-force.

One Idea) Jika hanya Anda mengedit situs Anda dapat membatasi akses ke folder dengan ip melakukan sesuatu seperti

<Files *>
Order deny,allow
Deny from All
Allow from 1.2.3.4
</Files>

Untuk membuatnya sedikit lebih dapat ditoleransi untuk sistem IP dinamis; Anda harus dapat mengizinkan dari subblock, jadi jika IP pool Anda selalu dari 1.2.3.128 - 1.2.3.255, maka Anda bisa melakukan sesuatu seperti 1.2.3.128/25

Ide lain) memerlukan HTTPS, beri izin ditolak jika mereka mencobanya melalui http. Tapi jangan mengarahkan mereka ke https. Anda dapat menggunakan sertifikat yang ditandatangani sendiri atau dari CA Cert untuk bertahan tanpa membeli.

Ryan Gibbons
sumber
0

Saya selalu menyertakan file .htaccess di wp-admin, bahkan jika saya tidak pernah memasukkan apa pun di dalamnya, karena itu meniadakan file direktori root. Beberapa orang menggunakan file .htaccess wp-admin untuk menyembunyikan seluruh direktori dari semua kecuali satu alamat IP, yang lain menggunakannya untuk kata sandi melindungi direktori.

Namun, kata sandi yang melindungi bagian admin dengan .htaccess akan menonaktifkan komunikasi ajax, karena mereka berinteraksi dengan wp-admin / admin-ajax.php.

Secara umum, saya tidak melihat banyak alasan untuk menambahkan sesuatu ke file admin .htaccess kecuali Anda sangat paranoid. Serangan biasanya menargetkan konten wp.

John P Bloch
sumber
1
File .htaccess dalam subdirektori dapat mengabaikan arahan dalam direktori root, tetapi .htaccess kosong tidak meniadakan apa pun.
Doug
Maka saya telah salah informasi. Hmmmm ...
John P Bloch
Yang perlu Anda lakukan adalah membalikkan apa yang ada di root, jika ada. Namun, jawaban Insanity lebih baik daripada yang ditandai sebagai yang terbaik, meskipun akan lebih baik jika ada info tentang Insanity di dalamnya.
Arlen Beiler
0

saya juga menggunakan sseqlib perpustakaan untuk keamanan lebih dan hacks berbeda di .htacces; lihat tautannya

bueltge
sumber