Odwrotny tunel SSH - VPS blokuje dost

Konfiguracja serwerów, usług, itp.
Awatar użytkownika
wojciech_69
Beginner
Posty: 128
Rejestracja: 02 stycznia 2009, 16:04

Odwrotny tunel SSH - VPS blokuje dostęp

Post autor: wojciech_69 »

Posiadam serwer VPS na host1free, na którym chcę zrobić tunel odwrotny pomiędzy ruterem w pracy a laptopem w domu.
Ruter to Linksys WRT160NL z OpenWRT. Z rutera mogę się zalogować przez SSH do VPS-a:

Kod: Zaznacz cały

root@Gargoyle:~# ssh [email protected]
[email protected]'s password:
Last login: Fri Jan  4 07:46:31 2013 from ixn59.internetdsl.tpnet.pl
Starting PowerConsole v1.3 <> (c)2012 soluslabs ltd.
please wait...
successfully logged in.
entered into CT 5891
root@wojtasvps:/# mc
root@wojtasvps:/# exit
logout
exited from CT 5891
root@Gargoyle:~#
także problemu nie powoduje firewall sprzętowy, za którym stoi router.

Host1free na swoich forach napisał, że serwery nie posiadają żadnego firewalla ani też nie blokują żadnych portów w "standardzie".

Kod: Zaznacz cały

root@wojtasvps:/# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
root@wojtasvps:/# iptables -t nat -S
-P PREROUTING ACCEPT
-P POSTROUTING ACCEPT
-P OUTPUT ACCEPT
root@wojtasvps:/# iptables -t mangle -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
Plik konfiguracyjny sshd_config serwera VPS:

Kod: Zaznacz cały

# Package generated configuration file
# See the sshd_config(5) manpage for details
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes
# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768
# Logging
SyslogFacility AUTH
LogLevel INFO
# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile     %h/.ssh/authorized_keys
# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes
# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no
# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes
# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

# tunelowanie portow
AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no
#MaxStartups 10:30:60
#Banner /etc/issue.net
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
Na ruterze uruchamiam tunel w następujący sposób:

Kod: Zaznacz cały

ssh -f -NT -R 8889:localhost:22 [email protected]
loguję się jako root na VPS-a. Logi na ruterze nie pokazują żadnego błędu, a po wykonaniu polecenia: widać iż tunel się wykonuje:

Kod: Zaznacz cały

....
14731 root      1244 R    /usr/sbin/dropbear -P /var/run/dropbear.1.pid -p 22
14732 root      1524 S    -ash
14744 root      1192 S    ssh -f -NT -R 8889:localhost:22 [email protected]
15209 root         0 SW   [flush-8:0]
15210 root      1496 R    ps
....

W tym momencie, chcę sprawdzić czy VPS nasłuchuje na porcie 8889:

Kod: Zaznacz cały

root@wojtasvps:/# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:smtp          *:*                     LISTEN
tcp        0      0 localhost:953           *:*                     LISTEN
tcp        0      0 *:microsoft-ds          *:*                     LISTEN
tcp        0      0 localhost:submission    *:*                     LISTEN
tcp        0      0 *:netbios-ssn           *:*                     LISTEN
tcp        0      0 *:www                   *:*                     LISTEN
tcp        0      0 wojtasvps:domain        *:*                     LISTEN
tcp        0      0 127.0.0.2:domain        *:*                     LISTEN
tcp        0      0 localhost:domain        *:*                     LISTEN
tcp        0      0 *:ssh                   *:*                     LISTEN
tcp6       0      0 [::]:domain             [::]:*                  LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
udp        0      0 wojtasvps:netbios-ns    *:*
udp        0      0 wojtasvps:netbios-ns    *:*
udp        0      0 127.0.0.2:netbios-ns    *:*
udp        0      0 127.0.0.2:netbios-ns    *:*
udp        0      0 *:netbios-ns            *:*
udp        0      0 wojtasvps:netbios-dgm   *:*
udp        0      0 wojtasvps:netbios-dgm   *:*
udp        0      0 127.0.0.2:netbios-dgm   *:*
udp        0      0 127.0.0.2:netbios-dgm   *:*
udp        0      0 *:netbios-dgm           *:*
udp        0      0 wojtasvps:domain        *:*
udp        0      0 127.0.0.2:domain        *:*
udp        0      0 localhost:domain        *:*
udp6       0      0 [::]:domain             [::]:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     1203263087 /var/run/saslauthd/mux
unix  2      [ ACC ]     STREAM     LISTENING     1203312045 /var/run/sendmail/mta/smcontrol
unix  6      [ ]         DGRAM                    1203261670 /dev/log
unix  2      [ ]         DGRAM                    1203264304
unix  2      [ ]         DGRAM                    1203263806
unix  2      [ ]         DGRAM                    1203263095
unix  2      [ ]         DGRAM                    1203263025
root@wojtasvps:/#
Sprawdzam, czy zostało ustanowione połączenie od rutera do VPS-a:

Kod: Zaznacz cały

root@wojtasvps:/# ssh -p 8889 [email protected]
ssh: connect to host 127.0.0.1 port 8889: Connection refused
root@wojtasvps:/#
I w tym momencie zastanawiam się co może blokować VPS-a skoro nie widać połączenia, nasłuchiwania na 8889, brak jest firewalla i żadne porty nie zostały zablokowane na nim?

Proszę o pomoc, bo walczę z tym już ładnych parę dni...

Ps. Czy można zrobić tak aby logi SSH VPS-a były przechowywane w oddzielnym pliku?
Awatar użytkownika
Yampress
Administrator
Posty: 6400
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Post autor: Yampress »

&quot pisze:

Kod: Zaznacz cały

PermitRootLogin yes
?
Awatar użytkownika
markossx
Beginner
Posty: 489
Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska

Post autor: markossx »

A w konfigu sshd jest port 22, a Ty z uporem maniaka ustawiasz 8889, trzeba się na coś zdecydować...
Awatar użytkownika
wojciech_69
Beginner
Posty: 128
Rejestracja: 02 stycznia 2009, 16:04

Post autor: wojciech_69 »

Yampress, sugerujesz żebym zablokował możliwość logowania przez roota? To jak się dostanę do VPS-a?

markossx, wiem co jest w konfigu ale tak jest to zdefiniowane w poradniku, z którego korzystałem żeby zestawić tunel: http://eko.one.pl/?p=openwrt-sshtunnel
Awatar użytkownika
Yampress
Administrator
Posty: 6400
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Post autor: Yampress »

No jak? Rozłóż ręce siądź na środku pokoju i zacznij płakać.

Tworzysz konto nowego użytkownika. Logujesz się na jego konto, a po zalogowaniu przełączasz się na roota (su). Masz do pokonania 2 hasła (napastnik też).
Awatar użytkownika
wojciech_69
Beginner
Posty: 128
Rejestracja: 02 stycznia 2009, 16:04

Post autor: wojciech_69 »

Tak się składa, że nie mogę założyć nowego użytkownika bo takie jest ograniczenie nałożone przez host1free. Na jednym węźle jest kilka kont VPS także co to by było jakby każdy sobie zakładał po kilku użytkowników. Co innego z użytkownikami FTP.

Bo np.: SSH działa na 94.249.206.xxx ale już www (apache, ftp) na 94.249.249.5.
kane2002
Posty: 22
Rejestracja: 07 grudnia 2007, 05:58

Post autor: kane2002 »

Jak masz uprawnienia roota to jak możesz mieć ograniczenia w tworzeniu użytkowników? Vpsy są na wirtualnych maszynach, więc ich nie obchodzi co ty sobie zrobisz w swojej.
Ustaw to poprawnie i przede wszystkim po kolei tak aby ci się nie mieszało, hosty porty i użytkownicy.
Awatar użytkownika
wojciech_69
Beginner
Posty: 128
Rejestracja: 02 stycznia 2009, 16:04

Post autor: wojciech_69 »

Nie raz tworzyłem nowych użytkowników, ale niestety żaden nie może się logować przez SSH. host1free przydziela każdemu inny login roota. Ja np. mam konsole-5uomXL a ktoś inny ma np. konsole-54kiO, więc nie mogę sobie utworzyć kilku użytkowników np. maniek, bronek, helenka, bo każdy w danym węźle loguje się jeden wspólny IP.
Konsola jest na 94.249.206.254 ale np. www ja mam na 94.249.249.5.
ODPOWIEDZ