#  > Servidores >  > Sistemas Operacionais >  >  Como bloqueia acesso SSH e libera por IP ?

## nikolas

Onde poderia colocar no servidor para somente determinandos ip's para fazer SSH no meu servidor? 

[]'s

----------


## bauer

Ola...

#Edite o arquivo /etc/hosts.deny e adicione:

ALL: ALL:

#no caso bloqueia todos os acessos. Tenha atenção que se tiver outros servicos rodando tbme via bloquealos... agora libere os acessos em /etc/hosts.allow, como exemplo:

sshd: LOCAL, 200.xxx.xxx.xxx
pop3: ALL
qpopper: LOCAL, 200.xxx.xxx.xxx
.
.
.

#Mas, aconselho a utilização do SSH2, que é bem mais seguro que o SSH nativo na maioria das distriubuições... depois de instalado deve-se alterar em /etc/ssh2/sshd2_config nas seções

## Host restrictions

AllowHosts 200.XXX.XXX.XXX, 192.168.1.50 
DenyHosts yes

e o usuario que conecta em:

## User restrictions

AllowUsers nome_do_user
DenyUsers yes 

restartar o serviço e pronto....

Há, aconselho a mudar a porta padrão do serviço....melhora um pouco a segurança.

t+

----------


## slice

firewall iptables...
/etc/ssh/sshd_config...

----------


## GrayFox

Eu definiria tudo isso por firewall.
Em freebsd ficaria assim:

ipfw add deny tcp from not { 192.168.1.4, 192.168.2.0/24 } to me 22

(os ips e a rede 192.168.2.0/24 estao possibilitados de acessar a porta 22 do servidor)

[]'s
:twisted:

----------


## nikolas

Infelizmente não uso freebsd somente linux e openbsd, vc que a regra para openbsd?

[]'s

----------


## rovani

Eu bloqueio tudo no iptables e depois vou liberando o que eu preciso:

IPTABLES="/usr/sbin/iptables"
INTER="eth1"
INTRA="eth0"

# Nega tudo que chegar
$IPTABLES -P INPUT DROP
# Nega todos os repasses de pacotes
$IPTABLES -P FORWARD DROP
# Aceita todas as saidas de pacotes
$IPTABLES -P OUTPUT ACCEPT
# Limpa (flush) todas as regras do firewall
$IPTABLES -F
# Limpa (flush) o nat
$IPTABLES -t nat -F
# Limpa (flush) todas as regras (chains) personalizadas
$IPTABLES -X
# Limpa todas regras especificas
$IPTABLES -Z

# Liberacao do Loopback
$IPTABLES -A INPUT -i lo -j ACCEPT

# Spoof Protection
$IPTABLES -t nat -A PREROUTING -i $INTER -s 10.0.0.0/8 -j DROP
$IPTABLES -t nat -A PREROUTING -i $INTER -s 172.16.0.0/16 -j DROP
$IPTABLES -t nat -A PREROUTING -i $INTER -s 192.168.0.0/24 -j DROP

# Internet -> Firewall
# Ping
$IPTABLES -A INPUT -p icmp --icmp-type 0 -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type 8 -j ACCEPT

# Libera a porta 22 (ssh) para todos da rede interna
$IPTABLES -A INPUT -i $INTRA -p tcp --dport 22 -j ACCEPT

# Libera a porta 22 (ssh) para os vindos da internet
$IPTABLES -A INPUT -i $INTER -p tcp --dport 22 -s xxx.xxx.xx.x -j ACCEPT

....

onde:
xxx.xxx.xx.x é o ip desejado. Faça uma regra para cada ip

obs.: Aqui tem uma parte da configuração que você pode fazer e com poucas modificações cfe tua necessidade acho que resolve.

----------


## Rulls

No caso, seria editar o arquivo /etc/hosts.allow e fazer as seguintes alterações:

Remover a linha:

ALL : ALL : allow

Essa linha permite todo tipo de acesso a sua máquina, ssh, telnet, ftp..
Para restringir o acesso é so adicionar a seguinte linha:

sshd : IP1, IP2, IP3 : allow

No caso, IP1, IP2, IP3 seriam os ips que vc vai permitir(allow) o acesso.

Vale dar um dica que é comentar as linhas de sendmail, ipv6, ftp, portmap dentro do hosts.allow, claro que se vc estiver usando algum desses serviços, habilitar de acordo com sua necessidade.

Espero ter ajudado.

Abraços
Rulls

----------


## LinuxKids

> Eu bloqueio tudo no iptables e depois vou liberando o que eu preciso:
> 
> IPTABLES="/usr/sbin/iptables"
> INTER="eth1"
> INTRA="eth0"
> 
> # Nega tudo que chegar
> $IPTABLES -P INPUT DROP
> # Nega todos os repasses de pacotes
> ...


TE ACONSELHO TAMBÉM A FAZER POR IPTABLES COLEGA

----------


## nikolas

> No caso, seria editar o arquivo /etc/hosts.allow e fazer as seguintes alterações:
> 
> Remover a linha:
> 
> ALL : ALL : allow
> 
> Essa linha permite todo tipo de acesso a sua máquina, ssh, telnet, ftp..
> Para restringir o acesso é so adicionar a seguinte linha:
> 
> ...


Estou dando OPENBSD, e neste diretorio não tem este arquivo para fazer estas alterações.
[]'s

----------


## GrayFox

tente assim com o pf...

block in all port 22
pass in proto tcp from 192.168.10.5 to any port = 22
pass in proto tcp from any to 192.168.10.5 port = 22 to any

ou..
block in all port 22
pass in proto tcp from 192.168.10.0/24 to any port = 22

testa aih e confirma pra nós....


[]'s

----------

Não deu certo,

mudei a sintax do block ele até bloqueo mais para libera que deu certo, estou usando o OPENBSD 3.4.

[]'s

----------

