<?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>Kamenitza Notepad &#187; protection</title>
	<atom:link href="http://kamenitza.org/archives/tag/protection/feed" rel="self" type="application/rss+xml" />
	<link>http://kamenitza.org</link>
	<description>Още една халба с акъл...</description>
	<lastBuildDate>Sun, 08 Jan 2012 21:38:01 +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>SSH brute force protection</title>
		<link>http://kamenitza.org/archives/251</link>
		<comments>http://kamenitza.org/archives/251#comments</comments>
		<pubDate>Thu, 06 May 2010 17:30:11 +0000</pubDate>
		<dc:creator>Тодор</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ban]]></category>
		<category><![CDATA[bruteforce]]></category>
		<category><![CDATA[kamenitza]]></category>
		<category><![CDATA[protection]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[каменица]]></category>

		<guid isPermaLink="false">http://kamenitza.org/?p=251</guid>
		<description><![CDATA[Това е елементарна защита на хост с отворен достъп по SSH. Налага се поради огромния брой сканиращи роботчета и злонамерени персонажи, които опитват да налучкат пароли за достъп. Логиката на тази защита е &#8211; следи се лог файла /var/log/secure и при наличие на повече от 5 грешни опита за влизане през SSH блокира достъпа на [...]]]></description>
			<content:encoded><![CDATA[<p>Това е елементарна защита на хост с отворен достъп по SSH. Налага се поради огромния брой сканиращи роботчета и злонамерени персонажи, които опитват да налучкат пароли за достъп.<br />
Логиката на тази защита е &#8211; следи се лог файла <strong>/var/log/secure</strong> и при наличие на повече от 5 грешни опита за влизане през SSH блокира достъпа на IP адреса чрез <strong>iptables</strong> правило.</p>
<p>Изваждане на списъка с &#8220;провинилите&#8221; се адреси:</p>
<p><code># cat /var/log/secure | grep &quot;]: Failed &quot; | awk -F &quot;from &quot; &#039;{print $2}&#039; | awk &#039;{print $1}&#039; | sort | uniq -d -c | awk &#039;{if ($1 &gt; 5) print $2}&#039; &gt; /ssh-banned.txt</code><br />
<em>(всичко е на един ред)</em></p>
<p>Всички адреси, които са правили повече от 5 неуспешни опита да влязат през SSH ще се запишат в <strong>/ssh-banned.txt</strong>.</p>
<p>Следва да се блокира достъпа на тези адреси.<br />
Добавя се това в началото на firewall скрипта, който ползвате:</p>
<p><pre><code>#!/bin/bash
SSHBAN=/ssh-banned.txt
if [ -f $SSHBAN ]; then
&nbsp;&nbsp;&nbsp;&nbsp;for BAN_IP in `cat $SSHBAN`
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iptables -A INPUT -s $BAN_IP -j DROP
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;done
fi</code></pre></p>
<p>Скрипта парсва файла с адресите и добавя блокиращо iptables правило за всеки адрес от него.</p>
<p>За автоматизиране се добавя в cron:</p>
<p><code>*/10 * * * * cat /var/log/secure | grep &quot;]: Failed &quot; | awk -F &quot;from &quot; &#039;{print $2}&#039; | awk &#039;{print $1}&#039; | sort | uniq -d -c | awk &#039;{if ($1 &gt; 5) print $2}&#039; &gt; /ssh-banned.txt &amp;&amp; /etc/rc.d/rc.fw</code></p>
<p>Приемам че firewall-ът е в <strong>/etc/rc.d/rc.fw</strong>, необходимо е дой да се стартира винаги след като списъка с баннатите адреси се опредни. Променете го с пътя до вашия.</p>
<p><em>(Примерът е за Red Hat базирани дистрибуции)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://kamenitza.org/archives/251/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

