Ko te whakamotuhēhēnga-rua o nga kaiwhakamahi VPN ma te MikroTik me te SMS

Kia ora e hoa mahi! I tenei ra, i te wa i iti ai te kaha o nga hiahia mo te "mahi mamao", ko te nuinga o nga kaiwhakahaere i wikitoria te mahi mo te uru mamao o nga kaimahi ki te whatunga umanga, kua tae ki te wa ki te whakapuaki i taku wheako kua roa ki te whakapai ake i te haumaru VPN. Kare tenei tuhinga e huatau inaianei IPSec IKEv2 me xAuth. Ko te hanga i tetahi punaha. motuhēhēnga-rua (2FA) Ko nga kaiwhakamahi VPN ka mahi a MikroTik hei tūmau VPN. Ara, ina whakamahia nga tikanga "matarohia" penei i te PPP.

Ko te whakamotuhēhēnga-rua o nga kaiwhakamahi VPN ma te MikroTik me te SMS

I tenei ra ka korero atu ahau ki a koe me pehea te tiaki i te MikroTik PPP-VPN ahakoa te "hijacking" o te kaute kaiwhakamahi. I te wa i whakauruhia ai tenei kaupapa ki tetahi o aku kaihoko, i kii poto ia "ka pai, inaianei kua rite ki te peeke!".

Kaore te tikanga e whakamahi i nga ratonga motuhēhē o waho. Ko nga mahi ka mahia a roto e te pouara ake. Kaore he utu mo te kaihoko hono. Ka mahi te tikanga mo nga kaihoko PC me nga taputapu pūkoro.

Ko te kaupapa tiaki whanui e whai ake nei:

  1. Ko te wahitau IP o roto o te kaiwhakamahi kua hono angitu ki te tūmau VPN kua whakarārangihia aunoatia.
  2. Ko te huihuinga hononga ka whakaputa aunoa i te waehere kotahi-wa ka tukuna ki te kaiwhakamahi ma te whakamahi i tetahi o nga tikanga e waatea ana.
  3. Ko nga wahitau kei roto i tenei rarangi he iti te uru ki nga rauemi whatunga o te rohe, haunga te ratonga "whakamotuhēhē", e tatari ana ki te whiwhi i te waehere kupuhipa kotahi te wa.
  4. I muri i te whakaatu i te waehere, ka uru te kaiwhakamahi ki nga rauemi o roto o te whatunga.

Tuatahi Ko te raru iti rawa i pa ki a au ko te penapena korero whakapā mo te kaiwhakamahi ki te tuku ki a ia te waehere 2FA. I te mea kaore e taea te hanga i nga mara raraunga e pa ana ki nga kaiwhakamahi i Mikrotik, i whakamahia te waahi "korero" o mua:

/ppp mea ngaro tāpiri ingoa=Kuhipa Petrov=4M@ngr! tākupu = "89876543210"

Ko te tuarua Ko te raruraru i puta ake he nui ake - ko te whiriwhiri i te huarahi me te tikanga o te tuku i te waehere. E toru nga kaupapa e whakatinanahia ana i tenei wa: a) SMS ma te USB-pouwhanga b) ī-mēra c) SMS ma te ī-mēra e waatea ana mo nga kaihoko umanga o te kaiwhakahaere pūkoro whero.

Ae, ka kawea mai e nga kaupapa SMS he utu. Engari ki te titiro koe, "ko te haumarutanga i nga wa katoa mo te moni" (c).
Karekau ahau e pai ki te kaupapa me te ī-mēra. Ehara i te mea e hiahia ana kia watea mai te tūmau mēra kia whakamotuhēhētia te kiritaki - ehara i te raru ki te wehe i te waka. Heoi, mena ka tiakina e te kaihoko nga kupuhipa vpn me te imeera i roto i te tirotiro ka ngaro tana pona, ka uru atu te kaitukino ki te whatunga umanga mai i a ia.

Na, kua whakatauhia - ka tukuna e matou he waehere kotahi-wa ma te whakamahi i nga karere SMS.

Ko te tuatoru Ko te raruraru ko hea me pehea te whakaputa i te waehere pseudo-tupurangi mo 2FA i MikroTik. Karekau he tairitenga o te mahi matapōkere() i roto i te reo tuhi RouterOS, a kua kite ahau i te maha o nga kaihanga tau pseudo-tupurangi i mua. Kare au i pai ki tetahi o ratou mo etahi take.

Ko te mea pono, he kaihanga raupapa pseudo-tupurangi kei MikroTik! He mea huna mai i te titiro ki runga i te horopaki o /certificates scep-server. Ko te ara tuatahi he ngawari me te ngawari te whiwhi kupuhipa kotahi - me te whakahau /tiwhikete scep-server otp whakaputa. Mena ka mahia e matou he mahinga taumahi rereke ngawari, ka whiwhi matou i te uara hurangi ka taea te whakamahi i muri mai i roto i nga tuhinga.

Ko te huarahi tuarua te whiwhi kupuhipa kotahi te wa he ngawari hoki te tono - ma te whakamahi i tetahi ratonga o waho tupurangi.org ki te whakaputa i te momo raupapa o nga tau pseudo-tupurangi. I konei kua whakangwarihia kapi tauira o te whakauru raraunga ki te taurangi:

Waehere
:global rnd1 [:pick ([/tool fetch url="https://www.random.org/strings/?num=1&len=7&digits=on&unique=on&format=plain&rnd=new" as-value output=user ]->"da
ta") 1 6] :put $rnd1

Ko te tono kua whakahōputuhia mo te papatohu (ka mawhiti i nga tohu motuhake ka hiahiatia i roto i te tinana tuhinga) ka whiwhi aho e ono mati ki te taurangi $rnd1. Ko te whakahau "tuku" e whai ake nei ka whakaatu noa i te taurangi i roto i te papatohu MikroTik.

Ko te raruraru tuawha me tere te whakatau - koinei te huarahi me te waahi ka tukuna e te kaihoko hono tana waehere kotahi-wa i te waahanga tuarua o te whakamotuhēhēnga.

Ko te whakamotuhēhēnga-rua o nga kaiwhakamahi VPN ma te MikroTik me te SMS

Me noho he ratonga i runga i te pouara MikroTik ka taea te whakaae ki te waehere me te whakarite ki tetahi kaihoko motuhake. Mena ka rite te waehere kua tukuna ki te mea e tumanakohia ana, me whakauru te wahitau o te kiritaki ki tetahi rarangi "ma", ko nga wahitau ka taea te uru atu ki te whatunga o roto o te kamupene.

Na te pai o te whiriwhiri i nga ratonga, i whakatauhia kia whakaaehia nga waehere ma te http ma te whakamahi i te paetukutukuproxy i hangaia ki Mikrotik. A, mai i te mea ka taea e te papangaahi te mahi me nga rarangi hihiri o nga wahitau IP, ko te papangaahi e mahi ana i te rapu mo te waehere, e hono ana ki te IP kiritaki me te taapiri atu ki te rarangi "ma" ma te whakamahi i te Layer7 regexp. Ko te pouara ake kua tohua he ingoa DNS here "gw.local", kua hangaia he rekoata A pateko ki runga hei tuku ki nga kaihoko PPP:

DNS
/ip dns static add name=gw.local address=172.31.1.1

Te hopu i nga hokohoko o nga kaihoko kore manatoko i runga i te takawaenga:
/ip firewall nat add chain=dstnat dst-port=80,443 in-interface=2fa protocol=tcp !src-address-list=2fa_approved action=redirect to-ports=3128

I tenei take, e rua nga mahi a te takawaenga.

1. Tuwhera hononga tcp ki nga kiritaki;

2. Mena ka angitu te whakamanatanga, anga te kaitirotiro kiritaki ki tetahi whaarangi, pikitia ranei e whakaatu ana mo te whakamotuhēhēnga angitu:

Whirihora takawaenga
/ip proxy
set enabled=yes port=3128
/ip proxy access
add action=deny disabled=no redirect-to=gw.local./mikrotik_logo.png src-address=0.0.0.0/0

Ka whakarārangihia e au nga waahanga whirihoranga nui:

  1. rarangi-atanga "2fa" - he rarangi hihiko o nga atanga kiritaki, he mahinga mai i te 2FA;
  2. address-list "2fa_jailed" - "hina" rarangi o nga wahitau IP kauhanga o nga kiritaki VPN;
  3. address_list "2fa_approved" - "ma" rarangi o nga wahitau IP kauhanga o nga kiritaki VPN kua tutuki pai te whakamotuhēhēnga-rua.
  4. mekameka pātūahi "input_2fa" - ka tirotirohia e ia nga paakete tcp mo te waahi o te waehere whakamana me te taurite ki te wahitau IP o te kaituku waehere me te mea e hiahiatia ana. Ko nga ture i roto i te mekameka ka taapirihia, ka nekehia atu.

He penei te ahua o te tutohi rerenga ngawari o te tukatuka paatete:

Ko te whakamotuhēhēnga-rua o nga kaiwhakamahi VPN ma te MikroTik me te SMS

Kia uru atu ki te tirotiro a Layer7 mo nga waka mai i nga kaihoko mai i te rarangi "hina" kaore ano kia eke ki te waahanga tuarua o te whakamotuhēhēnga, kua hangaia he ture i roto i te mekameka "whakauru" paerewa:

Waehere
/ip firewall filter add chain=input !src-address-list=2fa_approved action=jump jump-target=input_2fa

Inaianei me timata taatau ki te whakamau i enei taonga katoa ki te ratonga PPP. Ka taea e MikroTik te whakamahi i nga tuhinga i roto i nga korero (ppp-profile) me te tautapa ki nga huihuinga o te whakatuu me te pakaru hononga ppp. Ko nga tautuhinga ppp-profile ka taea te tono ki te tūmau PPP katoa me nga kaiwhakamahi takitahi. I te wa ano, ko te tohu kua tohua ki te kaiwhakamahi he kaupapa matua, ka takahi i nga tawhā o te kōtaha kua tohua mo te tūmau katoa me ona tawhā kua tohua.

Ko te hua o tenei huarahi, ka taea e matou te hanga i tetahi tohu motuhake mo te whakamotuhēhēnga-rua-rua, ka tohua kia kaua ki nga kaiwhakamahi katoa, engari ki te hunga e whakaaro ana he mea tika kia mahia. Ka whai take pea tenei ki te whakamahi koe i nga ratonga PPP ehara i te mea hei hono i nga kaiwhakamahi mutunga, engari i te wa ano ki te hanga hononga pae-ki-pae.

I roto i te kōtaha motuhake hou i hangaia, ka whakamahia e matou te taapiri hihiri o te wahitau me te atanga o te kaiwhakamahi hono ki nga rarangi "hina" o nga wahitau me nga atanga:

pouaka wini
Ko te whakamotuhēhēnga-rua o nga kaiwhakamahi VPN ma te MikroTik me te SMS

Waehere
/ppp profile add address-list=2fa_jailed change-tcp-mss=no local-address=192.0.2.254 name=2FA interface-list=2fa only-one=yes remote-address=dhcp_pool1 use-compression=no use-encryption= required use-mpls=no use-upnp=no dns-server=172.31.1.1

E tika ana kia whakamahia nga rarangi "whitau-rarangi" me "rarangi-atanga" ki te kimi me te hopu i nga waka mai i nga kaihoko VPN kore-tuarua i roto i te mekameka dstnat (prerouting).

Ka oti te whakarite, ka hangaia etahi atu mekameka paahi me tetahi korero, ka tuhia e matou he tuhinga hei kawenga mo te hanga-aunoa o te waehere 2FA me nga ture paahi takitahi.

Tuhinga wiki.mikrotik.com i runga i te PPP-Profile ka whakarangatira i a maatau ki nga korero mo nga taurangi e pa ana ki nga huihuinga hono-motuhake a te kiritaki PPP "Whakamahia te tuhinga i runga i te takahanga takiuru-kaiwhakamahi. He taurangi e waatea ana e waatea ana mo te tuhinga takahanga: te kaiwhakamahi, te wahitau-a-rohe, te wahitau-mamao, te kaiwaea-ira, te waea-ira, te atanga". Ko etahi o ratou he tino whai hua ki a tatou.

Waehere e whakamahia ana i roto i te kōtaha mo te takahanga hononga-i runga ake o PPP

#Логируем для отладки полученные переменные 
:log info (

quot;local-address")
:log info (


quot;remote-address")
:log info (


quot;caller-id")
:log info (


quot;called-id")
:log info ([/int pptp-server get (


quot;interface") name])
#Объявляем свои локальные переменные
:local listname "2fa_jailed"
:local viamodem false
:local modemport "usb2"
#ищем автоматически созданную запись в адрес-листе "2fa_jailed"
:local recnum1 [/ip fi address-list find address=(


quot;remote-address") list=$listname]

#получаем псевдослучайный код через random.org
#:local rnd1 [:pick ([/tool fetch url="https://www.random.org/strings/?num=1&len=7&digits=on&unique=on&format=plain&rnd=new" as-value output=user]->"data") 0 4] #либо получаем псевдослучайный код через локальный генератор
#:local rnd1 [pick ([/cert scep-server otp generate as-value minutes-valid=1]->"password") 0 4 ]

#Ищем и обновляем коммент к записи в адрес-листе. Вносим искомый код для отладки
/ip fir address-list set $recnum1 comment=$rnd1
#получаем номер телефона куда слать SMS
:local vphone [/ppp secret get [find name=$user] comment]

#Готовим тело сообщения. Если клиент подключается к VPN прямо с телефона ему достаточно
#будет перейти прямо по ссылке из полученного сообщения
:local msgboby ("Your code: ".$comm1."n Or open link http://gw.local/otp/".$comm1."/")

# Отправляем SMS по выбранному каналу - USB-модем или email-to-sms
if $viamodem do={
/tool sms send phone-number=$vphone message=$msgboby port=$modemport }
else={
/tool e-mail send server=a.b.c.d [email protected] [email protected] subject="@".$vphone body=$msgboby }

#Генерируем Layer7 regexp
local vregexp ("otp\/".$comm1)
:local vcomment ("2fa_".(


quot;remote-address"))
/ip firewall layer7-protocol add name=(


quot;vcomment") comment=(


quot;remote-address") regexp=(


quot;vregexp")

#Генерируем правило проверяющее по Layer7 трафик клиента в поисках нужного кода
#и небольшой защитой от брутфорса кодов с помощью dst-limit
/ip firewall filter add action=add-src-to-address-list address-list=2fa_approved address-list-timeout=none-dynamic chain=input_2fa dst-port=80,443,3128 layer7-protocol=(


quot;vcomment") protocol=tcp src-address=(


quot;remote-address") dst-limit=1,1,src-address/1m40s

Ina koa mo te hunga e pai ana ki te kape-whakapiri ma te kore whakaaro, ka whakatupato ahau ki a koe - ka tangohia te waehere mai i te putanga whakamatautau me te mea kei roto i nga hapa iti. E kore e uaua mo te tangata mohio ki te mohio ki hea.

Ka momotu te kaiwhakamahi, ka puta he kaupapa "I-Raro" ka karangahia te tuhinga me nga tawhā. Ko te mahi o tenei tuhinga ko te horoi i nga ture papaahi i hangaia mo te kaiwhakamahi kua momotuhia.

Waehere whakamahia i roto i te kōtaha mo PPP takahanga hononga-raro

:local vcomment ("2fa_".(

quot;remote-address"))
/ip firewall address-list remove [find address=(


quot;remote-address") list=2fa_approved] /ip firewall filter remove [find chain="input_2fa" src-address=(


quot;remote-address") ] /ip firewall layer7-protocol remove [find name=$vcomment]
Ka taea e koe te hanga i nga kaiwhakamahi me te tautapa i te katoa, i etahi ranei o ratou ki tetahi tohu motuhēhēnga-rua.

pouaka wini
Ko te whakamotuhēhēnga-rua o nga kaiwhakamahi VPN ma te MikroTik me te SMS

Waehere
/ppp secrets set [find name=Petrov] profile=2FA

Te ahua o te taha o te kiritaki.

Ina whakapumautia he hononga VPN, ka whiwhi te waea Android/iOS/papa me te kaari SIM he SMS penei:

SMS
Ko te whakamotuhēhēnga-rua o nga kaiwhakamahi VPN ma te MikroTik me te SMS

Mena kua whakapumautia te hononga mai i te waea / papa, ka taea e koe te haere ma te 2FA ma te panui noa i te hono mai i te panui. He hāneanea.

Mena kua whakapumautia te hononga VPN mai i te PC, katahi ka hiahiatia te kaiwhakamahi ki te whakauru i tetahi puka kupuhipa iti. He puka iti i te ahua o te konae HTML ka hoatu ki te kaiwhakamahi i te wa e whakatuu ana te VPN. Ka taea te tuku i te konae ma te mēra kia ora ai te kaiwhakamahi ka hanga he pokatata ki tetahi waahi watea. He penei te ahua:

Tapanga ki te tepu
Ko te whakamotuhēhēnga-rua o nga kaiwhakamahi VPN ma te MikroTik me te SMS

Ka pao te kaiwhakamahi ki te pokatata, ka tuwhera he puka whakauru waehere ngawari, ka whakapiri i te waehere ki te URL tuwhera:

Puka mata
Ko te whakamotuhēhēnga-rua o nga kaiwhakamahi VPN ma te MikroTik me te SMS

Ko te ahua tuatahi ka hoatu hei tauira. Ko te hunga e hiahia ana ka taea te whakarereke mo ratou ano.

2fa_login_mini.html

<html>
<head> <title>SMS OTP login</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head>
<body>
<form name="login" action="location.href='http://gw.local/otp/'+document.getElementById(‘text').value"  method="post"
 <input id="text" type="text"/> 
<input type="button" value="Login" onclick="location.href='http://gw.local/otp/'+document.getElementById('text').value"/> 
</form>
</body>
</html>

Mena i angitu te whakamanatanga, ka kite te kaiwhakamahi i te tohu MikroTik i roto i te kaitirotiro, me tohu mo te whakamotuhēhēnga angitu:

Ko te whakamotuhēhēnga-rua o nga kaiwhakamahi VPN ma te MikroTik me te SMS

Kia mahara ka whakahokia mai te ahua mai i te tūmau tukutuku MikroTik i hangaia ma te whakamahi i te WebProxy Deny Redirect.

Ki taku whakaaro ka taea te whakarite i te ahua ma te whakamahi i te taputapu "hotspot", te tuku ake i to ake putanga ki reira me te whakatakoto i te URL Whakakahoretia Redirect ki a ia me WebProxy.

He tono nui ki te hunga e ngana ana ki te hoko i te Mikrotik "takaro" iti rawa mo te $20 me te whakakapi i te pouara $500 ki a ia - kaua e pera. Ko nga taputapu penei i te "hAP Lite" / "hAP mini" (te waahi uru ki te kainga) he PTM tino ngoikore (smips), a tera pea ka kore ratou e kaha ki te kawe i te taumahatanga o te wahanga pakihi.

Whakatūpato! Kotahi te raru o tenei otinga: ka hono nga kaihoko, ka momotu ranei, ka puta nga huringa whirihoranga, ka ngana te pouara ki te penapena i roto i tana mahara kore-kore. Na te maha o nga kaihoko me nga hononga hono me nga momotuhanga, ka taea e tenei te paheketanga o te rokiroki o roto i te pouara.

PS: Ko nga tikanga mo te tuku waehere ki te kiritaki ka taea te whakawhanui me te taapiri kia rite ki te rawaka o to kaha ki te whakamaarama. Hei tauira, ka taea e koe te tuku karere ki te waea waea, ki te ... whakaaro nga whiringa!

Te ti'aturi nei au ka whai hua te tuhinga ki a koe, ka awhina i nga whatunga o nga pakihi iti me te reo-rahi kia noho haumaru ake.

Source: will.com