<?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>Arquivos sshd - Remontti</title>
	<atom:link href="https://blog.remontti.com.br/tag/sshd/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.remontti.com.br/tag/sshd</link>
	<description>rudimar@remontti</description>
	<lastBuildDate>Thu, 06 Aug 2020 13:08:38 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.remontti.com.br/wp-content/uploads/2024/09/icone-rr-80x80.png</url>
	<title>Arquivos sshd - Remontti</title>
	<link>https://blog.remontti.com.br/tag/sshd</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Aumentando o nível de seguraça na conexão SSH</title>
		<link>https://blog.remontti.com.br/97</link>
					<comments>https://blog.remontti.com.br/97#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Wed, 01 Jun 2016 05:10:46 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[debian buster]]></category>
		<category><![CDATA[Fail2ban]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[sshd]]></category>
		<guid isPermaLink="false">http://www.remontti.com.br/blog/?p=97</guid>

					<description><![CDATA[<p>Distribuição testada: Debian 10 Buster Requisitos SSH intalado # apt install ssh Primeiramente vamos mudar a porta do SSH  de preferencia para uma porta bem alta (são mais difíceis serem escaneadas) e após definir&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/97">Aumentando o nível de seguraça na conexão SSH</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Distribuição testada: Debian 10 Buster</p>
<p>Requisitos SSH intalado</p>
<pre class="remontti-code"># apt install ssh</pre>
<p>Primeiramente vamos mudar a porta do SSH  de preferencia para uma porta bem alta (são mais difíceis serem escaneadas) e após definir apenas um único usuário para conexão<br />
<span id="more-97"></span></p>
<pre class="remontti-code"># vim /etc/ssh/sshd_config</pre>
<p>Aletere as seguintes linhas:</p>
<pre class="remontti-code"># Aqui vai da porta
Port 60321 
# Tempo que o usuario tem para fazer login
LoginGraceTime 10 
# Não permita que o usuário root se conecte
PermitRootLogin prohibit-password 
</pre>
<p>Adicione a linha:</p>
<pre class="remontti-code"># Apenas este usuário chamado &quot;seu_usuario&quot; irá conseguir 
# conectar-se via ssh por mais que exita outros usuários que 
# teriam permissões de acessa o bash.
AllowUsers seu_usuario </pre>
<p>Salve e reinicie o serviço:</p>
<pre class="remontti-code"># /etc/init.d/ssh restart</pre>
<p>Pronto!</p>
<pre class="remontti-code"># ssh usuariodossh@seuip -p 60321</pre>
<p>Agora sua porta de conexão SSH é a 60321, e só loga pleo &#8220;seu_usuario&#8221; terminou? Não!!!</p>
<p>Que tal enganar um pouco! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br />
Vamos criar uma regra de firewall com iptables, caso você já tenha um script de firewall adicione a ele. A regra será um DROP na porta 22 assim vai dar uma falsa impressão que sua porta está protegia quando alguém usar algum scanner, vai passar aquele impressão: <em>&#8220;- iii tem firewall na 22, vamos procurar outro&#8230;.&#8221;</em></p>
<p>Drop falso na porta 22</p>
<pre class="remontti-code"># iptables -A INPUT -p tcp --dport 22 -j DROP</pre>
<p>Se desejar filtrar sua porta de SSH (60321) e deixar apenas IP X ou Y conectarem-se, no meu exemplo deixo apenas os IP 200.1.2.3 e toda a classe 10.0.0.0-10.0.0.255.</p>
<pre class="remontti-code"># iptables -A INPUT -s 200.1.2.3 -p tcp --dport 60321 -j ACCEPT # IP Especifico 
# iptables -A INPUT -s 10.0.0.0/24 -p tcp --dport 60321 -j ACCEPT # Uma Classe
# ip6tables -A INPUT -s 3001:1234::/32 -p tcp --dport 60321 -j ACCEPT # Uma Classe v6
# iptables -A INPUT -p tcp --dport 60321 -j DROP
# ip6tables -A INPUT -p tcp --dport 60321 -j DROP v6</pre>
<p>Como dito no momento que seu servidor for scanear seu servidor a porta 22 ira aparecer como filtrada.<br />
Para verificar os filtros </p>
<pre class="remontti-code">iptables -nL
ip6tables -nL</pre>
<p>Mas você ira precisar criar um script e colocar ele para iniciarlizar, e é por isso q eu recomendo você usar o nftables o nftables em vez do iptables, já que provavelmente vamos ver ele próximas distribuições no lugar do iptables. (Mas quis explicar o iptables também) </p>
<pre class="remontti-code"># apt install nftables
# systemctl enable nftables
# nft list ruleset
# vim /etc/nftables.conf </pre>
<pre class="remontti-code">#!/usr/sbin/nft -f
  
flush ruleset

table inet filter {
        chain input {
                type filter hook input priority 0;
                ip saddr 200.1.2.3 tcp dport 60123 counter accept
                ip saddr 10.0.0.0/24 tcp dport 60123 counter accept
                ip6 saddr 3001:1234::/32 tcp dport 60123 counter accept
                tcp dport 60123 counter drop
                tcp dport 22 counter drop
        }
        chain forward {
                type filter hook forward priority 0;
        }
        chain output {
                type filter hook output priority 0;
        }
}</pre>
<p>Reinicie o serviço, verifique as regras</p>
<pre class="remontti-code"># systemctl restart nftables
# nft list ruleset</pre>
<p>Instale o nmpa e faça um scanner</p>
<pre class="remontti-code"># apt install nmap
# nmap localhost</pre>
<p>Resultado:</p>
<pre class="remontti-code">Not shown: 1674 closed ports
PORT STATE SERVICE
22/tcp filtered ssh</pre>
<p>Assim já estou &#8220;protegido&#8221;! Legal!!!<br />
Suficiente? Eu sou mais paranoico, então se desejar prossiga <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br />
O que vamos fazer, é meio que redundante como que fizemos no firewall, porém se por alguma &#8220;zica&#8221; seu firewall não tiver rodando/ou foi quebrado o próximo passo vai salvar! Vamos configurar nos hosts para bloquear o serviço SSH e liberar apenas para seu IP ou classe.</p>
<pre class="remontti-code"># vim /etc/hosts.allow</pre>
<p>Adicione:</p>
<pre class="remontti-code">sshd: 200.1.2.3 # Ip Especifico
sshd: 10.0.0.0/24 # Uma Classe de IP</pre>
<pre class="remontti-code"># vim /etc/hosts.deny</pre>
<p>Adicione:</p>
<pre class="remontti-code">sshd: ALL</pre>
<p>Agora sim né! Humm.. Sei não que tal instalar o <strong><a href="http://www.fail2ban.org/">fail2ban</a></strong>?</p>
<pre class="remontti-code"> # apt install fail2ban</pre>
<p>Por padrão o modulo de proteção do SSH vem ativo (true) no Debian, no parâmetro <strong>maxretry</strong> você define o número de tentativas que poderá errar a senha para conexão a partir de um determinado IP.</p>
<p>Para alterar as configurações do fail2ban edite o arquivo <strong>/etc/fail2ban/jail.conf</strong></p>
<pre class="remontti-code">vim /etc/fail2ban/jail.conf</pre>
<p>Por padrão os tempos de banimento é de 10m e numero de tentativas é 5</p>
<pre class="remontti-code">bantime = 10m # Duração para um IP ficar banido
findtime = 10m # Se nenhuma correspondência nos logs é encontrada dentro de X tempo
maxretry = 5 # Tentativas ate o banimento</pre>
<p>Adicione também a porta 60123 já que alteramos a mesma</p>
<pre class="remontti-code">[sshd]
# To use more aggressive sshd modes set filter parameter &quot;mode&quot; in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See &quot;tests/files/logs/sshd&quot; or &quot;filter.d/sshd.conf&quot; for usage example and details.
#mode   = normal
port    = ssh,60123
logpath = %(sshd_log)s
backend = %(sshd_backend)s
</pre>
<p>O filtro fica ativo em /etc/fail2ban/jail.d/defaults-debian.conf, você pode incluir maxretry so para ele bem como bantime, personalizando somente o filtro SSH. Ex.:</p>
<pre class="remontti-code"># vim /etc/fail2ban/jail.d/defaults-debian.conf</pre>
<pre class="remontti-code">[sshd]
enabled = true
maxretry = 2
bantime  = 12h</pre>
<p>Estamos 100% seguro? Nada é 100% seguro, mas certamente você levou seu nível de segurança a um nível &#8220;hard core&#8221;!</p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento! (Esse deu trabalho!)</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Participe do canal no <a href="https://t.me/blogremontti" rel="noopener noreferrer" target="_blank">telegram</a> para ficar atualizado sempre que publicar um novo tutorial. </p>
<p>Abraço!</p>
<p>O post <a href="https://blog.remontti.com.br/97">Aumentando o nível de seguraça na conexão SSH</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/97/feed</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
	</channel>
</rss>
