Limitar conexões FTP por área

5

Existe alguma maneira (simples) de negar conexões FTP com base na localização física geral? Eu pretendo usar o FTP como um armazenamento em nuvem simples para mim e meus amigos. Eu uso um odroid c2 (similar ao raspberry pi mas usa a arquitetura arm64) rodando o Debian 8 com o proftpd e o ufw como meu firewall. O servidor ftp é executado em uma porta não padrão que prefiro não mencionar aqui. Eu quero fazer isso para aumentar a segurança do meu servidor.

    
por Muffin 17.01.2017 / 03:41

3 respostas

6

Use o pam e o módulo geoip

This PAM module provides GeoIP checking for logins. The user can be allowed or denied based on the location of the originating IP address. This is similar to pam_access(8), but uses a GeoIP City or GeoIP Country database instead of host name / IP matching.

    
por 17.01.2017 / 03:57
2

Você poderia fazer isso de alguma forma com os intervalos IP do CIDR [1], já que eles podem ser mapeados para os países [2].

Você pode então usar um aplicativo como iptables [3] para controlar qualquer tráfego de entrada em qualquer porta (independente do protocolo). Este tutorial descreve isso em alguns mais detalhes.

Em combinação com o CIDR, o comando seria algo como isto:

iptables -A INPUT -s 64.110.50.0/24 -j ACCEPT

Dependendo de quantos amigos você tem, é possível restringir isso pelos bloqueios de IP reservados pela Telco / Internet de seus amigos provedor .

(as regras do BTW CIDR são usadas pelos serviços em nuvem da Amazon, e eles recomendam tornar as instâncias da AWS mais seguras dessa maneira. Portanto, sua pergunta tem muito mérito, mas desde que eu entrei não posso aprová-la - ou pelo contrário, meu voto não aparece).

Links adicionais para referência que não posso incorporar, pois só tenho dois links para usar como um novo:

1) en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
2) blog.erben.sk/2014/02/06/country-cidr-ip-ranges
3) en.wikipedia.org/wiki/Iptables

    
por 17.01.2017 / 04:16
2

Eu sugeriria usar o módulo mod_geoip da ProFTPD para, pelo menos, restringir conexões ao conteúdo geográfico / country (e cidade, se você puder). Isso é semelhante à resposta do @porpor, usando as mesmas bibliotecas / bancos de dados geoip, exceto que não requer configurações do PAM e é mais flexível.

Espero que isso ajude!

    
por 17.01.2017 / 07:56