Vou começar com os fatos em bruto:
-
Você tem:
A
- sua caixa FreeBSD,B
- seu roteador eC
- alguma máquina com acesso à Internet. É assim que parece:.-----. .-----. .-----. | A | == | B | - - ( Internet ) - - | C | '-----' '-----' '-----' \_________ ________/ v '- this is your LAN
Observe como o seu roteador normalmente funciona: ele permite conexões de máquinas na sua LAN para a Internet (simplesmente falando). Portanto, se a
A
(ou qualquer outra máquina na LAN) quiser acessar a Internet, isso será permitido (novamente, falando apenas sobre o entendimento básico e a configuração):.-----. .-----. .-----. | A | == | B | - - ( Internet ) - - | C | '-----' '-----' '-----' '-->----' '--->--->---^
E o seguinte é não permitido por padrão:
.-----. .-----. .-----. | A | == | B | - - ( Internet ) - - | C | '-----' '-----' '-----' '--<----' '---<--- - - - - --<---<-----'
(Ou seja, o roteador protege as máquinas em sua LAN de serem acessadas da Internet.) Observe que o roteador é a única parte de sua LAN que é vista de a Internet 1) .
-
O encaminhamento de porta é o que permite que o terceiro esquema ocorra. Isso consiste em dizer ao roteador que qual conexão de
C
2) deve ir para qual máquina na LAN. Isso é feito com base em número de portas - por isso é chamado encaminhamento de porta . Você configura isso instruindo o roteador que todas as conexões que chegam em uma determinada porta da Internet devem ir para uma determinada máquina na LAN. Aqui está um exemplo para a porta 22 encaminhada para a máquinaA
:.------. .-------. .-----. | A | == | B | - - ( Internet ) - - | C | | | | | '-----' '-|22|-' ',--|22|' | '--<-22---' '---<---- - - - - - --<-22---'
-
Tais conexões através da Internet ocorrem com base em endereços IP. Então, uma representação um pouco mais precisa do exemplo acima seria:
.------. .-------. .-----. | A | == | B | - - - - - ( Internet ) - - - - | C | | | | | '-----' '-|22|-' ',--|22|' | '--<-A:22--' '--<-YourIP:22 - - - - --<-YourIP:22--'
Se você não tiver uma conexão com a Internet com um IP estático , então, de alguma forma, você deve saber qual IP está atualmente atribuído ao seu roteador pelo ISP. Caso contrário,
C
não saberá para qual IP ele deve se conectar para chegar ao seu roteador (e, além disso, paraA
). Para resolver isso de maneira fácil, você pode usar um serviço chamado DNS dinâmico . Isso faria com que seu roteador periodicamente enviasse informações para um servidor DNS especial que controlasse seu IP e fornecesse um nome de domínio . Existem alguns provedores de DNS dinâmicos gratuitos. Muitos roteadores vêm com opções de configuração para facilmente entrar em contato com eles.
1) Isto é, novamente, uma simplificação - o dispositivo real que é visto na Internet é o modem - que muitas vezes pode ser integrado com o roteador, mas também pode ser um caixa separada.
2) ou qualquer outra máquina com conexão à Internet.
Agora, o que você quer:
-
Simplesmente permitir o acesso ssh à sua máquina pela Internet é uma má ideia. Existem milhares de bots criados por crackers que pesquisam na Internet por máquinas com porta SSH aberta. Eles normalmente "batem" na porta SSH padrão de tantos IPs quanto podem e, assim que encontram um daemon SSH em algum lugar, tentam ganhar acesso bruteforce à máquina. Isso não é apenas um risco de invasão em potencial, mas também de lentidão na rede enquanto a máquina está sendo forçada.
-
Se você realmente precisa desse acesso, deve pelo menos
-
garanta que você tenha senhas strongs para todas as contas de usuário,
-
não permitir o acesso root por SSH (você sempre pode fazer login como usuário normal e
su
ousudo
), -
altere a porta padrão na qual seu servidor SSH seria executado,
-
introduzem um mecanismo de desautorizar numerosas tentativas de login SSH (com tempo de espera muito pequeno para tentativas subseqüentes - não me lembro exatamente como isso é chamado - eu o habilitei há algum tempo no FreeBSD e me lembro foi bem fácil - tente procurar em alguns fóruns do FreeBSD, etc. sobre como proteger o SSH e você irá encontrá-lo.)
-
Se possível, tente executar o daemon ssh somente quando souber que estará acessando a máquina em um futuro próximo e depois desligue-a
-
-
Acostume-se a percorrer seus registros do sistema. Se você começar a perceber algo suspeito, introduza mecanismos adicionais de segurança, como tabelas IP ou batidas de porta .