Mikrotik SSH forwarding

Mikrotik SSH forwarding
« kdy: 13. 04. 2018, 08:32:30 »
Zdravim, jiz par dni resim doma orisek s forwardovanim portu na Mikrotiku, prolezl sem snad cele forum mikrotiku ale reseni jsem se nedopatral.
Nejprve popisu jak mam zapojeni site a pak popisu problem:
Aktualne mam VDSL modem Comtrend vr-3026e v bridge modu a Mikrotik se stara o vytaceni spojeni to funguje OK. Dale mam do mikrotiku zapojeny maly domaci server na ktery mam nasmerovany forwardovani ruznych portu a to funguje taky bez problemu, dostanu se na web, ftp a dedikovany herni server ktery me tam jede.
Problem ktery ale nemuzu vyresit je forwardovani portu pro SSH. V mem pripade mam pravidlo pro forwardovani 2222 z WAN na 22 na serveru. Mikrotiku jsem nastavit nasledujici NAT pravidla pro forwardovani ale porad me to zarezava spojeni. Samotny Service port 22 na Mikrotiku mam zmeneny z 22 na 222 takze by tam nemelo nic jineho na portu 22 poslouchat.

Kód: [Vybrat]
16    ;;; SSH Forwarding
      chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=22
      protocol=tcp dst-address=83.208.xxx.xxx in-interface=O2_VDSL
      dst-port=2222 log=yes log-prefix="Putty"

17    chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=22
      protocol=udp dst-address=83.208.xxx.xxx in-interface=O2_VDSL
      dst-port=2222 log=yes log-prefix="Putty"

Predem dekuji za kazdou radu  :)

Nobody is perfect, but i'll try my best!


drunkez

Re:Mikrotik SSH forwarding
« Odpověď #1 kdy: 13. 04. 2018, 08:59:29 »
ja to mam tak isto...nieco je zle ine...
mozno to udp pravidlo by som dal prec....


ja to mam takto

3    chain=dstnat action=dst-nat to-addresses=192.168.5.36 to-ports=22 protocol=tcp dst-address=xxx.xxx.xxx.xxx in-interface=ether1-gateway dst-port=2223 log=no

Re:Mikrotik SSH forwarding
« Odpověď #2 kdy: 13. 04. 2018, 08:59:38 »
U Mikrotiku se mění jeho port SSH v IP/services a ne v pravidlech.

drunkez

Re:Mikrotik SSH forwarding
« Odpověď #3 kdy: 13. 04. 2018, 09:12:08 »
U Mikrotiku se mění jeho port SSH v IP/services a ne v pravidlech.

to ze ssh na mikrotik zmenil na 222 nema ziadny vplyv na ten portforward v pravidlach predsa ci nie?

M.

Re:Mikrotik SSH forwarding
« Odpověď #4 kdy: 13. 04. 2018, 09:24:08 »
V  ROSu pod /ip/services je u SSH port na jakém poslouchá samotný Mikrotik pro spojení na něj přes SSH, ten nemá nic společného s port forwardem z vnějšku na vnitřní server. Jediný dopad je, že když si dám port SSH v ROSu na 2222 a zároveň budu dělat dstnat z vnějšku na server dovnitř, tak se z vnějšku nepůjde přes SSH na Mikrotik připojit, protože dstnat má přednost.
Pozor na jedno, pokud dělám pod /ip/firewall/nat dstnat <veřejnáIP>:2222 -> <vnitřníIP>:22, tak musím obvykle vedle NATu mít povoleno i pravidlem ve firewallu, pod  /ip/firewall/filter navazovat z venku spojení na <vnitřníIP>:22 (prvně se vykoná dstnat a teprve pak vyhodnocují pravidla pod filtrování a v základu bývá navazování spojení z vnějšku dovnitř blokováno).


Re:Mikrotik SSH forwarding
« Odpověď #5 kdy: 13. 04. 2018, 09:33:02 »
drunkez: Puvodne jsem mel jen tcp kamarad me poradil at zkusim pridat i udp pravidlo ale to taky nezabralo.

mac0112: To vim tam mam nastaveny aby mikrotik mel ssh na posrtu 222. Problem ktery ted resim je ten ze potrebuji abych se z WAN dostal prez SSH na server ktery je za Mikrotikem.

EDIT:
M.: Aha tak to me nenapadlo zkusim dohledat jak koretne nastavit pravidlo pro povoleni spojeni z WAN do LAN.

Postu jsem nastaveni pro Firewall a NAT jestli to nejak pomuze.

/ip firewall nat print
Kód: [Vybrat]
Flags: X - disabled, I - invalid, D - dynamic
 0    ;;; Masquerade for PPPoE
      chain=srcnat action=masquerade out-interface=O2_VDSL log=yes log-prefix="masquerade"

 1    chain=srcnat action=masquerade dst-address=192.168.88.125 log=no log-prefix=""

 2    chain=srcnat action=masquerade dst-address=192.168.88.130 log=no log-prefix=""

 3    ;;; Web FE
      chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=80-99 protocol=tcp dst-address=83.208.XXX.XXX dst-port=80-99 log=yes log-prefix="web-fe"

 4    chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=443 protocol=tcp dst-address=83.208.XXX.XXX dst-port=443 log=yes log-prefix="caddy"

 5    ;;; TeamSpeak3 Server
      chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=9987 protocol=udp dst-address=83.208.XXX.XXX dst-port=9987 log=no log-prefix=""

 6    chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=30033 protocol=tcp dst-address=83.208.XXX.XXX dst-port=30033 log=no log-prefix=""

 7    ;;; Terraria-Server
      chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=7777 protocol=tcp dst-address=83.208.XXX.XXX dst-port=7777 log=no log-prefix=""

 8    chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=7777 protocol=udp dst-address=83.208.XXX.XXX dst-port=7777 log=no log-prefix=""

 9    ;;; NAS FTP
      chain=dstnat action=dst-nat to-addresses=192.168.88.130 to-ports=21 protocol=tcp dst-address=83.208.XXX.XXX dst-port=21 log=no log-prefix=""

10    ;;; Server SSH
      chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=22 protocol=tcp dst-address=83.208.XXX.XXX in-interface=O2_VDSL dst-port=2222 log=yes log-prefix="Putty"

11    chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=22 protocol=udp dst-address=83.208.XXX.XXX in-interface=O2_VDSL dst-port=2222 log=yes log-prefix="Putty"

12    ;;; Factorio Server
      chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=34197 protocol=udp dst-address=83.208.XXX.XXX dst-port=34197 log=no log-prefix=""


/ip firewall filter print
Kód: [Vybrat]
Flags: X - disabled, I - invalid, D - dynamic
 0  D ;;; special dummy rule to show fasttrack counters
      chain=forward action=passthrough

 1    ;;; defconf: fasttrack
      chain=forward action=fasttrack-connection connection-state=established,related log=no log-prefix=""

 2    ;;; defconf: accept established,related
      chain=forward action=accept connection-state=established,related log=no log-prefix=""

 3    ;;; defconf: drop invalid
      chain=forward action=drop connection-state=invalid log=no log-prefix=""

 4    ;;; defconf:  drop all from WAN not DSTNATed
      chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface=ether1 log=no log-prefix=""

 5    chain=input action=accept protocol=icmp log=no log-prefix=""

 6    chain=input action=accept connection-state=established log=no log-prefix=""

 7    chain=input action=accept connection-state=related log=no log-prefix=""

 8    chain=input action=drop in-interface=ether1 log=no log-prefix=""

 9    ;;; drop ftp brute forcers
      chain=input action=drop protocol=tcp src-address-list=ftp_blacklist dst-port=21

10    chain=output action=accept protocol=tcp content=530 Login incorrect dst-limit=1/1m,9,dst-address/1m

11    chain=output action=add-dst-to-address-list protocol=tcp address-list=ftp_blacklist address-list-timeout=3h content=530 Login incorrect

12 X  ;;; drop ssh brute forcers
      chain=input action=drop protocol=tcp src-address-list=ssh_blacklist dst-port=22 log=no log-prefix=""

13 X  chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage3 address-list=ssh_blacklist address-list-timeout=1w3d dst-port=22 log=no log-prefix=""

14 X  chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage2 address-list=ssh_stage3 address-list-timeout=1m dst-port=22 log=no log-prefix=""

15 X  chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage1 address-list=ssh_stage2 address-list-timeout=1m dst-port=22 log=no log-prefix=""

16 X  chain=input action=add-src-to-address-list connection-state=new protocol=tcp address-list=ssh_stage1 address-list-timeout=1m dst-port=22 log=no log-prefix=""

17    ;;; drop telnet brute forcers
      chain=input action=drop protocol=tcp src-address-list=ssh_blacklist dst-port=23 log=no log-prefix=""

18    chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage3 address-list=ssh_blacklist address-list-timeout=1w3d dst-port=23

19    chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage2 address-list=ssh_stage3 address-list-timeout=1m dst-port=23

20    chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage1 address-list=ssh_stage2 address-list-timeout=1m dst-port=23

21    chain=input action=add-src-to-address-list connection-state=new protocol=tcp address-list=ssh_stage1 address-list-timeout=1m dst-port=23


VDSL Modem je pripojen do ether1
/interface print
Kód: [Vybrat]
Flags: D - dynamic, X - disabled, R - running, S - slave
 #     NAME                                TYPE       ACTUAL-MTU L2MTU  MAX-L2MTU
 0  R   ether1                             ether            1500       1598       4074       
 1  RS ether2-master                  ether            1500       1598       4074       
 2  RS ether3                             ether            1500       1598       4074       
 3   S  ether4                             ether            1500       1598       4074       
 4   S  ether5                             ether            1500       1598       4074       
 5  RS wlan1                              wlan             1500       1600       2290       
 6   S  wlan2                              wlan             1500       1600       2290       
 7  R   O2_VDSL                         pppoe-out     1480
 8  R  ;;; defconf
         bridge                              bridge           1500       1598                     
« Poslední změna: 13. 04. 2018, 09:35:42 od Jirka_V »
Nobody is perfect, but i'll try my best!

Lol Phirae

Re:Mikrotik SSH forwarding
« Odpověď #6 kdy: 13. 04. 2018, 09:50:29 »
 Přestaň vymýšlet nesmysly a nastav ten port forward přesně stejně jako ty ostatní, které ti fungují.

Re:Mikrotik SSH forwarding
« Odpověď #7 kdy: 13. 04. 2018, 10:01:11 »
Přestaň vymýšlet nesmysly a nastav ten port forward přesně stejně jako ty ostatní, které ti fungují.

I kdyz to mam nastavene stejne jako treba forwardovani portu 80 tak me to stejne nefunguje proto tady stim laboruju. Kdyby to melo tak jednoduche reseni tak se stim nelopotim uz 3 dny :)

V  ROSu pod /ip/services je u SSH port na jakém poslouchá samotný Mikrotik pro spojení na něj přes SSH, ten nemá nic společného s port forwardem z vnějšku na vnitřní server. Jediný dopad je, že když si dám port SSH v ROSu na 2222 a zároveň budu dělat dstnat z vnějšku na server dovnitř, tak se z vnějšku nepůjde přes SSH na Mikrotik připojit, protože dstnat má přednost.
Pozor na jedno, pokud dělám pod /ip/firewall/nat dstnat <veřejnáIP>:2222 -> <vnitřníIP>:22, tak musím obvykle vedle NATu mít povoleno i pravidlem ve firewallu, pod  /ip/firewall/filter navazovat z venku spojení na <vnitřníIP>:22 (prvně se vykoná dstnat a teprve pak vyhodnocují pravidla pod filtrování a v základu bývá navazování spojení z vnějšku dovnitř blokováno).

Myslim ze ty pravidla pro firewall nenastavuju tak jak bych mel mohl bys me poradit jak to ma vypadat korektne? V nastavovani firewallu jsem uplny zelenac takze poradne nevim co a jak.

Nobody is perfect, but i'll try my best!

jeniceek

Re:Mikrotik SSH forwarding
« Odpověď #8 kdy: 13. 04. 2018, 10:12:10 »
Jestli se na to pak pokoušíš připojit z té sítě za tím samým routerem, nebude ti to fungovat kvůli toho in-interface

Re:Mikrotik SSH forwarding
« Odpověď #9 kdy: 13. 04. 2018, 10:19:52 »
Jestli se na to pak pokoušíš připojit z té sítě za tím samým routerem, nebude ti to fungovat kvůli toho in-interface

Testuji te z jineho zarizeni ktere neni k LAN vubec pripojen takze opravdu to jde z venku. z PC v LAN se na IP 192.168.88.125:22 normalne pripojim.
Nobody is perfect, but i'll try my best!

samalama

Re:Mikrotik SSH forwarding
« Odpověď #10 kdy: 13. 04. 2018, 13:44:28 »
skus implicitne povolit forward pre ssh...

Re:Mikrotik SSH forwarding
« Odpověď #11 kdy: 13. 04. 2018, 13:50:35 »
skus implicitne povolit forward pre ssh...

Na to jsem take narazil a povolil jsem ho ale nepomohlo to. Aktualne mam nastaveni dstnat port forvart 2222->22 a mam v firewall nastaveny pravidla pro povoleni spojeni na portech 2222 a 22 ale bud mam spaatne ty pravidla nebo je jeste nekde jinde problme.

Taky nevim jestli tomu nevadi ze pouzivam PPPoE pripojeni (nejake specificke nastaveni) prostrednictvim toho o2 VDSL modemu ale pokud sem to spravne pochopil to by nato nemelo mit dopat pokud vsechno ostatni funguje OK.
Nobody is perfect, but i'll try my best!

jeniceek

Re:Mikrotik SSH forwarding
« Odpověď #12 kdy: 13. 04. 2018, 14:10:50 »
Tohle pravidlo bude asi taky trochu zbytečné.

Pak bych ještě zkontroloval, jestli ses náhodou nedostal do toho address listu, který máš pro attackery

Citace
2    chain=srcnat action=masquerade dst-address=192.168.88.130 log=no log-prefix=""

Re:Mikrotik SSH forwarding
« Odpověď #13 kdy: 13. 04. 2018, 15:15:14 »
Tohle pravidlo bude asi taky trochu zbytečné.

Pak bych ještě zkontroloval, jestli ses náhodou nedostal do toho address listu, který máš pro attackery

Citace
2    chain=srcnat action=masquerade dst-address=192.168.88.130 log=no log-prefix=""

Mam v siti 2 servery bez tech masquerade zaznamu nebylo mozne nane forwardovat zadne porty. 192.168.88.125 je ovsem jedinej na ktery se potrebuju dostat z venku prez SSH, 192.168.88.130 nanem jede jenom web a ftp a to funguje OK.
Nobody is perfect, but i'll try my best!

SB

Re:Mikrotik SSH forwarding
« Odpověď #14 kdy: 13. 04. 2018, 16:52:12 »
Nechce se mi vzhledem k jednoduchosti problému celou diskusi číst podrobně...

Jak psali jiní: Je třeba jedno pravidlo v NAT a nejspíše druhé ve firewallu (jako forward!). Jestli to nejede, tak si nejprve vyrobte v NAT pravidlo úplně navrchu(!) pro zvenku+TCP+2222+passthrough. Vlezte na nějaký webový port scanner (třeba http://www.t1shopper.com/tools/port-scan/) a zkuste si adresa:2222 ošmrdlat. V NATovém pravidlu musí naskakovat provoz. Až to pojede a pravidlo opravíte, udělejte obdobné pravidlo ve firewallu (opět navrchu a forward!). Takhle to musíte najít.
Také se dá při scanování zvenku použít Torch na onom rozhraní PPP, ale už to není přímo test pravidel.

Je to tak jednoduché, že to vypadá, že jste spíš někde jen něco přehlédnul.