Sicurezza e .htaccess


8

Circa un mese fa ho aperto un blog WordPress su un server ospitato relativo a un hobby. Quindi, sono nuovo per questo al momento.

Dato che sono preoccupato per la sicurezza, una cosa che ho fatto è stato installare il plugin WP Security Scan. In base ai risultati del plug-in, il mio sito verifica che non sia presente nei risultati come bandiera rossa:

Il file .htaccess non esiste in wp-admin / (ho scritto lì e non esiste)

Ok, quindi ho fatto una ricerca considerevole sul problema e ho trovato troppe informazioni su .htaccess. Ho attraversato Hardening WordPress sul sito WordPress.org, ecc. E ho anche incontrato questo articolo: http://digwp.com/2010/07/wordpress-security-lockdown/

Ad ogni modo, mi sono praticamente confuso con la pletora di informazioni disponibili.

Cosa dovrebbe contenere il file .htaccess in wp-admin? Ho letto che questo file .htaccess dovrebbe proteggere con password la directory wp-admin e ho anche letto che ciò può causare problemi di funzionalità.

L'aiuto in questo è molto apprezzato.

Grazie. -wdypdx22

Aggiorna Ok, quindi non ho effettuato l'accesso al mio blog e non uso un computer diverso dal solito. Inserisco l'URL www.mysite.com/wordpress/wp-admin/ e c'è un reindirizzamento per accedere. Se è quello che succede, allora è necessario un file htaccess nella directory wp-admin?


Hai provato a chiedere allo sviluppatore di WP Security Scan?
Doug,

@Doug - Sì, lo sviluppatore ha un forum con almeno altre 2 persone che pongono la stessa identica domanda e nessuna risposta. Inoltre, ho pubblicato su wordpress.org e nessuna risposta neanche lì. Quindi, forse questo non ha nemmeno importanza?
wdypdx22,

Risposte:


8

AGGIORNAMENTO : Quando ho pubblicato la mia risposta per la prima volta, ho perso il nocciolo della domanda; la mia risposta era di circa.htaccessla sicurezza in generale ed è ora elencato sotto la doppia linea (guardare in basso, se vi interessa). Purtroppo non ho esperienza specifica con fissaggio/wp-admin/utilizzando.htaccessquindi mi limiterò semplicemente elencare le due risorse Inseguirò quando e se Ne ho bisogno:

Il primo raccomanda quanto segue (ed ecco alcune discussioni a riguardo .)

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

Quest'ultimo ha molte informazioni, specialmente nei commenti, ma è vero che fornirti un elenco da leggere non è la risposta che stavi cercando.

Mi dispiace non avrei potuto essere più utile su questo.

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

In genere WordPress ha solo i seguenti elementi che gestiscono l'elaborazione del permalink e non sono correlati alla sicurezza:

# 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

Recentemente ho trovato il plugin WP htacess Control che gestisce molto .htaccessper te e mi piace molto. Dopo aver modificato le impostazioni, ha aggiunto le seguenti opzioni:

# 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>

Ha anche aggiunto queste opzioni che riguardano le prestazioni anziché la sicurezza:

# 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>

Oltre a questo ci sono alcuni plugin che non ho provato ma che sono focalizzati sulla sicurezza e con cui interagiscono .htaccess- potresti provarli ciascuno solo per vedere cosa fanno al .htaccessfile:

Inoltre, se vuoi conoscere la risorsa (1 IMO) per esperti sulla sicurezza di Apache relativa a WordPress , puoi trovarla su AskApache.com ; amico è hardcore! Il suo blog non risolverà il problema " troppe informazioni " ma almeno puoi vederlo come una risorsa autorevole!

Ecco alcuni esempi (anche se non tutti sono direttamente correlati a WordPress, sono tutti applicabili):

Spero comunque che questo aiuti.


Ottime informazioni per la sicurezza generale, ma non rispondono della cartella / wp-admin /
Ryan Gibbons,

Sebbene queste possano essere tutte informazioni utili, nessuna di queste ha a che fare con la domanda. Tutto ciò si riferisce a .htaccess nella directory principale. La domanda originale riguardava .htaccess nella sottodirectory wp-admin.
Doug,

@ Insanity5902 @Doug: il mio male. Non l'ho visto mentre lo leggevo.
MikeSchinkel,

2
Ho accettato la tua risposta sostanzialmente perché, in conclusione, la sicurezza generale è il mio obiettivo. Il mio blog è molto nuovo, ma il mio traffico è in crescita. Fondamentalmente, voglio solo misure di sicurezza in atto per se e quando in realtà inizierò a ricevere molto traffico. -Grazie
wdypdx22

1
@wdypdx - Grazie mille. Ero davvero imbarazzato quando ho capito che avevo perso la tua domanda principale in grassetto. Sono contento che sia risultato positivo.
MikeSchinkel,

4

L'idea alla base, se hai file strangolati che pendono da aggiornamenti passati o per attacchi zero-day, il tuo sistema potrebbe essere hackerato. Anche proteggere il wp-admin con un altro metodo aiuterà contro gli attacchi di forza bruta.

Un'idea) Se stai solo modificando il sito puoi limitare l'accesso alla cartella tramite ip facendo qualcosa di simile

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

Per renderlo un po 'più tollerabile per i sistemi IP dinamici; dovresti essere in grado di consentire da un sottoblocco, quindi se il tuo pool IP è sempre compreso tra 1.2.3.128 - 1.2.3.255, potresti fare qualcosa come 1.2.3.128/25

Un'altra idea) richiede HTTPS, dare un permesso negato se lo provano su http. Ma non reindirizzarli su https. È possibile utilizzare un certificato autofirmato o uno da CA Cert per cavarsela senza acquistarne uno.


0

Includo sempre un file .htaccess in wp-admin, anche se non vi ho mai inserito nulla, poiché annulla il file della directory principale. Alcune persone usano il file .htaccess di wp-admin per nascondere l'intera directory da tutti tranne un indirizzo IP, altri lo usano per proteggere con password la directory.

Tuttavia, proteggere con password la sezione admin con .htaccess disabiliterà le comunicazioni ajax, poiché interagiscono con wp-admin / admin-ajax.php.

In generale, non vedo molte ragioni per aggiungere qualcosa al file .htaccess di amministrazione a meno che tu non sia estremamente paranoico. Gli attacchi di solito mirano comunque a contenuti wp.


1
Un file .htaccess in una sottodirectory può sovrascrivere le direttive nella directory principale, ma un .htaccess vuoto non nega nulla.
Doug,

Quindi sono stato male informato. Hmmmm ...
John P Bloch,

Quello che devi fare è invertire ciò che è nella radice, se non altro. Tuttavia, la risposta di Insanity è migliore di quella contrassegnata come la migliore, sebbene sarebbe meglio se contenesse le informazioni di Insanity.
Arlen Beiler,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.