<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~files/feed.xsl"?>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedpress="https://feed.press/xmlns" version="2.0">
  <channel>
    <feedpress:locale>en</feedpress:locale>
    <atom:link rel="hub" href="http://feedpress.superfeedr.com/"/>
    <title><![CDATA[Project Nine]]></title>
    <description><![CDATA[Asynchronous Musings]]></description>
    <link>https://blog.projectnine.com/</link>
    <generator>Ghost 0.6</generator>
    <lastBuildDate>Sun, 17 Dec 2017 16:47:21 GMT</lastBuildDate>
    <atom:link href="http://feed.projectnine.com/" rel="self" type="application/rss+xml"/>
    <ttl>60</ttl>
    <item>
      <title><![CDATA[Setting Up Fail2Ban With ELK]]></title>
      <description><![CDATA[<p>One of the first things I wanted to do with my ELK stack (<a href="http://www.elasticsearch.org/overview/elasticsearch/">Elasticsearch</a>, <a href="http://www.elasticsearch.org/overview/logstash/">Logstash</a> and <a href="http://www.elasticsearch.org/overview/kibana/">Kibana</a>) was import Fail2Ban logs. Here is how I made it happen on a Debian based system.</p>

<script type="text/javascript" src="https://blog.projectnine.com//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>  

<script type="text/javascript" src="https://blog.projectnine.com//cdnjs.cloudflare.com/ajax/libs/gist-embed/2.1/gist-embed.min.js"></script>

<h4 id="settinguplogstashforwarder">Setting up Logstash-forwarder</h4>

<p>Unfortunately, the logs for <code>fail2ban</code> are set the local machine's time and don't include</p>]]></description>
      <link>http://tracking.feedpress.it/link/4086/569682</link>
      <guid isPermaLink="false">d206f19d-7456-49da-adb9-225b798ede32</guid>
      <category><![CDATA[how to]]></category>
      <category><![CDATA[dev-ops]]></category>
      <dc:creator><![CDATA[Justin Braithwaite]]></dc:creator>
      <pubDate>Tue, 10 Feb 2015 01:12:04 GMT</pubDate>
      <media:content url="https://blog.projectnine.com/content/images/2015/02/fail2ban.jpg" medium="image"/>
      <content:encoded><![CDATA[<img src="https://blog.projectnine.com/content/images/2015/02/fail2ban.jpg" alt="Setting Up Fail2Ban With ELK"><p>One of the first things I wanted to do with my ELK stack (<a href="http://www.elasticsearch.org/overview/elasticsearch/">Elasticsearch</a>, <a href="http://www.elasticsearch.org/overview/logstash/">Logstash</a> and <a href="http://www.elasticsearch.org/overview/kibana/">Kibana</a>) was import Fail2Ban logs. Here is how I made it happen on a Debian based system.</p>

<script type="text/javascript" src="https://blog.projectnine.com//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>  

<script type="text/javascript" src="https://blog.projectnine.com//cdnjs.cloudflare.com/ajax/libs/gist-embed/2.1/gist-embed.min.js"></script>

<h4 id="settinguplogstashforwarder">Setting up Logstash-forwarder</h4>

<p>Unfortunately, the logs for <code>fail2ban</code> are set the local machine's time and don't include the timezone:</p>

<pre>
2015-02-08 09:28:52,438 fail2ban.actions: WARNING [ssh] Ban XX.XX.XX.XX
</pre>

<p>To get around this, when configuring logstash-forwarder (<code>/etc/logstash-forwarder</code>), make sure to include the correct timezone.</p>

<div data-gist-id="fb3dcee73afdf04d9fbd" data-gist-file="logstash-forwarder"></div>

<pre>
service logstash-forwarder reload
</pre>

<h4 id="settinguplogstash">Setting up Logstash</h4>

<p>Create a new configuration file for fail2ban in <code>/etc/logstash/conf.d</code> If your ELK server(s) are not located in the same timezone as the other servers, make sure to add which timezones you need. <em>Aside: let me know if this possible using variables.</em></p>

<div data-gist-id="fb3dcee73afdf04d9fbd" data-gist-file="13-fail2ban.conf"></div>

<p>We are using some custom patterns so next, create the directory <code>/etc/logstash/patterns</code> and add the following.</p>

<div data-gist-id="fb3dcee73afdf04d9fbd" data-gist-file="fail2ban"></div>

<pre>
service logstash force-reload
</pre>

<h4 id="thedashboard">The Dashboard</h4>

<p>Here is a <a href="https://gist.github.com/anonymous/d32a7538bda679b13d9b">Kibana dashboard config for fail2ban</a> to get you started. Let me know on twitter if you have any issues.</p>

<p><a href="https://blog.projectnine.com/content/images/2015/02/Screen-Shot-2015-02-10-at-2-30-44-AM.png" target="_blank"><img src="https://blog.projectnine.com/content/images/2015/02/Screen-Shot-2015-02-10-at-2-30-44-AM.png" alt="Setting Up Fail2Ban With ELK"></a></p><img src="http://feedpress.me/4086/569682.gif" height="1" width="1"/>]]></content:encoded>
    </item>
    <item>
      <title><![CDATA[Ghost]]></title>
      <description><![CDATA[<blockquote class="twitter-tweet" lang="en"><p>I’m going to use <a href="https://twitter.com/TryGhost">@tryghost</a> for my next blog. There is nothing wrong with <a href="https://twitter.com/search?q=%23WordPress&amp;src=hash">#WordPress</a>, but I’m digging the simplicity of <a href="https://twitter.com/search?q=%23ghost&amp;src=hash">#ghost</a></p>&mdash; Justin Braithwaite (@nonameplayer) <a href="https://twitter.com/nonameplayer/statuses/402506028303929344">November 18, 2013</a></blockquote>

<p>That was just over 24 hours ago. I have since spun up a new VPS on <a href="https://www.linode.com/?r=81d8741eb85d264bafe43eda701a5bbac51f6b59">Linode</a>, set up</p>]]></description>
      <link>http://tracking.feedpress.it/link/4086/569683</link>
      <guid isPermaLink="false">0a883946-6aee-4a7c-b041-81c78c682eef</guid>
      <category><![CDATA[ghost]]></category>
      <category><![CDATA[meta]]></category>
      <dc:creator><![CDATA[Justin Braithwaite]]></dc:creator>
      <pubDate>Tue, 19 Nov 2013 12:00:00 GMT</pubDate>
      <content:encoded><![CDATA[<blockquote class="twitter-tweet" lang="en"><p>I’m going to use <a href="https://twitter.com/TryGhost">@tryghost</a> for my next blog. There is nothing wrong with <a href="https://twitter.com/search?q=%23WordPress&amp;src=hash">#WordPress</a>, but I’m digging the simplicity of <a href="https://twitter.com/search?q=%23ghost&amp;src=hash">#ghost</a></p>&mdash; Justin Braithwaite (@nonameplayer) <a href="https://twitter.com/nonameplayer/statuses/402506028303929344">November 18, 2013</a></blockquote>

<p>That was just over 24 hours ago. I have since spun up a new VPS on <a href="https://www.linode.com/?r=81d8741eb85d264bafe43eda701a5bbac51f6b59">Linode</a>, set up <a href="https://ghost.org/">Ghost</a> with a reverse proxy from nginx and things are generally working.</p>

<p>There is a lot to like about this new blogging platform: it's ambitious, the interface is best-in-class and it is lightning fast out of the box. That said, it will be a while before it can dethrone the king.</p>

<p>Ghost needs to be <strong>much</strong> easier to install. One of the reasons WordPress is so ubiquitous is that practicaly every shared hosting environment supports PHP and MySQL. Since Ghost is based on node.js, you have three ways to get it running:</p>

<ol>
<li>Self-host — which means you will need ssh access and the ability to install node.js via a CLI.  </li>
<li>Deploy directly to a supported cloud service using an <a href="http://docs.ghost.org/installation/deploy/">installer</a>.  </li>
<li>Have Ghost host the site for you (currently not available)</li>
</ol>

<p>Besides installation issues, some of the <a href="https://github.com/TryGhost/Ghost/wiki/Roadmap#milestone-5---version-050">blogging basics</a> are missing and I have already encountered a few major <a href="https://github.com/TryGhost/Ghost/issues/981">issues</a>. </p>

<p>The fact that you are reading this blog post—which is currently being servered using Ghost—is evidence of faith in an exciting new blogging platform.</p>

<p>Are your ready to <a href="https://ghost.org/">take the plunge</a>?</p><img src="http://feedpress.me/4086/569683.gif" height="1" width="1"/>]]></content:encoded>
    </item>
  </channel>
</rss>
