{"id":71,"date":"2009-06-16T11:59:26","date_gmt":"2009-06-16T18:59:26","guid":{"rendered":"http:\/\/kai.mactane.org\/blog\/?p=71"},"modified":"2009-06-16T11:59:26","modified_gmt":"2009-06-16T18:59:26","slug":"launching-sshblock","status":"publish","type":"post","link":"https:\/\/kagan.mactane.org\/blog\/2009\/06\/16\/launching-sshblock\/","title":{"rendered":"Launching SSHblock"},"content":{"rendered":"<p>My <a href=\"http:\/\/kai.mactane.org\/software\/sshblock\/\">latest software project is now available<\/a>&#8230; where &#8220;latest&#8221; means &#8220;the latest thing I&#8217;ve <em>launched<\/em>, even if I actually wrote it over a year ago.&#8221;<\/p>\n<p>The story is simple: I was tired of seeing &#8220;failed password&#8221; messages from sshd cluttering up my logs. I was also annoyed at the constant flow of dictionary attacks, even if I knew they&#8217;d never get in. So I whipped up a quick Perl script that acted as some glue between <a href=\"http:\/\/swatch.sourceforge.net\/\">Swatch<\/a> and iptables, and which would also give me some amount of reporting and history on who and what it was blocking.<\/p>\n<p>Then I posted about it in my online journal, and a friend said it sounded useful. So I started getting it ready for release as a package that anyone could use&#8230;<\/p>\n<p>And promptly realized that doing a decent, professional job of it would take more time than I had available. Fast-forward to now, when I&#8217;m unemployed and can only spend so many hours per day job-hunting&nbsp;&mdash; the result is that the world gets more software!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My latest software project is now available&#8230; where &#8220;latest&#8221; means &#8220;the latest thing I&#8217;ve launched, even if I actually wrote it over a year ago.&#8221; The story is simple: I was tired of seeing &#8220;failed password&#8221; messages from sshd cluttering up my logs. I was also annoyed at the constant flow of dictionary attacks, even [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[38,33,51,40,53,48,47],"_links":{"self":[{"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/posts\/71"}],"collection":[{"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/comments?post=71"}],"version-history":[{"count":1,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/posts\/71\/revisions"}],"predecessor-version":[{"id":72,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/posts\/71\/revisions\/72"}],"wp:attachment":[{"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/media?parent=71"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/categories?post=71"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/tags?post=71"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}