Como funciona nosso script?

Ao adotar um dispositivo para a MKController você deve copiar um script para seu Mikrotik. O objetivo deste material é explicar o que o script faz no seu Mikrotik e o que a remoção de algumas regras pode acarretar.

Requisitos Básicos

RouterOS deve estar na versão 6.39 ou superior.

1 – Importação do certificado VPN

  • É salvo no sistema de arquivos o certificado ovpn que será utilizado para a conexão ovpn
  • O certificado é importado no Mikrotik. Podendo ser acessado pelo menu System -> Certificates

Comando:

/certificate import file-name=”[ID DO CERTIFICADO]” passphrase=””

2 – Criação do Profile

  • É criada uma regra de perfil que será utilizado no túnel VPN

Comando:

/ppp profile add name=”[ID DO PROFILE]” use-encryption=yes comment=”MKController”

3 – Criação do Túnel VPN Client

Utilizando o certificado da etapa 1 e o perfil da etapa 2 é criada uma conexao ovpn com o servidor ovpn.mkcontroller.com

Comando:

interface ovpn-client add connect-to=”ovpn.mkcontroller.com” user=”[ID DO USUARIO]” auth=sha1 cipher=aes256 certificate=”[ID DO CERTIFICADO]” port=443 profile=”[ID DO PROFILE” name=”MKController” comment=”MKController”

4 – Firewall

É Criado uma regra de firewall de permissão garantindo que o gateway da vpn (10.8.0.1) tenha acesso ao mikrotik pelo túnel criado na etapa acima

Comando:

/ip firewall filter add chain=input action=accept src-address=”10.8.0.1″ priority=0 comment=”MKController”

5 – Monitoramento

É criado um script de monitoramento no mikrotik para enviar dados para monitoramento como consumo de CPU, Consumo de disco, Consumo de memória, etc

Comando:

/system scheduler add name=”resources-1d9ca987″ interval=”90″ on-event=”[EVENTO] comment=”MKController”

6 – Usuário no Mikrotik

É criado um usuário no Mikrotik com permissão de administrador que será gerenciado nas comunicações entre MKController e Mikrotik. A senha deste usuário e alterado frequentemente visando impedir ataques de força bruta

Comando:

/user add name=”[ID do usuario]” group=full password=”[Senha temporaria]”

7 – Prioridade

A regra criada no item 5 e colocada em primeiro da lista, garantindo que a MKController tenha acesso ao dispositivo mesmo que existam outras regras de negação

Comando:

:do {

:local n [/ip firewall filter find where comment=”MKController”];/ip firewall filter move numbers=$n destination=0

} on-error {

8 – Ativação de Portas

  • São ativadas as portas webfig, ssh, api, winbox e ftp
  • Se a porta estiver fechada, ela será ativada com permissão de uso para o endereço 10.8.0.1, garantindo que apenas o acesso via ovpn possa acessar
  • Caso a porta esteja aberta, o endereco 10.8.0.1 vai ser adicionado na lista de permissão de acesso
  • Todas os serviços podem ser conferidos em IP-> Services

Comandos:

/ip service enable www; /ip service set www address=”10.8.0.1″

/ip service enable winbox; /ip service set winbox address=”10.8.0.1″

/ip service enable ssh; /ip service set ssh address=”10.8.0.1″

/ip service enable api; /ip service set api address=”10.8.0.1″

/ip service enable ftp; /ip service set ftp address=”10.8.0.1″

O que acontece se cada serviço for fechado.

  • Serviço www – A conexão webfig nao ira funcionar via plataforma web e aplicativo;
  • Serviço winbox – A conexão winbox não irá funcionar via plataforma web e aplicativo;
  • Serviço ssh – Os serviços de backup não irão funcionar, assim como o upload e download de arquivos;
  • Serviço api – As apis públicas do sistema como walled garden não irão funcionar (Documentação completa em https://app.mkcontroller.com/mkcontroller-public/);
  • Serviço ftp – As funcionalidades de sistema de arquivos nao vao funcionar como integração ftp, listagem de arquivos e envio de arquivos em lote