36
WORDCAMP BOLOGNA 2012

Quanto è sicuro il tuo wordpress?

Embed Size (px)

Citation preview

Page 1: Quanto è sicuro il tuo wordpress?

WORDCAMP BOLOGNA 2012

Page 2: Quanto è sicuro il tuo wordpress?

WORDPRESS HARDENING (V3)

Page 3: Quanto è sicuro il tuo wordpress?

WordCamp Bologna 2012

About me

� 37 years old

� Born in Turin (Italy)

� Co-Founder mavida.com

� WordPress Lover

� http://maurizio.mavida.com

� https://twitter.com/miziomon

� http://www.linkedin.com/in/mauriziopelizzone

Page 4: Quanto è sicuro il tuo wordpress?

WordCamp Bologna 2012

Why we need «hardening» ?

Page 5: Quanto è sicuro il tuo wordpress?

WordCamp Bologna 2012

Page 6: Quanto è sicuro il tuo wordpress?

Dangers

WordCamp Bologna 2012

Page 7: Quanto è sicuro il tuo wordpress?

1. Info collection

2. Password Brute force attack

3. Exploit

4. Human mistakes

5. Server vulnerabilities

6. Network vulnerabilities

7. File Permissions

WordCamp Bologna 2012

Page 8: Quanto è sicuro il tuo wordpress?

1. Info collection

2. Password Brute force attack

3. Exploit

4. Human mistakes

5. Server vulnerabilities

6. Network vulnerabilities

7. File Permissions

WordCamp Bologna 2012

Page 9: Quanto è sicuro il tuo wordpress?

1. Info collection

2. Password Brute force attack

3. Exploit

4. Human mistakes

5. Server vulnerabilities

6. Network vulnerabilities

7. File Permissions

WordCamp Bologna 2012

Page 10: Quanto è sicuro il tuo wordpress?

WordCamp Bologna 2012

Page 11: Quanto è sicuro il tuo wordpress?

WordCamp Bologna 2012

Some

solutions

Page 12: Quanto è sicuro il tuo wordpress?

WordCamp Bologna 2012

Delete readme.html

Page 13: Quanto è sicuro il tuo wordpress?

Prevent user enumeration (?author=n)

RewriteCond %{QUERY_STRING} (^|&)author=RewriteRule . http://%{SERVER_NAME}/? [L]

WordCamp Bologna 2012

Page 14: Quanto è sicuro il tuo wordpress?

1. Block Access to login / admin

2. Prepare custom login url

3. Check key presence

Hide wp_(login|admin|registrazion)

WordCamp Bologna 2012

Page 15: Quanto è sicuro il tuo wordpress?

Full code here: https://gist.github.com/3003290

RewriteRule ^login /wp-login.php?key=12345g&redirect_to=… [L]

RewriteCond %{HTTP_REFERER} !^wp-admin

RewriteCond %{QUERY_STRING} !^key=12345

RewriteRule ^app/wp-login\.php http://%{SERVER_NAME}/? [R,L]

WordCamp Bologna 2012

Page 16: Quanto è sicuro il tuo wordpress?

Options All -IndexesOrder Allow,DenyDeny from all

<Files ~ "\.(xls|doc|rtf|pdf|zip|rar|mp3|flv|swf|png|gif|jpg|js|css)$">Allow from all

</Files>

<Files permitted-filename.php>Allow from all

</Files>

Deny php execution

WordCamp Bologna 2012

Page 17: Quanto è sicuro il tuo wordpress?

Shrink plugins number

1. Remove inactive plugin

2. Remove useless plugin

3. Remove dangerous plugin

4. (Evaluate code integration)

WordCamp Bologna 2012

Page 18: Quanto è sicuro il tuo wordpress?

DISALLOW PLUGIN INSTALL / UPDATE

/**

* edit your wp-config.php

*/

define('DISALLOW_FILE_EDIT', true);

define('DISALLOW_FILE_MODS',true);

WordCamp Bologna 2012

Page 19: Quanto è sicuro il tuo wordpress?

WordCamp Bologna 2012

Use STRONG password

Insecure Password

• giulia76

• password

• 123456

• qwerty

• matrix

Secure Password

• D7u8hI928FJYusx

• Z5BLl20T8by1524

• TLv7p64P63V5Hr1

• 6b83668I15qRP2I

• Um2d4Ejd9T1ExPr

http://strongpasswordgenerator.com/

Page 20: Quanto è sicuro il tuo wordpress?

CHANGE DIRECTORY

STRUCTURE

WordCamp Bologna 2012

Page 21: Quanto è sicuro il tuo wordpress?

Rename wp-content

/**

* edit your wp-config.php

*/

define( 'WP_CONTENT_DIR', dirname( __FILE__ ) . '/public' );

define( 'WP_CONTENT_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/public ' );

WordCamp Bologna 2012

Page 22: Quanto è sicuro il tuo wordpress?

Change Upload Directory

WordCamp Bologna 2012

Page 23: Quanto è sicuro il tuo wordpress?

Move WordPress Core

/**

* edit your wp-config.php

*/

define( 'WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/wordpress-core/');

define( 'WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);

/**

* edit your index.php

*/

define('WP_USE_THEMES', true);

require('./wordpress-core/wp-blog-header.php');

WordCamp Bologna 2012

Page 24: Quanto è sicuro il tuo wordpress?

Structure Example

WordCamp Bologna 2012

Page 25: Quanto è sicuro il tuo wordpress?

CUSTOM STRUCTURE EXAMPLE #1 WordCamp Bologna 2012

Page 26: Quanto è sicuro il tuo wordpress?

CUSTOM STRUCTURE EXAMPLE #2 WordCamp Bologna 2012

Page 27: Quanto è sicuro il tuo wordpress?

WordCamp Bologna 2012

Codex References

• http://codex.wordpress.org/Hardening_WordPress

• http://codex.wordpress.org/Administration_Over_SSL

• http://codex.wordpress.org/Editing_wp-config.php

Page 28: Quanto è sicuro il tuo wordpress?

BLACKHOLE

WordCamp Bologna 2012

Page 29: Quanto è sicuro il tuo wordpress?

BLACKHOLE

http://perishablepress.com/blackhole-bad-bots/

WordCamp Bologna 2012

Page 30: Quanto è sicuro il tuo wordpress?

RULES FOR BLACKHOLE

RewriteEngine On

RewriteBase /

RewriteRule ^(admin|wp-admin|wp-content)$ blackhole/ [L]

RewriteRule ^(phpinfo|phpmyadmin)$ blackhole/ [L]

WordCamp Bologna 2012

Page 31: Quanto è sicuro il tuo wordpress?

BLACKHOLE PLUGIN

<?php

/*

Plugin Name: blackhole

Plugin URI: http://maurizio.mavida.com/

Description: blackhole

License: GPL

Version: 0.1

Author: Maurizio Pelizzone

Author URI: http://maurizio.mavida.com

*/

if (!is_admin()){

include($_SERVER['DOCUMENT_ROOT'] . "/blackhole/blackhole.php");

}

WordCamp Bologna 2012

Page 32: Quanto è sicuro il tuo wordpress?

FILE MONITOR

WordCamp Bologna 2012

Page 33: Quanto è sicuro il tuo wordpress?

WordCamp Bologna 2012

Page 34: Quanto è sicuro il tuo wordpress?

AVOID FTP

WordCamp Bologna 2012

Page 35: Quanto è sicuro il tuo wordpress?

?

WordCamp Bologna 2012

Page 36: Quanto è sicuro il tuo wordpress?

Other

Thank you

Maurizio Pelizzone

@miziomon

[email protected]

http://maurizio.mavida.com

WordCamp Bologna 2012