<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Herself&#039;s Webtools &#187; security</title>
	<atom:link href="http://herselfswebtools.com/category/security/feed" rel="self" type="application/rss+xml" />
	<link>http://herselfswebtools.com</link>
	<description>Scripts, HowTos, Templates, Plugins, Widgets, Tips</description>
	<lastBuildDate>Fri, 18 Nov 2011 15:47:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Security plugins updated</title>
		<link>http://herselfswebtools.com/2011/08/security-plugins-updated.html</link>
		<comments>http://herselfswebtools.com/2011/08/security-plugins-updated.html#comments</comments>
		<pubDate>Fri, 12 Aug 2011 13:45:20 +0000</pubDate>
		<dc:creator>Linda MacPhee-Cobb</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[useful software]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://herselfswebtools.com/?p=801</guid>
		<description><![CDATA[This week I updated all three WordPress security plugins &#8211; install and uninstall functions were added, the user interface and code was cleaned up. I hope to make them smarter over the coming few months. Tripwire Download WordPress Tripwire Plugin Prevent bot registrations Download WordPress Bot Blocker Plugin Security plugin Download WordPress Security Plugin]]></description>
			<content:encoded><![CDATA[<p>This week I updated all three WordPress security plugins &#8211; install and uninstall functions were added, the user interface and code was cleaned up.  I hope to make them smarter over the coming few months.</p>
<p><a href="http://herselfswebtools.com/2008/06/wordpress-plugin-tripwire.html">Tripwire</a><br />
<a href="http://herselfswebtools.com/files/ttc-wp-tripwire.tar.gz">Download WordPress Tripwire Plugin</a></p>
<p><a href="http://herselfswebtools.com/2008/06/wordpress-plugin-to-prevent-bot-registrations.html">Prevent bot registrations</a><br />
<a href="http://herselfswebtools.com/files/ttc-bot-block.tar.gz">Download WordPress Bot Blocker Plugin</a></p>
<p><a href="http://herselfswebtools.com/2008/06/wordpress-security-plugin-block-scrapers-hackers-and-more.html">Security plugin</a><br />
<a href="http://herselfswebtools.com/files/ttc-wp-security.tar.gz">Download WordPress Security Plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://herselfswebtools.com/2011/08/security-plugins-updated.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some bot blocking htaccess hacks for WordPress</title>
		<link>http://herselfswebtools.com/2009/12/some-bot-blocking-htaccess-hacks-for-wordpress.html</link>
		<comments>http://herselfswebtools.com/2009/12/some-bot-blocking-htaccess-hacks-for-wordpress.html#comments</comments>
		<pubDate>Sun, 06 Dec 2009 20:54:20 +0000</pubDate>
		<dc:creator>Linda MacPhee-Cobb</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[things you should know]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://herselfswebtools.com/?p=768</guid>
		<description><![CDATA[There are some great security plugins out there. But all WordPress security plugins require that the bot use the front door to the website. Otherwise the security plugin isn&#8217;t turned on. Your .htaccess file provides better coverage and is more efficient. I realize not everyone has access to .htaccess and that is why bot blocker, [...]]]></description>
			<content:encoded><![CDATA[<p>There are some great security plugins out there.  But all WordPress security plugins require that the bot use the front door to the website.  Otherwise the security plugin isn&#8217;t turned on.</p>
<p>Your .htaccess file provides better coverage and is more efficient. I realize not everyone has access to .htaccess and that is why <a href="http://herselfswebtools.com/2008/06/wordpress-plugin-to-prevent-bot-registrations.html">bot blocker</a>, <a href="http://herselfswebtools.com/2008/06/wordpress-security-plugin-block-scrapers-hackers-and-more.html">security plugin</a> and other security plugins exist.  But if you have access to .htaccess that is where you should be doing your security.</p>
<p>This will not stop all bots but should slow them down quite a bit.</p>
<p>Improved .htaccess file</p>
<p>^ &#8211; starts with<br />
$ &#8211; ends with</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
# block known trouble makers dumb enough to<br />
# announce who they are<br />
SetEnvIfNoCase User-Agent &#8220;^EmailSiphon&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^EmailWolf&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^ExtractorPro&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^CherryPicker&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^NICErsPRO&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Teleport&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^EmailCollector&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^LinkWalker&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Zeus&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^botpaidtoclick&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Click Bot&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^WebRipper&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Wget&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Snoopy&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Security Kol&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^libwww-perl&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Java&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^DataCha0s&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Grazer&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^lwp-request&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^lwp-trivial&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Morpheus&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Site Sniper&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Winnie Poh&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^curl&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Akregator&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^ac-baidu&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;(Ubuntu-feisty)$&#8221; bad_bot</p>
<p>&lt;Limit GET POST&gt;<br />
Order Allow,Deny<br />
Allow from all<br />
Deny from env=bad_bot<br />
&lt;/Limit&gt;</p>
<p># block directory browsing<br />
Options All -Indexes</p>
<p># protect some files<br />
&lt;files wp-config.php&gt;<br />
order allow,deny<br />
deny from all<br />
&lt;/files&gt;</p>
<p>&lt;files .htaccess&gt;<br />
order allow,deny<br />
deny from all<br />
&lt;/files&gt;</p>
<p># block bot registrations and send them to the front door<br />
# if you try to register and your accept statement only has */*<br />
# I&#8217;ll think you&#8217;re a bot<br />
&lt;IfModule mod_rewrite.c&gt;<br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteCond %{REQUEST_METHOD} POST<br />
RewriteCond %{REQUEST_URI} .wp-login\.php*<br />
RewriteCond %{HTTP_ACCEPT} ^\*\/\*$<br />
RewriteRule (.*) <a href="http://yourdomain.com/" target="_blank">http://yourdomain.com/</a> [R=301,L]<br />
&lt;/IfModule&gt;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Additional resources:<br />
<a href="http://perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/">Perishable Press Stupid htaccess tricks</a><br />
<a href="http://www.josiahcole.com/2007/07/11/almost-perfect-htaccess-file-for-wordpress-blogs/">Almost Perfect htaccess File for WordPress</a></p>
]]></content:encoded>
			<wfw:commentRss>http://herselfswebtools.com/2009/12/some-bot-blocking-htaccess-hacks-for-wordpress.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good WP database checks to run</title>
		<link>http://herselfswebtools.com/2009/09/good-wp-database-checks-to-run.html</link>
		<comments>http://herselfswebtools.com/2009/09/good-wp-database-checks-to-run.html#comments</comments>
		<pubDate>Sun, 13 Sep 2009 18:50:11 +0000</pubDate>
		<dc:creator>Linda MacPhee-Cobb</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://herselfswebtools.com/?p=760</guid>
		<description><![CDATA[Every so often it&#8217;s good to just run a quick pass on your WordPress database and look for troubles. There are two things I check for: users who don&#8217;t comment, and iframes and scripts inside of posts. You can easily bookmark SQL queries in phpMyAdmin, I do this and try to run the scripts every [...]]]></description>
			<content:encoded><![CDATA[<p>Every so often it&#8217;s good to just run a quick pass on your WordPress database and look for troubles.</p>
<p>There are two things I check for: users who don&#8217;t comment, and iframes and scripts inside of posts.</p>
<p>You can easily bookmark SQL queries in phpMyAdmin, I do this and try to run the scripts every week or so.</p>
<p>To check for iframes and scripts added to your posts log on to phpMyAdmin and then click the SQL tab and run the following command:</p>
<p><code><br />
SELECT *<br />
FROM wp_posts<br />
WHERE post_content LIKE '%iframe%'<br />
UNION<br />
SELECT *<br />
FROM wp_posts<br />
WHERE post_content LIKE '%noscript%'<br />
UNION<br />
SELECT *<br />
FROM wp_posts<br />
WHERE post_content LIKE '%display:none%'<br />
UNION<br />
SELECT *<br />
FROM wp_posts<br />
WHERE post_content LIKE '%display:%'<br />
UNION<br />
SELECT *<br />
FROM wp_posts<br />
WHERE post_content LIKE '%ekibastos%'<br />
UNION<br />
SELECT *<br />
FROM wp_posts<br />
WHERE post_content LIKE '%visibility:hidden%';<br />
</code></p>
<p>This looks for hidden things in your posts.  If you get any results back you should check that post very carefully for things you did not put in it.</p>
<p>Users who register and don&#8217;t comment are likely bots who got through the bot net, or spammers planning to come back later.  I delete all users who register but don&#8217;t comment soon thereafter.</p>
<p>To check for users who haven&#8217;t commented run the following SQL query</p>
<p><code>SELECT user_login, user_email, date_format( user_registered, '%M %d %Y' ) AS user_registration_date<br />
FROM wp_users<br />
WHERE wp_users.user_login NOT<br />
IN (<br />
SELECT comment_author<br />
FROM wp_comments<br />
)<br />
LIMIT 0 , 30</code></p>
<p>I&#8217;ve also begun checking comments for troubles using the same items I look for in posts:<br />
<code><br />
SELECT  *<br />
FROM wp_comments<br />
WHERE comment_content LIKE  '%&lt;iframe%'<br />
UNION  SELECT  *<br />
FROM wp_comments<br />
WHERE comment_content LIKE  '%&lt;noscript%'<br />
UNION  SELECT  *<br />
FROM wp_comments<br />
WHERE comment_content LIKE  '%display:none%'<br />
UNION  SELECT  *<br />
FROM wp_comments<br />
WHERE comment_content LIKE  '%display:%'<br />
UNION  SELECT  *<br />
FROM wp_comments<br />
WHERE comment_content LIKE  '%ekibastos%'<br />
UNION  SELECT  *<br />
FROM wp_comments<br />
WHERE comment_content LIKE  '%visibility:hidden%'<br />
LIMIT 0 , 30;<br />
</code></p>
<p>Another optimization you&#8217;ll want to make is to delete all those post revisions, they multiply quickly.</p>
<p><code>DELETE FROM wp_posts WHERE post_type = "revision";</code></p>
<p>And finally optimize your tables</p>
<p><code>OPTIMIZE TABLE `wp_comments` , `wp_links` , `wp_options` , `wp_postmeta` , `wp_posts` , `wp_terms` , `wp_term_relationships` , `wp_term_taxonomy` , `wp_usermeta` , `wp_users`;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://herselfswebtools.com/2009/09/good-wp-database-checks-to-run.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

