<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>security on {bjørn:johansen}</title>
    <link>https://bjornjohansen.com/category/security/</link>
    <description>Recent content in security on {bjørn:johansen}</description>
    <generator>Hugo -- 0.118.2</generator>
    <language>en-US</language>
    <lastBuildDate>Mon, 12 Feb 2018 22:38:40 +0000</lastBuildDate>
    <atom:link href="https://bjornjohansen.com/category/security/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How to mitigate CVE-2018-6389 – the load-scripts.php DoS “attack” in WordPress</title>
      <link>https://bjornjohansen.com/load-scripts-php/</link>
      <pubDate>Mon, 12 Feb 2018 22:38:40 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:64653138-3531-5034-b836-633934386261</guid> 
      <description>A little sensationalist written blog post by Barak Tawily claims that WordPress is vulnerable to a DoS attack because of the load-scripts.php file which concatenates JavaScript files on the fly.</description>
    </item>
    <item>
      <title>Another day, another “WordPress security vulnerability”</title>
      <link>https://bjornjohansen.com/another-day-another-wordpress-security-vulnerability/</link>
      <pubDate>Sat, 27 Jan 2018 00:36:35 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:66616636-6434-5639-a261-376632623031</guid> 
      <description>OMFG, BREAKING NEWS: Thousands of WordPress sites affected by some vulnerability.{{ double-space-with-newline }}</description>
    </item>
    <item>
      <title>WordPress security for the casual blogger or small business with limited resources</title>
      <link>https://bjornjohansen.com/wordpress-security-budget/</link>
      <pubDate>Thu, 10 Aug 2017 16:37:51 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:62626336-6637-5339-a230-366461663232</guid> 
      <description>The resources you have available to spend on WordPress security for your website usually vary vastly whether you’re an international corporation or just a hobbyist blogger. But since most attacks are automated by bots looking for vulnerabilities, a lot of the threats are the same. Here are some WordPress security measures that bloggers and small business with limited resources easily can take.</description>
    </item>
    <item>
      <title>Secure email: Encrypt and sign your emails with PGP/GnuPG</title>
      <link>https://bjornjohansen.com/secure-email/</link>
      <pubDate>Thu, 25 May 2017 11:49:24 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:33613931-3236-5265-b165-386234653236</guid> 
      <description>Email is fundamentally insecure. There are such a plethora of issues with it, it is crazy to think about the kind of information sent with it. It is probably even crazier when you realize we’ve had a solution for sending secure email since 1991.</description>
    </item>
    <item>
      <title>How to perform and mitigate a WordPress session donation attack</title>
      <link>https://bjornjohansen.com/wordpress-session-donation-attack/</link>
      <pubDate>Wed, 22 Mar 2017 15:16:56 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:30626132-3437-5738-b264-633332333961</guid> 
      <description>WordPress doesn’t use a nonce for the login form, which opens up for you to perform a WordPress session donation attack.</description>
    </item>
    <item>
      <title>How CloudFlare handled CloudBleed</title>
      <link>https://bjornjohansen.com/how-cloudflare-handled-cloudbleed/</link>
      <pubDate>Fri, 24 Feb 2017 09:27:05 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:33663066-6334-5466-b930-346639373537</guid> 
      <description>Tavis Ormandy from Google’s Project Zero contacted Cloudflare to report a security problem with their service. It turned out that in some unusual circumstances, they would bleed memory that contained private information.</description>
    </item>
    <item>
      <title>Giving users a helping hand when authorizing them in WordPress</title>
      <link>https://bjornjohansen.com/wordpress-assisted-password-check/</link>
      <pubDate>Tue, 24 Jan 2017 07:17:14 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:36323937-6365-5235-b963-353430666163</guid> 
      <description>Inspired by how Facebook assists their users when they log in, I decided to implement something like the same for WordPress.</description>
    </item>
    <item>
      <title>To www or not to www – Should you use www or not in your domain?</title>
      <link>https://bjornjohansen.com/www-or-not/</link>
      <pubDate>Fri, 20 Jan 2017 17:49:52 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:31666563-3364-5630-a361-353039313930</guid> 
      <description>For 20 years or so, there has been the debate over whether you should use www or not in your web site’s canonical hostname. So should you use www or not?</description>
    </item>
    <item>
      <title>Encrypt and decrypt a file using SSH keys</title>
      <link>https://bjornjohansen.com/encrypt-file-using-ssh-key/</link>
      <pubDate>Thu, 05 Jan 2017 17:25:41 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:66336266-3565-5336-b932-656134356263</guid> 
      <description>If you have someone’s public SSH key, you can use OpenSSL to safely encrypt a file and send it to them over an insecure connection (i.e. the internet). They can then use their private key to decrypt the file you sent.</description>
    </item>
    <item>
      <title>SVG uploads in WordPress (the Inconvenient Truth)</title>
      <link>https://bjornjohansen.com/svg-in-wordpress/</link>
      <pubDate>Thu, 26 May 2016 20:02:07 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:30303135-3439-5535-b863-313431636535</guid> 
      <description>&lt;p&gt;Enabling uploads of SVG files in WordPress is quite easy, and there is a tonne of posts on the Interwebs explaining how you do it. Usually along the lines of:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;function add_svg_to_upload_mimes( $upload_mimes ) {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	$upload_mimes[&amp;#39;svg&amp;#39;] = &amp;#39;image/svg+xml&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	$upload_mimes[&amp;#39;svgz&amp;#39;] = &amp;#39;image/svg+xml&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	return $upload_mimes;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;add_filter( &amp;#39;upload_mimes&amp;#39;, &amp;#39;add_svg_to_upload_mimes&amp;#39;, 10, 1 );
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And that’s pretty much it.&lt;/p&gt;
&lt;p&gt;Except it is not.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Let’s Encrypt for Nginx</title>
      <link>https://bjornjohansen.com/letsencrypt-nginx/</link>
      <pubDate>Thu, 31 Mar 2016 20:48:31 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:38623063-3465-5338-b964-656234343537</guid> 
      <description>Let’s install an SSL-certificate from Let’s Encrypt for Nginx.</description>
    </item>
    <item>
      <title>Restrict allowed HTTP methods in Nginx</title>
      <link>https://bjornjohansen.com/restrict-allowed-http-methods-in-nginx/</link>
      <pubDate>Wed, 21 Oct 2015 18:22:11 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:62313264-3030-5033-b530-326262653633</guid> 
      <description>&lt;p&gt;Security vulnerabilities are often exploits of software that fails when trying to deal with unexpected input. Other times they are exploits of a misconfiguration or a service that unintentionally was open to the public.&lt;/p&gt;
&lt;p&gt;For the above reasons, we should limit as much as possible what services are exposed to the public and limit as much as possible what they do and accept from the visitors. To follow those security principles, we should only allow the HTTP methods for which we, in fact, provide services. Under all normal circumstances, that would be the methods &lt;code&gt;GET&lt;/code&gt;, &lt;code&gt;POST&lt;/code&gt; and &lt;code&gt;HEAD&lt;/code&gt;.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Block access to PHP files on your WordPress site with Nginx</title>
      <link>https://bjornjohansen.com/block-access-to-php-files-with-nginx/</link>
      <pubDate>Mon, 19 Oct 2015 20:43:56 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:64396231-3165-5362-a165-633364313838</guid> 
      <description>In your WordPress site, there are directories that include PHP files that visitors should never be able to access directly. They are only there for WordPress to function as an application that runs on your server. But because of WordPress’ directory and file structure, they are kind of accessible to the public. All of them are meant to be part of a larger application – WordPress, that is – and should not cause any harm if called directly – that we know. Some of the files execute some code even when ran standalone. An attacker might know of a clever way to make that code run in an unexpected manner, causing harm. To be on the safe side, we should deny access to all these PHP files from the outside world. Since we block access to them in our Nginx configuration, PHP will still run them as usual and WordPress will work just fine.</description>
    </item>
    <item>
      <title>Optimizing HTTPS on Nginx</title>
      <link>https://bjornjohansen.com/optimizing-https-nginx/</link>
      <pubDate>Sat, 18 Jan 2014 23:49:30 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:64373039-3439-5939-a565-376661666535</guid> 
      <description>Now that you have secured &lt;a href=&#34;https://www.bjornjohansen.com/securing-nginx-ssl&#34;&gt;Nginx with HTTPS&lt;/a&gt; and &lt;a href=&#34;https://www.bjornjohansen.com/enabling-spdy-nginx&#34;&gt;enabled SPDY&lt;/a&gt; &lt;a href=&#34;https://www.bjornjohansen.com/enable-http2-on-nginx&#34;&gt;enabled HTTP/2&lt;/a&gt;, it&amp;rsquo;s time to improve both the security and the performance of the server.</description>
    </item>
    <item>
      <title>Restricting access to WordPress login by IP address</title>
      <link>https://bjornjohansen.com/restricting-access-to-wordpress-login-by-ip-address/</link>
      <pubDate>Sat, 20 Apr 2013 20:15:34 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:33306539-3032-5330-b562-623835343236</guid> 
      <description>If you have a static IP address, like from &lt;a href=&#34;https://www.bjornjohansen.com/setting-up-your-own-pptp-vpn&#34;&gt;your own VPN&lt;/a&gt;, it is very easy to increase your security tremendously. Simply restrict all logins to that IP address.</description>
    </item>
    <item>
      <title>Setting up your own PPTP VPN</title>
      <link>https://bjornjohansen.com/setting-up-your-own-pptp-vpn/</link>
      <pubDate>Sat, 20 Apr 2013 19:04:23 +0000</pubDate>
       <guid isPermaLink="false">urn:uuid:66333437-3135-5337-b562-393466663263</guid> 
      <description>When it comes to VPNs, there is the choice between PPTP and OpenVPN. PPTP is pretty quick to setup and works out of the box with most (all?) OSes and devices.</description>
    </item>
  </channel>
</rss>
