Assumindo autenticação de par de chaves bidirecional com certificados válidos, como datas, etc., sem tls-crypt, sem CRL e sem verificações de nomes comuns.
Essa também é a razão para usar uma CA privada, em vez de pública?
Assumindo autenticação de par de chaves bidirecional com certificados válidos, como datas, etc., sem tls-crypt, sem CRL e sem verificações de nomes comuns.
Essa também é a razão para usar uma CA privada, em vez de pública?
Quero que todo o tráfego da minha Internet passe pela VPN, exceto alguns sites (por exemplo, para que eu possa transmitir shows normalmente, mas executar outras coisas pela VPN).
Meu provedor VPN me fornece um arquivo .ovnp. Devo mencionar rapidamente que tenho fibromialgia e não consigo pensar bem. Portanto, adicionei cegamente textualmente em algum lugar meio aleatório ao arquivo vnp o seguinte, que obtive de outros tópicos.
allow-pull-fqdn
route www.netflix.com 255.255.255.255 net_gateway
route www.disneyplus.com 255.255.255.255 net_gateway
route www.primevideo.com 255.255.255.255 net_gateway
Mas, infelizmente, quando visito o site listado, posso ver que passo pelo vpn porque eles não se comportam corretamente, com shows ausentes ou simplesmente não carregam (enquanto que, quando não uso o vpn, eles estão bem) . Espero que não seja porque esses domínios têm vários ips ou algo assim. Estou executando o arch linux. Existe um lugar especial no arquivo que eu preciso para colocar meu bloco? O arquivo se parece com isso (acho que esses arquivos são públicos de qualquer maneira, mas removi as chaves):
client
dev tun
proto udp
remote 89.47.234.171 1194
resolv-retry infinite
remote-random
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ping 15
ping-restart 0
ping-timer-rem
reneg-sec 0
comp-lzo no
<-- I tried here
remote-cert-tls server
auth-user-pass
verb 3
pull
fast-io
cipher AES-256-CBC
auth SHA512
<ca>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</ca>
key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
...
-----END OpenVPN Static key V1-----
</tls-auth>
Configurei um serviço OpenVPN em meu servidor com autenticação de nome de usuário e senha e nenhum certificado de cliente é necessário.
Eu defini o nome de usuário e a senha em /etc/passwd e /etc/shadow. agora, não há problema em conectar-se com um usuário específico para OpenVPN (que é client1 ), mas tentei root (um usuário linux), também é possível conectar-se.
A questão é: existe alguma maneira de armazenar esses usuários para OpenVPN em vez de passwd? É muito perigoso, eu acho, ou outro grupo (crie um grupo em /etc/gourp para OpenVPN) para limitá-los?
server.conf
port 20487
proto udp
dev tun
;dev-node MyTap
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.0.0.1"
push "dhcp-option DNS 1.1.1.1"
duplicate-cn
keepalive 10 120
tls-crypt ta.key 0 # This file is secret
data-ciphers AES-256-GCM
data-ciphers-fallback AES-256-GCM
max-clients 24
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 5
explicit-exit-notify 1
plugin openvpn-plugin-auth-pam.so login
verify-client-cert none
username-as-common-name
script-security 2
cliente.ovpn
client
dev tun
proto udp
remote [destnation] 20487
auth-user-pass
#verify-client-cert none
#username-as-common-name
data-ciphers-fallback AES-256-GCM
data-ciphers AES-256-GCM
<ca>
-----BEGIN CERTIFICATE-----
ca.crt
-----END CERTIFICATE-----
</ca>
<tls-crypt>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
ta.key
-----END OpenVPN Static key V1-----
</tls-crypt>
/etc/passwd
root:x:0:0:root:/root:/bin/bash
***
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
***
client1:x:1001:65534::/nonexistent:/usr/sbin/nologin
/etc/shadow
root:$y$*:19532:0:99999:7:::
***
nobody:*:19172:0:99999:7:::
***
client1:$y$j9T$K0ubESGFtXD2Imra5pMVJ/$ZUM2HNYn.0X9smrtKEAdgjIclQIdcURbI4xxlTU6tHB:19532:0:99999:7:::
Para definir IP estático para clientes com certificados distintos, podemos definir IP estático para clientes seguindo a resposta de jdmorei . No entanto, se duplicate-cn
estiver definido no lado do servidor, para que muitos clientes compartilhem o mesmo certificado, como posso definir IP estático para um cliente específico?
openvpnas.service - OpenVPN Access Server
Loaded: loaded (/lib/systemd/system/openvpnas.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2022-04-10 09:28:12 UTC; 5h 2min ago
Main PID: 14649 (python3)
Tasks: 13 (limit: 1081)
Memory: 199.1M
CGroup: /system.slice/openvpnas.service
├─14649 python3 -c from pyovpn.sagent.sagent_entry import openvpnas ; openvpnas() --nodaemon --logfile=>
├─14667 /usr/bin/python3 -c from pyovpn.cserv.wserv_entry import start ; start() -no -u openvpn_as -g o>
├─14668 /usr/bin/python3 -c from pyovpn.log.logworker import start ; start()
├─14680 /usr/bin/python3 -c from pyovpn.sagent.iptworker import start6 ; start6()
├─14682 /usr/bin/python3 -c from pyovpn.sagent.iptworker import start ; start()
├─14686 openvpn-openssl --errors-to-stderr --config stdin
├─14689 openvpn-openssl --errors-to-stderr --config stdin
├─14696 openvpn-openssl --errors-to-stderr --config stdin
├─14698 openvpn-openssl --errors-to-stderr --config stdin
├─14704 openvpn-openssl --errors-to-stderr --config stdin
├─14713 openvpn-openssl --errors-to-stderr --config stdin
└─14718 iptables-restore -n
Por que estou recebendo esses erros, mesmo que o openvpn esteja funcionando bem
Eu tenho um roteador que uso como servidor VPN (o openVPN está configurado, modo unificado). Além disso, estou me conectando à VPN da minha empresa no macbook que está conectado à internet através do roteador mencionado acima.
Roteador -------> Macbookpro ------> VPN (empresa)
(openVPN)
Meu IP público está exposto para a empresa ou apenas o IP do openvpn configurado no roteador?
Eu tenho um perfil OpenVPN instalado no config-auto
diretório da minha máquina Windows 11, para que ele se conecte ao meu servidor OpenVPN na inicialização.
O problema é que , às vezes , na inicialização do sistema, ele começa a não se conectar com:
2022-03-11 09:27:38 [server] Inactivity timeout (--ping-restart), restarting
2022-03-11 09:27:38 SIGUSR1[soft,ping-restart] received, process restarting
2022-03-11 09:27:38 Restart pause, 5 second(s)
2022-03-11 09:27:43 Outgoing Control Channel Authentication: Using 256 bit message hash 'SHA256' for HMAC authentication
2022-03-11 09:27:43 Incoming Control Channel Authentication: Using 256 bit message hash 'SHA256' for HMAC authentication
2022-03-11 09:27:43 TCP/UDP: Preserving recently used remote address: [AF_INET]<REDACTED>:1194
2022-03-11 09:27:43 Socket Buffers: R=[65536->65536] S=[65536->65536]
2022-03-11 09:27:43 UDP link local: (not bound)
2022-03-11 09:27:43 UDP link remote: [AF_INET]<REDACTED>:1194
2022-03-11 09:28:43 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
2022-03-11 09:28:43 TLS Error: TLS handshake failed
2022-03-11 09:28:43 SIGUSR1[soft,tls-error] received, process restarting
Como se não houvesse conexão com a internet, porém você pode ver que minha interface ethernet está ligada e conectada à internet:
Assim que eu reinicio o serviço OpenVPN:
Tudo começa a funcionar bem:
2022-03-11 09:28:43 TLS Error: TLS handshake failed
2022-03-11 09:28:43 SIGUSR1[soft,tls-error] received, process restarting
2022-03-11 10:16:36 NOTE: --user option is not implemented on Windows
2022-03-11 10:16:36 NOTE: --group option is not implemented on Windows
2022-03-11 10:16:36 WARNING: Compression for receiving enabled. Compression has been used in the past to break encryption. Sent packets are not compressed unless "allow-compression yes" is also set.
2022-03-11 10:16:36 DEPRECATED OPTION: --cipher set to 'AES-128-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM). Future OpenVPN version will ignore --cipher for cipher negotiations. Add 'AES-128-CBC' to --data-ciphers or change --cipher 'AES-128-CBC' to --data-ciphers-fallback 'AES-128-CBC' to silence this warning.
2022-03-11 10:16:36 OpenVPN 2.5.5 Windows-MSVC [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] built on Dec 15 2021
2022-03-11 10:16:36 Windows version 10.0 (Windows 10 or greater) 64bit
2022-03-11 10:16:36 library versions: OpenSSL 1.1.1l 24 Aug 2021, LZO 2.10
2022-03-11 10:16:36 Outgoing Control Channel Authentication: Using 256 bit message hash 'SHA256' for HMAC authentication
2022-03-11 10:16:36 Incoming Control Channel Authentication: Using 256 bit message hash 'SHA256' for HMAC authentication
2022-03-11 10:16:36 TCP/UDP: Preserving recently used remote address: [AF_INET]<REDACTED>:1194
2022-03-11 10:16:36 Socket Buffers: R=[65536->65536] S=[65536->65536]
2022-03-11 10:16:36 UDP link local: (not bound)
2022-03-11 10:16:36 UDP link remote: [AF_INET]<REDACTED>:1194
2022-03-11 10:16:36 TLS: Initial packet from [AF_INET]<REDACTED>:1194, sid=7818afbf 7c74fa3b
2022-03-11 10:16:36 VERIFY OK: depth=1, <REDACTED>
2022-03-11 10:16:36 VERIFY KU OK
2022-03-11 10:16:36 Validating certificate extended key usage
2022-03-11 10:16:36 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
Presumo que seja algum tipo de condição de corrida entre minhas interfaces OpenVPN e ethernet. Tentei reduzir InterfaceMetric
para minha interface ethernet e aumentá-la para a interface OpenVPN sem sucesso:
Get-NetIPInterface
ifIndex InterfaceAlias AddressFamily NlMtu(Bytes) InterfaceMetric Dhcp ConnectionState PolicyStore
------- -------------- ------------- ------------ --------------- ---- --------------- -----------
29 vEthernet (WSL) IPv6 1500 15 Enabled Connected ActiveStore
12 Ethernet 3 IPv6 1500 5 Disabled Disconnected ActiveStore
10 Local Area Connection* 2 IPv6 1500 25 Disabled Disconnected ActiveStore
24 Ethernet IPv6 1500 6 Enabled Connected ActiveStore
22 Local Area Connection* 1 IPv6 1500 25 Disabled Disconnected ActiveStore
23 OpenVPN IPv6 1500 25 Enabled Connected ActiveStore
8 Ethernet 2 IPv6 1500 5 Disabled Disconnected ActiveStore
13 OpenVPN Wintun IPv6 65535 5 Disabled Disconnected ActiveStore
1 Loopback Pseudo-Interface 1 IPv6 4294967295 75 Disabled Connected ActiveStore
29 vEthernet (WSL) IPv4 1500 15 Disabled Connected ActiveStore
12 Ethernet 3 IPv4 1500 5 Enabled Disconnected ActiveStore
10 Local Area Connection* 2 IPv4 1500 25 Enabled Disconnected ActiveStore
24 Ethernet IPv4 1500 1 Enabled Connected ActiveStore
22 Local Area Connection* 1 IPv4 1500 25 Enabled Disconnected ActiveStore
23 OpenVPN IPv4 1500 100 Enabled Connected ActiveStore
8 Ethernet 2 IPv4 1500 5 Enabled Disconnected ActiveStore
13 OpenVPN Wintun IPv4 65535 5 Disabled Disconnected ActiveStore
1 Loopback Pseudo-Interface 1 IPv4 4294967295 75 Disabled Connected ActiveStore
Eu também tentei definir uma estratégia de recuperação no serviço OpenVPN, mas parece que o Windows não trata a falha de conexão do serviço OpenVPN como quebrado, portanto, não o está reiniciando:
Novamente, isso só acontece 1 em cada 5 botas, na maioria das vezes funciona bem.
Pesquisei em toda a internet, mas não encontrei mais ninguém com esse problema.
Eu tenho dois nós em um cluster Docker Swarm. Um desses nós tem uma conexão de cliente OpenVPN com um provedor de VPN na interface tun0
. Meus objetivos são,
Para DNS, adicionei uma dns
entrada /etc/docker/daemon.json
que usa os servidores DNS do provedor de VPN que só podem ser acessados por meio da VPN.
Aqui estão as regras do iptable que eu criei:
iptables -I DOCKER-USER 1 -o tun0 -j ACCEPT
iptables -I DOCKER-USER 2 -i tun0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -I DOCKER-USER 3 -j DROP
A cadeia resultante DOCKER-USER
se parece com isso:
Chain DOCKER-USER (1 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * tun0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- tun0 * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
A partir de testes básicos como rodar nslookup
e curl
com a conexão VPN ligada e desligada essas regras parecem funcionar, mas tenho muito pouca experiência com iptables. Esta é a maneira correta de fazer isso?
O problema:
Quando tento executar reunir estatísticas sobre OpenVPN no meu banco de dados Oracle 19c, o SQL Developer não retorna a mensagem típica "procedimento PL/SQL concluído com êxito" se for executado por mais de um determinado período de tempo.
Aparentemente, a conexão trava depois de um tempo e eu preciso me desconectar do OpenVPN ou matar o SQL Developer no Gerenciador de Tarefas do Windows para fechá-lo.
Meu banco de dados Oracle 19c e servidor OpenVPN estão em diferentes provedores de nuvem.
A execução de estatísticas de coleta nesse banco de dados geralmente leva cerca de meia hora.
Executando o comando reunir estatísticas no SQL Developer
O que verifiquei:
Nada incomum nos logs do Iptables e do OpenVPN no OpenVPN Server ou no listener e nos logs de alerta no Oracle 19c Server.
net.ipv4.tcp_keepalive_time e net.netfilter.nf_conntrack_tcp_timeout_established são definidos para seus valores padrão de 7200 (2 horas) e 432000 (5 dias) em ambas as máquinas.
Se eu me conectar ao banco de dados como sistema e executar:
selecione x.sid, x.serial#, x.username, x.status, x.osuser, x.machine, x.program, x.event, x.state, sql.sql_text de v$sqlarea sql, v$session x onde x.sql_hash_value = sql.hash_value e x.sql_address = sql.address e x.username = 'myuser';
Após cerca de meia hora, notei que a sessão para coletar estatísticas está inativa. Portanto, presumo que o collect stats realmente seja executado e finalizado com êxito, mas simplesmente não retorna a mensagem de saída mencionada acima.
Reúna estatísticas em execução no banco de dados
Sessão de estatísticas inativa após cerca de meia hora
O que eu tentei:
Em um banco de dados menor na mesma instância, a execução de reunir estatísticas sobre OpenVPN retorna a mensagem de sucesso mencionada acima. Este leva cerca de 10 minutos.
Conectar-se diretamente (sem OpenVPN) ao banco de dados adicionando meu endereço IP ao firewall do provedor de nuvem e executando as estatísticas de coleta também retorna a mensagem de sucesso mencionada anteriormente.
Gerando um par de chaves públicas/privadas SSH no servidor Oracle 19c e usando hosts SSH no SQL Developer, mas a conexão é muito instável/sempre redefinindo.
Configurando um servidor proxy Dante. Aparentemente, o SQL Developer só pode usar algum tipo de servidor proxy especial.
Configurando uma VPN IPSEC com StrongSwan. Meu Windows 10 não conseguiu estabelecer uma conexão com ele por algum motivo.
Meu problema é que não consigo me conectar ao meu servidor OpenVPN. Sempre recebo um erro "Falha na negociação de chave TLS em 60 segundos (verifique sua conectividade de rede)". A execução do tcpdump ao tentar conectar na porta 1194 do meu servidor mostrou 4 pacotes do meu PC.
Meu server.conf em /etc/openvpn/server:
# OpenVPN Port, Protocol, and the Tun
port 1194
proto udp
dev tun
#listen
local *my DNS*
# OpenVPN Server Certificate - CA, server key and certificate
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/*cert*.crt
key /etc/openvpn/server/*key*.key
#DH and CRL key
dh /etc/openvpn/server/dh.pem
crl-verify /etc/openvpn/server/crl.pem
# Network Configuration - Internal network
# Redirect all Connection through OpenVPN Server
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
# Using the DNS from https://dns.watch
push "dhcp-option DNS 84.200.69.80"
push "dhcp-option DNS 84.200.70.40"
#Enable multiple clients to connect with the same certificate key
duplicate-cn
# TLS Security
cipher AES-256-CBC
tls-version-min 1.0
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
auth SHA512
auth-nocache
# Other Configuration
keepalive 20 60
persist-key
persist-tun
compress lz4
daemon
user nobody
group nobody
# OpenVPN Log
log-append /var/log/openvpn.log
verb 4
meu client.ovpn no meu cliente Windows:
client
dev tun
proto udp
remote *my DNS* 1194
ca "c:\\Users\\*Username*\\Documents\\OpenVPNFiles\\Client1\\client\\ca.crt"
cert "c:\\Users\\*Username*\\Documents\\OpenVPNFiles\\Client1\\client\\*cert*.crt"
key "c:\\Users\\*Username*\\Documents\\OpenVPNFiles\\Client1\\client\\*key*.key"
cipher AES-256-CBC
auth SHA512
auth-nocache
tls-version-min 1.0
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
remote-cert-tls server
resolv-retry infinite
compress lz4
nobind
persist-key
persist-tun
mute-replay-warnings
verb 4
Qualquer ajuda é muito apreciada.