Trebuie să permit ssh numai prin VPN (openvpn) folosind iptables. Toate serviciile (ssh, vpn) sunt situate pe aceeași mașină. Regulile mele actuale pentru vpn și ssh:
# setați politica implicită
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# reguli de culoare
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X
# permite localhost
iptables -A INTRARE -i $LO -j ACCEPT
iptables -A IEȘIRE -o $LO -j ACCEPT
# Securitate
iptables -A INPUT -p tcp ! --syn -m conntrack --ctstate NEW -j DROP -m comentariu --comentare „primul segment tcp necesită bit SYN”
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP -m comentariu --comentare „elimină pachetele de XMAS”
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP -m comentariu --comment "elimină pachetele NULL"
iptables -A INPUT -p icmp --icmp-type address-mask-request -j DROP -m comment --comentare „elimină atacurile smurf ICMP”
iptables -A INPUT -p icmp --icmp-type timestamp-request -j DROP
iptables -A INPUT -p icmp --icmp-type router-solicitation -j DROP
iptables -A INPUT -p icmp -m limit --limit 2/secundă -j ACCEPT
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP -m comentariu --comment "elimină pachetele deteriorate (invalide)"
iptables -A FORWARD -m conntrack --ctstate INVALID -j DROP
iptables -A OUTPUT -m conntrack --ctstate INVALID -j DROP
# permite traficul VPN
iptables -A INTRARE -i $WAN -p tcp -m conntrack --ctstate NOU,STABILIT --dport $PORT_OPENVPN -j ACCEPT
iptables -A OUTPUT -o $WAN -p tcp -m conntrack --ctstate ESTABLISHED --sport $PORT_OPENVPN -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o $WAN -j MASQUERADE
iptables -A FORWARD -s 10.8.0.0/24 -o $WAN -j ACCEPT
iptables -A FORWARD -i $TUN -o $WAN -m conntrack --ctstate RELATED,STABLISHED -j ACCEPT
iptables -A FORWARD -i $WAN -o $TUN -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# permite SSH
iptables -t nat -I POSTROUTING -p tcp -m tcp --sport $PORT_SSH -o $TUN -j MASQUERADE
iptables -A FORWARD -i $TUN -o $WAN -p tcp --dport $PORT_SSH -j ACCEPT
iptables -A FORWARD -i $WAN -o $TUN -p tcp --sport $PORT_SSH -j ACCEPT
iptables -A INTRARE -p tcp -m tcp --dport $PORT_SSH -j ACCEPT
iptables -A IEȘIRE -p tcp -m tcp --sport $PORT_SSH -j ACCEPT
dar deocamdată ssh nu funcționează nici prin vpn, nici fără el. Ce fac greșit ?
ACTUALIZAȚI Ieșirea de ssh -vv
:
OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
debug1: Citirea datelor de configurare .ssh/config
debug2: resolve_canonicalize: numele gazdei <ADRESA IP VPS AICI> este adresa
debug2: ssh_connect_direct
debug1: Conectarea la <ADRESA IP VPS AICI> [<ADRESA IP VPS AICI>] portul 22.
debug1: Conexiune stabilită.
debug1: fișier de identitate .ssh/id_rsa tip -1
debug1: fișier de identitate .ssh/id_rsa-cert tip -1
debug1: fișier de identitate .ssh/id_dsa tip -1
debug1: fișier de identitate .ssh/id_dsa-cert tip -1
debug1: fișier de identitate .ssh/id_ecdsa tip -1
debug1: fișier de identitate .ssh/id_ecdsa-cert tip -1
debug1: fișier de identitate .ssh/id_ed25519 tip -1
debug1: fișier de identitate .ssh/id_ed25519-cert tip -1
debug1: fișier de identitate .ssh/id_xmss tip -1
debug1: fișier de identitate .ssh/id_xmss-cert tip -1
debug1: șir de versiune locală SSH-2.0-OpenSSH_for_Windows_8.1
debug1: versiunea de protocol la distanță 2.0, versiunea de software la distanță OpenSSH_7.6p1 Ubuntu-4ubuntu0.5
debug1: potrivire: OpenSSH_7.6p1 Ubuntu-4ubuntu0.5 pat OpenSSH_7.0*, OpenSSH_7.1*, OpenSSH_7.2*, OpenSSH_7.3*, OpenSSH_7.4*, OpenSSH_7.5*, OpenSSH_7.6*,.Open 7* compat 0x04000002
debug2: fd 3 setarea O_NONBLOCK
debug1: Autentificare la <ADRESA IP VPS AICI>:22 ca „<LOGIN HERE>”
depanare1: SSH2_MSG_KEXINIT trimis
depanare1: SSH2_MSG_KEXINIT primit
debug2: propunere KEXINIT client local
debug2: algoritmi KEX: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, diffie-hellman-group-exchange16,-diffshaie25-hellman6 -sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c
debug2: algoritmi cheie gazdă: [email protected],[email protected],[email protected],rsa- [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384, ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256,ssh-rsa,[email protected],ssh-ed25519
debug2: cifruri ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: cifre stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: MAC-uri ctos: [email protected],[email protected],[email protected],[email protected],hmac [email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MAC-uri stoc: [email protected],[email protected],[email protected],[email protected],hmac [email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compresie ctos: none,[email protected],zlib
debug2: compresie stoc: none,[email protected],zlib
debug2: limbi ctos:
debug2: limbi stoc:
debug2: first_kex_follows 0
debug2: rezervat 0
debug2: propunere peer server KEXINIT
debug2: algoritmi KEX: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, diffie-hellman-group-exchange16,-diffshaie25-hellman6 -sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1
debug2: algoritmi cheie gazdă: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256
debug2: cifruri ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: cifre stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: MAC-uri ctos: [email protected],[email protected],[email protected],[email protected],hmac [email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MAC-uri stoc: [email protected],[email protected],[email protected],[email protected],hmac [email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compresie ctos: none,[email protected]
debug2: compresie stoc: none,[email protected]
debug2: limbi ctos:
debug2: limbi stoc:
debug2: first_kex_follows 0
debug2: rezervat 0
debug1: kex: algoritm: curve25519-sha256
debug1: kex: algoritm cheie gazdă: ecdsa-sha2-nistp256
debug1: kex: server->cifrare client: [email protected] MAC: <implicit> compresie: niciuna
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compresie: niciunul
debug1: aștept SSH2_MSG_KEX_ECDH_REPLY
debug1: cheie gazdă server: ecdsa-sha2-nistp256 SHA256:qUdNYwEs+cvEVkMKTz4RNOObOBsIByhRaehiNvybIi4
debug1: Gazda „<ADRESA IP VPS AICI>” este cunoscută și se potrivește cu cheia gazdă ECDSA.
debug1: Cheia găsită în .ssh/known_hosts:3
debug2: set_newkeys: modul 1
debug1: reintroduceți tastele după 134217728 blocuri
debug1: SSH2_MSG_NEWKEYS trimis
debug1: aștept SSH2_MSG_NEWKEYS
depanare1: SSH2_MSG_NEWKEYS primit
debug2: set_newkeys: modul 0
debug1: reintroduceți după 134217728 blocuri
debug1: pubkey_prepare: ssh_get_authentication_socket: Nu există un astfel de fișier sau director
debug1: va încerca cheia: .ssh/id_rsa
debug1: va încerca cheia: .ssh/id_dsa
debug1: va încerca cheia: .ssh/id_ecdsa
debug1: va încerca cheia: .ssh/id_ed25519
debug1: va încerca cheia: .ssh/id_xmss
debug2: pubkey_prepare: terminat
depanare1: SSH2_MSG_EXT_INFO primit
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384, -nistp521>
debug2: service_accept: ssh-userauth
depanare1: SSH2_MSG_SERVICE_ACCEPT primit
debug1: Autentificări care pot continua: cheie publică, parolă
debug1: Următoarea metodă de autentificare: cheie publică
debug1: Se încearcă cheia privată: .ssh/id_rsa
debug1: Se încearcă cheia privată: .ssh/id_dsa
debug1: Se încearcă cheia privată: .ssh/id_ecdsa
debug1: Se încearcă cheia privată: .ssh/id_ed25519
debug1: Se încearcă cheia privată: .ssh/id_xmss
debug2: nu am trimis un pachet, metoda dezactivare
debug1: Următoarea metodă de autentificare: parola
debug1: read_passphrase: nu se poate deschide /dev/tty: nu există un astfel de fișier sau director
<LOGIN HERE>@<VPS IP ADDRESS HERE> Parola utilizatorului:
debug2: am trimis un pachet de parole, așteptați răspuns
debug1: Autentificarea reușită (parolă).
Autentificat la <ADRESA IP VPS AICI> ([<ADRESA IP VPS AICI>]:22).
depanare1: canal 0: nou [sesiune-client]
debug2: canal 0: trimite deschis
debug1: se solicită [email protected]
debug1: Intrarea în sesiunea interactivă.
debug1: gaj: rețea
depanare1: ENABLE_VIRTUAL_TERMINAL_INPUT este acceptat. Citirea VTSequence din consolă
depanare1: ENABLE_VIRTUAL_TERMINAL_PROCESSING este acceptat. Consola acceptă analiza ansi
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug2: channel_input_open_confirmation: canal 0: începe apel invers
debug2: fd 3 setarea TCP_NODELAY
debug2: client_session2_setup: id 0
debug2: canalul 0: cererea de confirmare pty-req 1
debug2: canalul 0: cererea de confirmare a shell-ului 1
debug2: channel_input_open_confirmation: canal 0: callback finalizat
debug2: canal 0: deschideți confirmarea ferestrei 0 rmax 32768
debug2: channel_input_status_confirm: tip 99 id 0
debug2: cererea de alocare PTY acceptată pe canalul 0
debug2: canalul 0: ajustarea rcvd 2097152
debug2: channel_input_status_confirm: tip 99 id 0
debug2: cererea shell acceptată pe canalul 0