From 20053c1cc0bfdda98502a74ed65ef51044f9c35a Mon Sep 17 00:00:00 2001 From: Xp96 <38923106+Xp96@users.noreply.github.com> Date: Wed, 31 Jul 2024 14:50:09 -0300 Subject: [PATCH 1/4] Create _index.pt.md --- .../rustdesk-server-pro/relay/_index.pt.md | 149 ++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 content/self-host/rustdesk-server-pro/relay/_index.pt.md diff --git a/content/self-host/rustdesk-server-pro/relay/_index.pt.md b/content/self-host/rustdesk-server-pro/relay/_index.pt.md new file mode 100644 index 0000000..d79f666 --- /dev/null +++ b/content/self-host/rustdesk-server-pro/relay/_index.pt.md @@ -0,0 +1,149 @@ +--- +title: Configure Servidor de Relay +weight: 17 +--- + + +### RustDesk Pro - Instalar Servidores Relay Adicionais com Geo Localização usando Docker + +{{% notice note %}} +[A instalação simples](https://rustdesk.com/docs/pt/self-host/rustdesk-server-pro/installscript/) cria um servidor relay (o processo `hbbr`) implicitamente na mesma máquina, você não precisa especificar o servidor relay explicitamente. + +Se você deseja criar um servidor relay adicional explicitamente em outra máquina, execute `hbbr` seguindo a [instalação OSS](https://rustdesk.com/docs/pt/self-host/rustdesk-server-oss/install/). Você pode encontrar `hbbr` em `rustdesk-server-linux-amd64.tar.gz`, `rustdesk-server-hbbr_-.deb`, `rustdesk-server-windows-x86_64.tar.gz` ou no `docker` (`sudo docker run ... rustdesk/rustdesk-server-pro hbbr`). + +O `hbbr` não requer licença e é igual à versão open source. +{{% /notice %}} + +Você pode ter vários servidores relay em execução em todo o mundo e aproveitar a GeoLocalização automaticamente para usar o servidor relay mais próximo, proporcionando uma experiência mais rápida ao conectar a computadores remotos. O `hbbs` verifica automaticamente se esses servidores relay estão online a cada poucos segundos, escolhendo apenas servidores online. + +{{% notice note %}} +Problema conhecido: [https://github.com/rustdesk/rustdesk/discussions/7934](https://github.com/rustdesk/rustdesk/discussions/7934) (Em inglês) +{{% /notice %}} + +> Você precisará do par de chaves privadas `id_ed25519` e `id_ed25519.pub`. + +1 - Se o Docker já estiver instalado, conecte-se ao seu servidor via SSH e crie um volume para o `hbbr`. + +``` +# docker volume create hbbr +``` + +O volume hbbr deve estar localizado em `/var/lib/docker/volumes/hbbr/_data`. + +2 - Copie o par de chaves privadas para o local do volume. Nesse caso, usaremos o SCP para copiar os arquivos. + +A sintaxe do comando é `scp usuário@servidor:`. + +``` +# scp id_ed25519 root@100.100.100.100:/var/lib/docker/volumes/hbbr/_data +# scp id_ed25519.pub root@100.100.100.100:/var/lib/docker/volumes/hbbr/_data +``` + +3 - Implemente o contêiner hbbr usando o volume criado anteriormente. Este volume possui o par de chaves privadas necessário para executar seu servidor relay privado.   + +``` +# sudo docker run --name hbbr -v hbbr:/root -td --net=host rustdesk/rustdesk-server hbbr -k _ +``` + +4 - Verifique os logs em execução para confirmar se o hbbr está rodando usando seu par de chaves. + +``` +# docker logs hbbr + +INFO [src/common.rs:121] **Private key comes from id_ed25519** +NFO [src/relay_server.rs:581] Key: XXXXXXXXXXXXXXXXXXXXX +INFO [src/relay_server.rs:60] #blacklist(blacklist.txt): 0 +INFO [src/relay_server.rs:75] #blocklist(blocklist.txt): 0 +INFO [src/relay_server.rs:81] Listening on tcp :21117 +``` + +Dependendo do seu sistema operacional, você pode querer bloquear/permitir IPs usando um firewall. + +No nosso caso, executando o Ubuntu, queremos permitir qualquer conexão TCP para as portas `21117` e `21119`. + +``` +# sudo ufw allow proto tcp from any to any port 21117,21119 +``` +**Habilite o firewall** +``` +# sudo ufw enable +``` + +**Verifique o status** +``` +# ufw status + +Status: active + +To Action From +-- ------ ---- +21117,21119/tcp ALLOW Anywhere +21117,21119/tcp (v6) ALLOW Anywhere (v6) +``` + +### Configure o RustDesk Pro para Geo Localização usando o Console Web + +#### Registre-se e baixe o arquivo de banco de dados GeoLite2 City + +Para usar a geolocalização, o hbbs precisa acessar o banco de dados MaxMind GeoLite2 City. O banco de dados é gratuito e você pode se registrar para baixar o arquivo e obter uma chave API. + +Comece criando uma conta (se você ainda não tem uma) acessando o [site](https://www.maxmind.com/en/account/login). +Vá para `Download Databases` e baixe o GeoLite2 City. Escolha o arquivo gzip e você deve ter o arquivo `mmdb` ao descompactá-lo. + +image + +Se você instalou o RustDesk Pro usando o script de instalação em uma máquina Linux, o arquivo `mmdb` precisa ser movido para `/var/lib/rustdesk-server/`. + +Para instalações Docker, o arquivo deve estar no volume que você mapeou ao implantar o contêiner mapeado para `/root`. + +#### Obtenha uma chave API para automatizar o processo - servidores Linux + +Você precisa atualizar este arquivo regularmente e podemos usar um cronjob para fazer isso. Você precisará de uma chave API para acessar o link de download, que é gratuito. + +Vá para `Manage License Keys` (Gerenciar Chaves de Licença) e gere uma nova chave de licença.
+image +
+image + +Você pode automatizar o [processo de download](https://dev.maxmind.com/geoip/updating-databases) de algumas maneiras, mas pode adicionar o seguinte comando ao seu crontab, substituindo {Your Access Key} pela chave API obtida na etapa anterior. + +``` +/usr/bin/curl -L --silent 'https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key={Your Access Key}&suffix=tar.gz' | /bin/tar -C '/var/lib/rustdesk-server/' -xvz --keep-newer-files --strip-components=1 --wildcards '*GeoLite2-City.mmdb' +``` + +#### Altere as configurações no Console Web do RustDesk Pro + +Adicione os endereços IP ou nomes DNS dos seus servidores relay (DNS é suportado a partir da versão 1.1.11) aos `Servidores Relay` (Relay Servers). A porta não é necessária, a porta `21117` é usada explicitamente.
+image + +Adicione uma `Substituição Geográfica` (Geo Override) adicionando o endereço IP do servidor e as coordenadas onde o servidor está localizado.
+image + +Clique em `Recarregar Geo` (Reload Geo) e sua lista deve ficar semelhante a esta.
+image + +Para confirmar os resultados, verifique os logs do hbbs ao clicar em `Recarregar Geo` (Reload Geo), você deve ver uma mensagem mostrando os endereços IP do servidor relay e suas coordenadas. + +> Se você estiver executando o RustDesk Pro em uma máquina Linux, use o comando `RUST_LOG=debug ./hbbs` para visualizar os logs. Se você estiver executando em um contêiner Docker, use `docker logs hbbs`. + +``` +RUST_LOG=debug ./hbbs + +INFO [src/common.rs:130] GEOIP_FILE: ./GeoLite2-City.mmdb +INFO [src/common.rs:159] override 1xx.xxx.xxx.x7: -1.xx 5x.xxx +[src/common.rs:159] override 1xx.xxx.xxx.xx8: -3.xxx 5x.xxxx +[src/common.rs:159] override 7xx.xxx.xxxx.xx1: 6.xxx 5x.xxxx +GEOIP_FILE loaded, #overrides 3 +INFO [src/common.rs:119] relay-servers=["1xx.xxx.xxx.x7", "1xx.xxx.xxx.xx8", "7xx.xxx.xxx.xx1"] +NFO [src/rendezvous_server.rs:1467] parsed relay servers: [("1xx.xxxx.xxx.xx7", Some((-1x, xxx))), ("1xx.xxx.xxx.xx8", Some((-3x, xxx))), ("7xx.xxx.xxx.xx1", Some((6x, xxx)))] +``` + +Você também pode confirmar as solicitações de relay diretamente em suas instâncias hbbr, simplesmente verificando os logs do contêiner. + +``` +# docker logs hbbr + +INFO [src/relay_server.rs:436] Relayrequest 0593e64e-4fe8-4a59-a94f-b3420ab043eb from [::ffff:100.100.123.233]:52038 got paired +INFO [src/relay_server.rs:442] Both are raw +``` + From 26965ef60d929c47c3407cb0f2a5a971f069432c Mon Sep 17 00:00:00 2001 From: Xp96 <38923106+Xp96@users.noreply.github.com> Date: Wed, 31 Jul 2024 14:57:12 -0300 Subject: [PATCH 2/4] Create _index.pt.md --- .../permissions/_index.pt.md | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 content/self-host/rustdesk-server-pro/permissions/_index.pt.md diff --git a/content/self-host/rustdesk-server-pro/permissions/_index.pt.md b/content/self-host/rustdesk-server-pro/permissions/_index.pt.md new file mode 100644 index 0000000..2287bd3 --- /dev/null +++ b/content/self-host/rustdesk-server-pro/permissions/_index.pt.md @@ -0,0 +1,30 @@ +--- +title: Controle de Acesso +weight: 16 +--- + +### Permissões de acesso ao dispositivo + +Existem duas maneiras de associar um dispositivo a um usuário: +- Via página de dispositivos do console +- Fazendo login na conta de usuário especificada no lado do cliente + +As duas situações a seguir impedirão o acesso ao dispositivo: +- `Desativar` o dispositivo na página de dispositivos do console +- `Desativar` o usuário na página de usuários do console + +O dispositivo associado só pode ser acessado por dispositivos do mesmo usuário ou grupo de usuários, ou em configurações de grupo cruzado corretas. + +### Configurações de grupo cruzado + +Vá para a página de grupos no console web e clique em `Editar` para editar as configurações de grupo cruzado conforme abaixo. + +Suas modificações em `Acesso com outros grupos` entram em vigor imediatamente, sem necessidade de clicar no botão `OK`. + +Tanto `Pode acessar para` quanto `Pode ser acessado de` têm quase a mesma função, oferecemos ambas as opções para sua conveniência. No entanto, isso pode causar alguma confusão. + +{{% notice note %}} +O usuário e o grupo atribuídos ao lado controlador são determinados pelo usuário que faz login, e não pelo usuário atribuído do console web. Projetamos dessa forma porque alguns lados controladores não possuem um ID de dispositivo, como o cliente iOS e o cliente web. +{{% /notice %}} + +![](/docs/en/self-host/rustdesk-server-pro/permissions/images/crossgrp.png) From 66ec3bb048d4386d0fbbf71f821610151328be9f Mon Sep 17 00:00:00 2001 From: Xp96 <38923106+Xp96@users.noreply.github.com> Date: Wed, 31 Jul 2024 15:00:06 -0300 Subject: [PATCH 3/4] Create _index.pt.md --- content/self-host/rustdesk-server-pro/oidc/_index.pt.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 content/self-host/rustdesk-server-pro/oidc/_index.pt.md diff --git a/content/self-host/rustdesk-server-pro/oidc/_index.pt.md b/content/self-host/rustdesk-server-pro/oidc/_index.pt.md new file mode 100644 index 0000000..bce5c69 --- /dev/null +++ b/content/self-host/rustdesk-server-pro/oidc/_index.pt.md @@ -0,0 +1,7 @@ +--- +title: OIDC +weight: 16 +--- + +- Use suas contas existentes do `Google`, `Okta`, `Facebook`, `Azure`, `GitHub`, `GitLab`, etc. para criar e fazer login facilmente em sua conta `RustDesk Pro`. +- Para a especificação, consulte [OpenID Connect Core 1.0](https://openid.net/specs/openid-connect-core-1_0.html) incorporando o conjunto de erratas 1. From 8ecf4060cede1c28ae79c8db71e56a9c144f82f6 Mon Sep 17 00:00:00 2001 From: Xp96 <38923106+Xp96@users.noreply.github.com> Date: Wed, 31 Jul 2024 15:09:48 -0300 Subject: [PATCH 4/4] Create _index.pt.md --- .../rustdesk-server-pro/ldap/_index.pt.md | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 content/self-host/rustdesk-server-pro/ldap/_index.pt.md diff --git a/content/self-host/rustdesk-server-pro/ldap/_index.pt.md b/content/self-host/rustdesk-server-pro/ldap/_index.pt.md new file mode 100644 index 0000000..22e862f --- /dev/null +++ b/content/self-host/rustdesk-server-pro/ldap/_index.pt.md @@ -0,0 +1,37 @@ +--- +title: LDAP +weight: 17 +--- + +## Configuração +Acesse a página de configurações `LDAP` conforme abaixo: + +![](/docs/en/self-host/rustdesk-server-pro/ldap/images/ldap.png) + +- **Servidor LDAP:** É o nome do host ou endereço IP do servidor LDAP. Por exemplo, `ldap.exemplo.com` ou `192.0.2.1`. + +- **Porta LDAP:** É a porta em que o servidor LDAP está escutando. A porta padrão para LDAP é `389` e para LDAPS (LDAP sobre SSL) é `636`. + +- **Base DN:** É o ponto de partida para a pesquisa LDAP. Por exemplo, dc=exemplo,dc=com. + +- **Escopo:** Determina o escopo da pesquisa no diretório LDAP. Pode ser one (as entradas imediatamente abaixo do DN base) ou sub (as entradas imediatamente abaixo do DN base e todas as sub-entradas). + +- **DN de ligação / Senha:** O nome de usuário e a senha da conta de serviço do administrador. Esta conta é usada para se conectar ao LDAP para autenticar outros usuários. Geralmente é um DN de usuário como `cn=admin,dc=exemplo,dc=com`. + +- **Filtro:** Este é o filtro de pesquisa para a consulta LDAP. Por exemplo, `(objectClass=person)`, ou `(&(age=28)(!(name=Bob)))`. + +- **Atributo de Nome de Usuário:** É o atributo que contém o nome de usuário. Por exemplo, `uid` ou `sAMAccountName`. Por padrão, ele usa `uid` e `cn`. Aqui está uma [discussão](https://github.com/rustdesk/rustdesk-server-pro/issues/140#issuecomment-1916804393) (Em Inglês)sobre isso. + +- **StartTLS:** Determina se deve usar StartTLS para atualizar a conexão para uma segura. + +- **NoTLSVerify:** Determina se deve ignorar a verificação do certificado TLS. É recomendável deixar isso como falso (ou seja, realizar a verificação do certificado) a menos que você tenha certeza do que está fazendo. + +## Como funciona? +- Como funcionam os logins LDAP, por exemplo, preciso criar um novo usuário primeiro, o RustDesk cria um usuário no primeiro login, etc? +> O RustDesk cria um usuário no primeiro login. +- Como verifico se o LDAP está funcionando (idealmente um comando que posso dar ao RustDesk para retornar os usuários descobertos)? +> Quando você enviar a configuração, ele se conectará ao seu servidor LDAP com o binddn/senha que você forneceu e verificará se funciona. +- Como mudo usuários locais para usuários LDAP? +> Ainda não é possível. +- Ele suporta grupos LDAP? +> Ainda não.