ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ืฉืœ ืžืฉืชืžืฉื™ VPN ื‘ืืžืฆืขื•ืช MikroTik ื•-SMS

ืฉืœื•ื ืขืžื™ืชื™ื! ื”ื™ื•ื, ื›ืืฉืจ ืขื•ืฆืžืช ื”ืชืฉื•ืงื•ืช ืกื‘ื™ื‘ "ืขื‘ื•ื“ื” ืžืจื—ื•ืง" ืฉื›ื›ื” ืžืขื˜, ืจื•ื‘ ื”ืžื ื”ืœื™ื ื–ื›ื• ื‘ืžืฉื™ืžื” ืฉืœ ื’ื™ืฉื” ืžืจื—ื•ืง ืฉืœ ืขื•ื‘ื“ื™ื ืœืจืฉืช ื”ืืจื’ื•ื ื™ืช, ื”ื’ื™ืข ื”ื–ืžืŸ ืœื—ืœื•ืง ืืช ื”ื ื™ืกื™ื•ืŸ ืจื‘ ื”ืฉื ื™ื ืฉืœื™ ื‘ืฉื™ืคื•ืจ ืื‘ื˜ื—ืช ื”-VPN. ืžืืžืจ ื–ื” ืœื ื™ื”ื™ื” ืื•ืคื ืชื™ ื›ืขืช IPSec IKEv2 ื•-xAuth. ืžื“ื•ื‘ืจ ื‘ื‘ื ื™ื™ืช ืžืขืจื›ืช. ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ (2FA) ืžืฉืชืžืฉื™ VPN ื›ืืฉืจ MikroTik ืคื•ืขืœ ื›ืฉืจืช VPN. ื›ืœื•ืžืจ, ื›ืืฉืจ ืžืฉืชืžืฉื™ื ื‘ืคืจื•ื˜ื•ืงื•ืœื™ื "ืงืœืืกื™ื™ื" ื›ื’ื•ืŸ PPP.

ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ืฉืœ ืžืฉืชืžืฉื™ VPN ื‘ืืžืฆืขื•ืช MikroTik ื•-SMS

ื”ื™ื•ื ืื ื™ ืื’ื™ื“ ืœืš ืื™ืš ืœื”ื’ืŸ ืขืœ MikroTik PPP-VPN ื’ื ื‘ืžืงืจื” ืฉืœ "ื—ื˜ื™ืคื”" ืฉืœ ื—ืฉื‘ื•ืŸ ื”ืžืฉืชืžืฉ. ื›ืืฉืจ ื”ืชื•ื›ื ื™ืช ื”ื–ื• ื”ื•ืฆื’ื” ืœืื—ื“ ื”ืœืงื•ื—ื•ืช ืฉืœื™, ื”ื•ื ืชื™ืืจ ืื•ืชื” ื‘ืงืฆืจื” ื›"ื˜ื•ื‘, ืขื›ืฉื™ื• ื–ื” ื‘ื“ื™ื•ืง ื›ืžื• ื‘ื‘ื ืง!".

ื”ืฉื™ื˜ื” ืื™ื ื” ืžืฉืชืžืฉืช ื‘ืฉื™ืจื•ืชื™ ืื™ืžื•ืช ื—ื™ืฆื•ื ื™ื™ื. ื”ืžืฉื™ืžื•ืช ืžื‘ื•ืฆืขื•ืช ื‘ืื•ืคืŸ ืคื ื™ืžื™ ืขืœ ื™ื“ื™ ื”ื ืชื‘ ืขืฆืžื•. ืœืœื ืขืœื•ืช ืขื‘ื•ืจ ื”ืœืงื•ื— ื”ืžื—ื‘ืจ. ื”ืฉื™ื˜ื” ืคื•ืขืœืช ื”ืŸ ืขื‘ื•ืจ ืœืงื•ื—ื•ืช PC ื•ื”ืŸ ืขื‘ื•ืจ ืžื›ืฉื™ืจื™ื ื ื™ื™ื“ื™ื.

ืชื›ื ื™ืช ื”ื”ื’ื ื” ื”ื›ืœืœื™ืช ื”ื™ื ื›ื“ืœืงืžืŸ:

  1. ื›ืชื•ื‘ืช ื”-IP ื”ืคื ื™ืžื™ืช ืฉืœ ืžืฉืชืžืฉ ืฉื”ืชื—ื‘ืจ ื‘ื”ืฆืœื—ื” ืœืฉืจืช ื”-VPN ืžื•ืคื™ืขื” ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ ื‘ืจืฉื™ืžื” ืืคื•ืจื”.
  2. ืื™ืจื•ืข ื”ื—ื™ื‘ื•ืจ ื™ื•ืฆืจ ืื•ื˜ื•ืžื˜ื™ืช ืงื•ื“ ื—ื“ ืคืขืžื™ ืฉื ืฉืœื— ืœืžืฉืชืžืฉ ื‘ืื—ืช ืžื”ืฉื™ื˜ื•ืช ื”ื–ืžื™ื ื•ืช.
  3. ืœื›ืชื•ื‘ื•ืช ื‘ืจืฉื™ืžื” ื–ื• ื™ืฉ ื’ื™ืฉื” ืžื•ื’ื‘ืœืช ืœืžืฉืื‘ื™ ืจืฉืช ืžืงื•ืžื™ืช, ืœืžืขื˜ ืฉื™ืจื•ืช "ืžืืžืช", ืฉืžื—ื›ื” ืœืงื‘ืœ ืงื•ื“ ืกื™ืกืžื” ื—ื“ ืคืขืžื™.
  4. ืœืื—ืจ ื”ืฆื’ืช ื”ืงื•ื“, ืœืžืฉืชืžืฉ ื™ืฉ ื’ื™ืฉื” ืœืžืฉืื‘ื™ื ื”ืคื ื™ืžื™ื™ื ืฉืœ ื”ืจืฉืช.

ะŸะตั€ะฒะฐั ื”ื‘ืขื™ื” ื”ืงื˜ื ื” ื‘ื™ื•ืชืจ ืฉื ืืœืฆืชื™ ืœื”ืชืžื•ื“ื“ ืื™ืชื” ื”ื™ื™ืชื” ืื—ืกื•ืŸ ืคืจื˜ื™ ื”ืงืฉืจ ืขืœ ื”ืžืฉืชืžืฉ ื›ื“ื™ ืœืฉืœื•ื— ืœื• ืืช ืงื•ื“ ื”-2FA. ืžื›ื™ื•ื•ืŸ ืฉืื™ ืืคืฉืจ ืœื™ืฆื•ืจ ืฉื“ื•ืช ื ืชื•ื ื™ื ืฉืจื™ืจื•ืชื™ื™ื ื”ืชื•ืืžื™ื ืœืžืฉืชืžืฉื™ื ื‘-Mikrotik, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืฉื“ื” "ื”ืขืจื”" ื”ืงื™ื™ื:

/ppp ืกื•ื“ื•ืช ื”ื•ืกืฃ ืฉื=ืกื™ืกืžืช ืคื˜ืจื•ื‘=4M@ngr! comment="89876543210"

ื‘ ื”ื‘ืขื™ื” ื”ืชื‘ืจืจื” ื›ื—ืžื•ืจื” ื™ื•ืชืจ - ื‘ื—ื™ืจืช ื”ื ืชื™ื‘ ื•ื”ืฉื™ื˜ื” ืœื”ืขื‘ืจืช ื”ืงื•ื“. ืฉืœื•ืฉ ืชื•ื›ื ื™ื•ืช ืžื™ื•ืฉืžื•ืช ื›ื™ื•ื: ื) SMS ื‘ืืžืฆืขื•ืช ืžื•ื“ื USB ื‘) ื“ื•ืืจ ืืœืงื˜ืจื•ื ื™ ื’) SMS ื‘ืืžืฆืขื•ืช ื“ื•ืืจ ืืœืงื˜ืจื•ื ื™ ื–ืžื™ืŸ ืขื‘ื•ืจ ืœืงื•ื—ื•ืช ืืจื’ื•ื ื™ื™ื ืฉืœ ืžืคืขื™ืœ ื”ืกืœื•ืœืจ ื”ืื“ื•ื.

ื›ืŸ, ืชื•ื›ื ื™ื•ืช SMS ืžื‘ื™ืื•ืช ืขืœื•ื™ื•ืช. ืื‘ืœ ืื ืืชื” ืžืกืชื›ืœ, "ื‘ื™ื˜ื—ื•ืŸ ื”ื•ื ืชืžื™ื“ ืขืœ ื›ืกืฃ" (ื’).
ืื ื™ ืื™ืฉื™ืช ืœื ืื•ื”ื‘ ืืช ื”ืชื•ื›ื ื™ืช ืขื ื“ื•ืืจ ืืœืงื˜ืจื•ื ื™. ืœื ื‘ื’ืœืœ ืฉื–ื” ืžื—ื™ื™ื‘ ืืช ืฉืจืช ื”ื“ื•ืืจ ืœื”ื™ื•ืช ื–ืžื™ืŸ ืขื‘ื•ืจ ื”ืœืงื•ื— ื”ืžืื•ืžืช - ืื™ืŸ ื‘ืขื™ื” ืœืคืฆืœ ืืช ื”ืชืขื‘ื•ืจื”. ืขื ื–ืืช, ืื ืœืงื•ื— ืฉืžืจ ื‘ืจืฉืœื ื•ืช ื’ื ืกื™ืกืžืื•ืช vpn ื•ื’ื ื“ื•ื"ืœ ื‘ื“ืคื“ืคืŸ ื•ืื– ืื™ื‘ื“ ืืช ื”ืžื—ืฉื‘ ื”ื ื™ื™ื“ ืฉืœื•, ื”ืชื•ืงืฃ ื™ืงื‘ืœ ืžืžื ื• ื’ื™ืฉื” ืžืœืื” ืœืจืฉืช ื”ืืจื’ื•ื ื™ืช.

ืื–, ื”ื•ื—ืœื˜ - ืื ื• ืžืกืคืงื™ื ืงื•ื“ ื—ื“ ืคืขืžื™ ื‘ืืžืฆืขื•ืช ื”ื•ื“ืขื•ืช SMS.

ะขั€ะตั‚ัŒั ื”ื‘ืขื™ื” ื”ื™ื™ืชื” ืื™ืคื” ื›ื™ืฆื“ ืœื™ืฆื•ืจ ืงื•ื“ ืคืกืื•ื“ื• ืืงืจืื™ ืขื‘ื•ืจ 2FA ื‘-MikroTik. ืื™ืŸ ืื ืœื•ื’ื™ ืœืคื•ื ืงืฆื™ื” random() ื‘ืฉืคืช ื”ืกืงืจื™ืคื˜ื™ื ืฉืœ RouterOS, ื•ืจืื™ืชื™ ื›ืžื” ืžื—ื•ืœืœื™ ืžืกืคืจื™ื ืคืกืื•ื“ื•-ืืงืจืื™ื™ื ืฉืœ ืงื‘ื™ื™ื ื‘ืขื‘ืจ. ืœื ืื”ื‘ืชื™ ืืฃ ืื—ื“ ืžื”ื ืžืกื™ื‘ื•ืช ืฉื•ื ื•ืช.

ืœืžืขืฉื”, ื™ืฉ ืžื—ื•ืœืœ ืจืฆืคื™ื ืคืกืื•ื“ื• ืืงืจืื™ ื‘-MikroTik! ื”ื•ื ืžื•ืกืชืจ ืžืžื‘ื˜ ืฉื˜ื—ื™ ื‘ื”ืงืฉืจ ืฉืœ /certificates scep-server. ื”ืฉื™ื˜ื” ื”ืจืืฉื•ื ื” ืงื‘ืœืช ืกื™ืกืžื” ื—ื“ ืคืขืžื™ืช ื”ื™ื ืงืœื” ื•ืคืฉื•ื˜ื” - ืขื ื”ืคืงื•ื“ื” /certificates scep-server otp ืœื™ืฆื•ืจ. ืื ื ื‘ืฆืข ืคืขื•ืœืช ื”ืงืฆืืช ืžืฉืชื ื” ืคืฉื•ื˜ื”, ื ืงื‘ืœ ืขืจืš ืžืขืจืš ืฉื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ืžืื•ื—ืจ ื™ื•ืชืจ ื‘ืกืงืจื™ืคื˜ื™ื.

ืฉื™ื˜ื” ืฉื ื™ื™ื” ืงื‘ืœืช ืกื™ืกืžื” ื—ื“ ืคืขืžื™ืช ืฉื’ื ื”ื™ื ืงืœื” ืœื™ื™ืฉื•ื - ื‘ืืžืฆืขื•ืช ืฉื™ืจื•ืช ื—ื™ืฆื•ื ื™ random.org ื›ื“ื™ ืœื™ืฆื•ืจ ืืช ื”ืกื•ื’ ื”ืจืฆื•ื™ ืฉืœ ืจืฆืฃ ืฉืœ ืžืกืคืจื™ื ืคืกืื•ื“ื• ืืงืจืื™ื™ื. ื”ื ื” ืคืฉื˜ื•ืช ืฉืœื•ื—ื” ื“ื•ื’ืžื” ืœื”ื›ื ืกืช ื ืชื•ื ื™ื ืœืžืฉืชื ื”:

ืงื•ื“
: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

ื‘ืงืฉื” ื”ืžืขื•ืฆื‘ืช ืขื‘ื•ืจ ื”ืžืกื•ืฃ (ืชื•ื•ื™ื ืžื™ื•ื—ื“ื™ื ื™ื™ื“ืจืฉื• ื‘ื’ื•ืฃ ื”ืกืงืจื™ืคื˜) ืžืงื‘ืœืช ืžื—ืจื•ื–ืช ืฉืœ ืฉืฉ ืกืคืจื•ืช ืœืžืฉืชื ื” $rnd1. ื”ืคืงื•ื“ื” ื”ื‘ืื” "put" ืคืฉื•ื˜ ืžืฆื™ื’ื” ืืช ื”ืžืฉืชื ื” ื‘ืงื•ื ืกื•ืœืช MikroTik.

ื”ื‘ืขื™ื” ื”ืจื‘ื™ืขื™ืช ืฉื”ื™ื” ืฆืจื™ืš ืœืคืชื•ืจ ื‘ืžื”ื™ืจื•ืช - ื›ืš ื•ืื™ืคื” ื”ืœืงื•ื— ื”ืžื—ื•ื‘ืจ ื™ืขื‘ื™ืจ ืืช ื”ืงื•ื“ ื”ื—ื“-ืคืขืžื™ ืฉืœื• ื‘ืฉืœื‘ ื”ืฉื ื™ ืฉืœ ื”ืื™ืžื•ืช.

ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ืฉืœ ืžืฉืชืžืฉื™ VPN ื‘ืืžืฆืขื•ืช MikroTik ื•-SMS

ื—ื™ื™ื‘ ืœื”ื™ื•ืช ืฉื™ืจื•ืช ื‘ื ืชื‘ MikroTik ืฉื™ื›ื•ืœ ืœืงื‘ืœ ืืช ื”ืงื•ื“ ื•ืœื”ืชืื™ื ืื•ืชื• ืœืœืงื•ื— ืกืคืฆื™ืคื™. ืื ื”ืงื•ื“ ืฉืกื•ืคืง ืชื•ืื ืืช ื”ืงื•ื“ ื”ืฆืคื•ื™, ื™ืฉ ืœื›ืœื•ืœ ืืช ื›ืชื•ื‘ืช ื”ืœืงื•ื— ื‘ืจืฉื™ืžื” "ืœื‘ื ื”" ืžืกื•ื™ืžืช, ืฉืžืžื ื” ืžื•ืชืจืช ื’ื™ืฉื” ืœืจืฉืช ื”ืคื ื™ืžื™ืช ืฉืœ ื”ื—ื‘ืจื”.

ื‘ืฉืœ ื”ื‘ื—ื™ืจื” ื”ื“ืœื” ืฉืœ ื”ืฉื™ืจื•ืชื™ื, ื”ื•ื—ืœื˜ ืœืงื‘ืœ ืงื•ื“ื™ื ื“ืจืš http ื‘ืืžืฆืขื•ืช ื”-webproxy ื”ืžื•ื‘ื ื” ื‘-Mikrotik. ื•ืžื›ื™ื•ื•ืŸ ืฉื—ื•ืžืช ื”ืืฉ ื™ื›ื•ืœื” ืœืขื‘ื•ื“ ืขื ืจืฉื™ืžื•ืช ื“ื™ื ืžื™ื•ืช ืฉืœ ื›ืชื•ื‘ื•ืช IP, ื—ื•ืžืช ื”ืืฉ ื”ื™ื ื–ื• ืฉืžื‘ืฆืขืช ืืช ื”ื—ื™ืคื•ืฉ ืื—ืจ ื”ืงื•ื“, ืžืชืื™ืžื” ืื•ืชื• ืœ-IP ืฉืœ ื”ืœืงื•ื— ื•ืžื•ืกื™ืคื” ืื•ืชื• ืœืจืฉื™ืžื” ื”"ืœื‘ื ื”" ื‘ืืžืฆืขื•ืช Layer7 regexp. ืœื ืชื‘ ืขืฆืžื• ื”ื•ืงืฆื” ืฉื DNS ืžื•ืชื ื” "gw.local", ื ื•ืฆืจื” ืขืœื™ื• ืจืฉื•ืžืช A ืกื˜ื˜ื™ืช ืœื”ื ืคืงื” ืœืœืงื•ื—ื•ืช PPP:

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

ืœื›ื™ื“ืช ืชื ื•ืขื” ืฉืœ ืœืงื•ื—ื•ืช ืœื ืžืื•ืžืชื™ื ื‘ืคืจื•ืงืกื™:
/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

ื‘ืžืงืจื” ื–ื”, ืœ-proxy ื™ืฉ ืฉืชื™ ืคื•ื ืงืฆื™ื•ืช.

1. ืคืชื— ื—ื™ื‘ื•ืจื™ tcp ืขื ืœืงื•ื—ื•ืช;

2. ื‘ืžืงืจื” ืฉืœ ื”ืจืฉืื” ืžื•ืฆืœื—ืช, ื”ืคื ื” ืžื—ื“ืฉ ืืช ื“ืคื“ืคืŸ ื”ืœืงื•ื— ืœื“ืฃ ืื• ืชืžื•ื ื” ื”ืžื•ื“ื™ืขื™ื ืขืœ ืื™ืžื•ืช ืžื•ืฆืœื—:

ืชืฆื•ืจืช ืคืจื•ืงืกื™
/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

ืืคืจื˜ ืืช ืจื›ื™ื‘ื™ ื”ืชืฆื•ืจื” ื”ื—ืฉื•ื‘ื™ื:

  1. interface-list "2fa" - ืจืฉื™ืžื” ื“ื™ื ืžื™ืช ืฉืœ ืžืžืฉืงื™ ืœืงื•ื—, ืฉืชืขื‘ื•ืจื” ืžืžื ื” ื“ื•ืจืฉืช ืขื™ื‘ื•ื“ ื‘ืชื•ืš 2FA;
  2. ืจืฉื™ืžืช ื›ืชื•ื‘ื•ืช "2fa_jailed" - ืจืฉื™ืžื” "ืืคื•ืจื”" ืฉืœ ื›ืชื•ื‘ื•ืช IP ื‘ืžื ื”ืจื” ืฉืœ ืœืงื•ื—ื•ืช VPN;
  3. address_list "2fa_approved" - ืจืฉื™ืžื” "ืœื‘ื ื”" ืฉืœ ื›ืชื•ื‘ื•ืช IP ื‘ืžื ื”ืจื” ืฉืœ ืœืงื•ื—ื•ืช VPN ืฉืขื‘ืจื• ื‘ื”ืฆืœื—ื” ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™.
  4. ืฉืจืฉืจืช ื—ื•ืžืช ื”ืืฉ "input_2fa" - ื”ื™ื ื‘ื•ื“ืงืช ืืช ืงื™ื•ืžื• ืฉืœ ืงื•ื“ ื”ืจืฉืื” ืฉืœ ืžื ื•ืช tcp ื•ืžืชืื™ืžื” ืืช ื›ืชื•ื‘ืช ื”-IP ืฉืœ ืฉื•ืœื— ื”ืงื•ื“ ืœื›ืชื•ื‘ืช ื”ื ื“ืจืฉืช. ื›ืœืœื™ื ื‘ืฉืจืฉืจืช ืžืชื•ื•ืกืคื™ื ื•ืžื•ืกืจื™ื ื‘ืื•ืคืŸ ื“ื™ื ืžื™.

ืชืจืฉื™ื ื–ืจื™ืžื” ืคืฉื•ื˜ ืฉืœ ืขื™ื‘ื•ื“ ืžื ื•ืช ื ืจืื” ื›ืš:

ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ืฉืœ ืžืฉืชืžืฉื™ VPN ื‘ืืžืฆืขื•ืช MikroTik ื•-SMS

ื›ื“ื™ ืœื”ื™ื›ื ืก ืœื‘ื“ื™ืงืช Layer7 ืฉืœ ืชืขื‘ื•ืจื” ืžืœืงื•ื—ื•ืช ืžื”ืจืฉื™ืžื” ื”"ืืคื•ืจื”" ืฉืขื“ื™ื™ืŸ ืœื ืขื‘ืจื• ืืช ื”ืฉืœื‘ ื”ืฉื ื™ ืฉืœ ื”ืื™ืžื•ืช, ื ื•ืฆืจ ื›ืœืœ ื‘ืฉืจืฉืจืช ื”"ืงืœื˜" ื”ืจื’ื™ืœื”:

ืงื•ื“
/ip firewall filter add chain=input !src-address-list=2fa_approved action=jump jump-target=input_2fa

ืขื›ืฉื™ื• ื‘ื•ืื• ื ืชื—ื™ืœ ืœื”ืฆืžื™ื“ ืืช ื›ืœ ื”ืขื•ืฉืจ ื”ื–ื” ืœืฉื™ืจื•ืช PPP. MikroTik ืžืืคืฉืจืช ืœืš ืœื”ืฉืชืžืฉ ื‘ืกืงืจื™ืคื˜ื™ื ื‘ืคืจื•ืคื™ืœื™ื (ppp-profile) ื•ืœื”ืงืฆื•ืช ืื•ืชื ืœืื™ืจื•ืขื™ื ืฉืœ ื”ืงืžืช ื•ื ื™ืชื•ืง ื—ื™ื‘ื•ืจ ppp. ื ื™ืชืŸ ืœื”ื—ื™ืœ ืืช ื”ื’ื“ืจื•ืช ืคืจื•ืคื™ืœ ppp ื”ืŸ ืขืœ ืฉืจืช ื”-PPP ื‘ื›ืœืœื•ืชื• ื•ื”ืŸ ืขืœ ืžืฉืชืžืฉื™ื ื‘ื•ื“ื“ื™ื. ื™ื—ื“ ืขื ื–ืืช, ืœืคืจื•ืคื™ืœ ื”ืžื•ืงืฆื” ืœืžืฉืชืžืฉ ื™ืฉ ืขื“ื™ืคื•ืช, ื”ืขื•ืงืฃ ืืช ื”ืคืจืžื˜ืจื™ื ืฉืœ ื”ืคืจื•ืคื™ืœ ืฉื ื‘ื—ืจ ืขื‘ื•ืจ ื”ืฉืจืช ื‘ื›ืœืœื•ืชื• ืขื ื”ืคืจืžื˜ืจื™ื ืฉืฆื•ื™ื ื•.

ื›ืชื•ืฆืื” ืžื’ื™ืฉื” ื–ื•, ื ื•ื›ืœ ืœื™ืฆื•ืจ ืคืจื•ืคื™ืœ ืžื™ื•ื—ื“ ืœืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ื•ืœื”ืงืฆื•ืชื• ืœื ืœื›ืœ ื”ืžืฉืชืžืฉื™ื, ืืœื ืจืง ืœืžื™ ืฉื—ื•ืฉื‘ ืฉื™ืฉ ืฆื•ืจืš ืœืขืฉื•ืช ื–ืืช. ื–ื” ืขืฉื•ื™ ืœื”ื™ื•ืช ืจืœื•ื•ื ื˜ื™ ืื ืืชื” ืžืฉืชืžืฉ ื‘ืฉื™ืจื•ืชื™ PPP ืœื ืจืง ื›ื“ื™ ืœื—ื‘ืจ ืžืฉืชืžืฉื™ ืงืฆื”, ืืœื ื‘ืื•ืชื• ื”ื–ืžืŸ ื›ื“ื™ ืœื‘ื ื•ืช ื—ื™ื‘ื•ืจื™ื ืžืืชืจ ืœืืชืจ.

ื‘ืคืจื•ืคื™ืœ ื”ืžื™ื•ื—ื“ ื”ื—ื“ืฉ ืฉื ื•ืฆืจ, ืื ื• ืžืฉืชืžืฉื™ื ื‘ืชื•ืกืคืช ื”ื“ื™ื ืžื™ืช ืฉืœ ื”ื›ืชื•ื‘ืช ื•ื”ืžืžืฉืง ืฉืœ ื”ืžืฉืชืžืฉ ื”ืžื—ื•ื‘ืจ ืœืจืฉื™ืžื•ืช ื”"ืืคื•ืจื•ืช" ืฉืœ ื”ื›ืชื•ื‘ื•ืช ื•ื”ืžืžืฉืงื™ื:

winbox
ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ืฉืœ ืžืฉืชืžืฉื™ VPN ื‘ืืžืฆืขื•ืช MikroTik ื•-SMS

ืงื•ื“
/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

ื™ืฉ ืฆื•ืจืš ืœื”ืฉืชืžืฉ ื‘ืจืฉื™ืžื•ืช "ืจืฉื™ืžืช ื›ืชื•ื‘ื•ืช" ื•"ืจืฉื™ืžืช ืžืžืฉืง" ื›ื“ื™ ืœื–ื”ื•ืช ื•ืœืœื›ื•ื“ ืชืขื‘ื•ืจื” ืžืœืงื•ื—ื•ืช VPN ืฉืื™ื ื ืžืฉื ื™ื™ื ื‘ืฉืจืฉืจืช dstnat (prerouting).

ื‘ืกื™ื•ื ื”ื”ื›ื ื”, ื ื•ืฆืจื•ืช ืฉืจืฉืจื•ืช ื ื•ืกืคื•ืช ืฉืœ ื—ื•ืžืช ืืฉ ื•ืคืจื•ืคื™ืœ, ื ื›ืชื•ื‘ ืกืงืจื™ืคื˜ ืฉืื—ืจืื™ ืขืœ ื™ืฆื™ืจื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ืงื•ื“ ื”-2FA ื•ื›ืœืœื™ ื—ื•ืžืช ืืฉ ื‘ื•ื“ื“ื™ื.

ืชื™ืขื•ื“ wiki.mikrotik.com on PPP-Profile ืžืขืฉื™ืจ ืื•ืชื ื• ื‘ืžื™ื“ืข ืขืœ ืžืฉืชื ื™ื ื”ืงืฉื•ืจื™ื ืœืื™ืจื•ืขื™ ื—ื™ื‘ื•ืจ-ื ื™ืชื•ืง ืฉืœ ืœืงื•ื— PPP "ื”ืคืขืœ ืกืงืจื™ืคื˜ ื‘ืื™ืจื•ืข ื”ืชื—ื‘ืจื•ืช ืฉืœ ื”ืžืฉืชืžืฉ. ืืœื• ื”ื ืžืฉืชื ื™ื ื–ืžื™ื ื™ื ื”ื ื’ื™ืฉื™ื ืขื‘ื•ืจ ืกืงืจื™ืคื˜ ื”ืื™ืจื•ืข: ืžืฉืชืžืฉ, ื›ืชื•ื‘ืช ืžืงื•ืžื™ืช, ื›ืชื•ื‘ืช ืžืจื—ื•ืง, ืžื–ื”ื” ืžืชืงืฉืจ, ืžื–ื”ื” ื˜ืœืคื•ืŸ, ืžืžืฉืง". ื—ืœืงื ืžืื•ื“ ืฉื™ืžื•ืฉื™ื™ื ืขื‘ื•ืจื ื•.

ืงื•ื“ ื‘ืฉื™ืžื•ืฉ ื‘ืคืจื•ืคื™ืœ ืขื‘ื•ืจ ืื™ืจื•ืข ื—ื™ื‘ื•ืจ PPP on-up

#ะ›ะพะณะธั€ัƒะตะผ ะดะปั ะพั‚ะปะฐะดะบะธ ะฟะพะปัƒั‡ะตะฝะฝั‹ะต ะฟะตั€ะตะผะตะฝะฝั‹ะต 
: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

ื‘ืžื™ื•ื—ื“ ืœืžื™ ืฉืื•ื”ื‘ ืœืขืฉื•ืช ื”ืขืชืง-ื”ื“ื‘ืง ืœืœื ืฉื›ืœ, ืื ื™ ืžื–ื”ื™ืจ ืื•ืชืš - ื”ืงื•ื“ ื ืœืงื— ืžื’ืจืกืช ื”ื‘ื“ื™ืงื” ื•ืขืœื•ืœ ืœื”ื›ื™ืœ ืฉื’ื™ืื•ืช ื”ืงืœื“ื” ืงืœื•ืช. ืœืื“ื ืžื‘ื™ืŸ ืœื ื™ื”ื™ื” ืงืฉื” ืœื”ื‘ื™ืŸ ื”ื™ื›ืŸ ื‘ื“ื™ื•ืง.

ื›ืืฉืจ ืžืฉืชืžืฉ ืžืชื ืชืง, ื ื•ืฆืจ ืื™ืจื•ืข "On-Down" ื•ื”ืกืงืจื™ืคื˜ ื”ืžืชืื™ื ืขื ื”ืคืจืžื˜ืจื™ื ื ืงืจื. ืžื˜ืจืช ื”ืกืงืจื™ืคื˜ ื”ื–ื” ื”ื™ื ืœื ืงื•ืช ืืช ื›ืœืœื™ ื—ื•ืžืช ื”ืืฉ ืฉื ื•ืฆืจื• ืขื‘ื•ืจ ื”ืžืฉืชืžืฉ ื”ืžื ื•ืชืง.

ืงื•ื“ ื”ืžืฉืžืฉ ื‘ืคืจื•ืคื™ืœ ืขื‘ื•ืจ ืื™ืจื•ืข ื—ื™ื‘ื•ืจ PPP on-down

: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]
ืœืื—ืจ ืžื›ืŸ ืชื•ื›ืœ ืœื™ืฆื•ืจ ืžืฉืชืžืฉื™ื ื•ืœื”ืงืฆื•ืช ืืช ื›ื•ืœื ืื• ื—ืœืงื ืœืคืจื•ืคื™ืœ ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™.

winbox
ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ืฉืœ ืžืฉืชืžืฉื™ VPN ื‘ืืžืฆืขื•ืช MikroTik ื•-SMS

ืงื•ื“
/ppp secrets set [find name=Petrov] profile=2FA

ืื™ืš ื–ื” ื ืจืื” ื‘ืฆื“ ื”ืœืงื•ื—.

ื›ืืฉืจ ื ื•ืฆืจ ื—ื™ื‘ื•ืจ VPN, ื˜ืœืคื•ืŸ/ื˜ืื‘ืœื˜ ืื ื“ืจื•ืื™ื“/iOS ืขื ื›ืจื˜ื™ืก SIM ืžืงื‘ืœ ื”ื•ื“ืขืช SMS ื‘ืฆื•ืจื” ื”ื‘ืื”:

ืกืžืก
ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ืฉืœ ืžืฉืชืžืฉื™ VPN ื‘ืืžืฆืขื•ืช MikroTik ื•-SMS

ืื ื”ื—ื™ื‘ื•ืจ ื ื•ืฆืจ ื™ืฉื™ืจื•ืช ืžื”ื˜ืœืคื•ืŸ / ื”ื˜ืื‘ืœื˜, ืื– ืืชื” ื™ื›ื•ืœ ืœืขื‘ื•ืจ ื“ืจืš 2FA ืคืฉื•ื˜ ืขืœ ื™ื“ื™ ืœื—ื™ืฆื” ืขืœ ื”ืงื™ืฉื•ืจ ืžื”ื”ื•ื“ืขื”. ื–ื” ื ื•ื—.

ืื ื—ื™ื‘ื•ืจ ื”-VPN ื ื•ืฆืจ ืžืžื—ืฉื‘, ื”ืžืฉืชืžืฉ ื™ื™ื“ืจืฉ ืœื”ื–ื™ืŸ ื˜ื•ืคืก ืกื™ืกืžื” ืžื™ื ื™ืžืœื™ืช. ื˜ื•ืคืก ืงื˜ืŸ ื‘ืฆื•ืจืช ืงื•ื‘ืฅ HTML ื ื™ืชืŸ ืœืžืฉืชืžืฉ ื‘ืขืช ื”ื’ื“ืจืช ื”-VPN. ื ื™ืชืŸ ืืคื™ืœื• ืœืฉืœื•ื— ืืช ื”ืงื•ื‘ืฅ ื‘ื“ื•ืืจ ื›ืš ืฉื”ืžืฉืชืžืฉ ืฉื•ืžืจ ืื•ืชื• ื•ื™ื•ืฆืจ ืงื™ืฆื•ืจ ื“ืจืš ื‘ืžืงื•ื ื ื•ื—. ื–ื” ื ืจืื” ื›ืžื• ื–ื”:

ืชื•ื•ื™ืช ืขืœ ื”ืฉื•ืœื—ืŸ
ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ืฉืœ ืžืฉืชืžืฉื™ VPN ื‘ืืžืฆืขื•ืช MikroTik ื•-SMS

ื”ืžืฉืชืžืฉ ืœื•ื—ืฅ ืขืœ ืงื™ืฆื•ืจ ื”ื“ืจืš, ื ืคืชื— ื˜ื•ืคืก ื”ื–ื ืช ืงื•ื“ ืคืฉื•ื˜ ืืฉืจ ื™ื“ื‘ื™ืง ืืช ื”ืงื•ื“ ื‘ื›ืชื•ื‘ืช ื”-URL ืฉื ืคืชื—ื”:

ื˜ื•ืคืก ืžืกืš
ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ืฉืœ ืžืฉืชืžืฉื™ VPN ื‘ืืžืฆืขื•ืช MikroTik ื•-SMS

ื”ืฆื•ืจื” ื”ืคืจื™ืžื™ื˜ื™ื‘ื™ืช ื‘ื™ื•ืชืจ ื ื™ืชื ืช ื›ื“ื•ื’ืžื”. ืžื™ ืฉืจื•ืฆื” ื™ื›ื•ืœ ืœืฉื ื•ืช ื‘ืขืฆืžื•.

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>

ืื ื”ื”ืจืฉืื” ื”ืฆืœื™ื—ื”, ื”ืžืฉืชืžืฉ ื™ืจืื” ืืช ื”ืœื•ื’ื• ืฉืœ MikroTik ื‘ื“ืคื“ืคืŸ, ืฉืืžื•ืจ ืœืื•ืชืช ืขืœ ืื™ืžื•ืช ืžื•ืฆืœื—:

ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ืฉืœ ืžืฉืชืžืฉื™ VPN ื‘ืืžืฆืขื•ืช MikroTik ื•-SMS

ืฉื™ืžื• ืœื‘ ืฉื”ืชืžื•ื ื” ืžื•ื—ื–ืจืช ืžืฉืจืช ื”ืื™ื ื˜ืจื ื˜ ื”ืžื•ื‘ื ื” ืฉืœ MikroTik ื‘ืืžืฆืขื•ืช WebProxy Deny Redirect.

ืื ื™ ืžื ื™ื— ืฉื ื™ืชืŸ ืœื”ืชืื™ื ืื™ืฉื™ืช ืืช ื”ืชืžื•ื ื” ื‘ืืžืฆืขื•ืช ื”ื›ืœื™ "ื ืงื•ื“ื” ื—ืžื”", ื”ืขืœืืช ื’ืจืกื” ืžืฉืœืš ืœืฉื ื•ื”ื’ื“ืจืช ื›ืชื•ื‘ืช ื”-Dany Redirect ืืœื™ื” ื‘ืืžืฆืขื•ืช WebProxy.

ื‘ืงืฉื” ื’ื“ื•ืœื” ืœืžื™ ืฉืžื ืกื” ืœืงื ื•ืช ืืช "ื”ืฆืขืฆื•ืข" ื”ื–ื•ืœ ื‘ื™ื•ืชืจ ืฉืœ ืžื™ืงืจื•ื˜ื™ืง ื‘-20$ ื•ืœื”ื—ืœื™ืฃ ื‘ื• ื ืชื‘ ืฉืœ 500$ - ืืœ ืชืขืฉื• ืืช ื–ื”. ืœืžื›ืฉื™ืจื™ื ื›ืžื• "hAP Lite" / "hAP mini" (ื ืงื•ื“ืช ื’ื™ืฉื” ื‘ื™ืชื™ืช) ื™ืฉ ืžืขื‘ื“ (smips) ื—ืœืฉ ืžืื•ื“, ื•ืกื‘ื™ืจ ืœื”ื ื™ื— ืฉื”ื ืœื ื™ืชืžื•ื“ื“ื• ืขื ื”ืขื•ืžืก ื‘ืคืœื— ื”ืขืกืงื™.

ืื–ื”ืจื”! ืœืคืชืจื•ืŸ ื”ื–ื” ื™ืฉ ื—ื™ืกืจื•ืŸ ืื—ื“: ื›ืืฉืจ ืœืงื•ื—ื•ืช ืžืชื—ื‘ืจื™ื ืื• ืžืชื ืชืงื™ื, ืžืชืจื—ืฉื™ื ืฉื™ื ื•ื™ื™ื ื‘ืชืฆื•ืจื”, ืื•ืชื ืžื ืกื” ื”ื ืชื‘ ืœืฉืžื•ืจ ื‘ื–ื™ื›ืจื•ืŸ ื”ืœื ื ื“ื™ืฃ ืฉืœื•. ืขื ืžืกืคืจ ืจื‘ ืฉืœ ืœืงื•ื—ื•ืช ื•ื—ื™ื‘ื•ืจื™ื ื•ื ื™ืชื•ืงื™ื ืชื›ื•ืคื™ื, ื”ื“ื‘ืจ ืขืœื•ืœ ืœื”ื•ื‘ื™ืœ ืœืคื’ื™ืขื” ื‘ืื—ืกื•ืŸ ื”ืคื ื™ืžื™ ื‘ื ืชื‘.

ื .ื‘: ื ื™ืชืŸ ืœื”ืจื—ื™ื‘ ื•ืœื”ืฉืœื™ื ืฉื™ื˜ื•ืช ืœื”ืขื‘ืจืช ืงื•ื“ ืœืœืงื•ื— ื›ื›ืœ ืฉื™ื›ื•ืœื•ืช ื”ืชื›ื ื•ืช ืฉืœืš ืžืกืคื™ืงื•ืช. ืœื“ื•ื’ืžื”, ืืชื” ื™ื›ื•ืœ ืœืฉืœื•ื— ื”ื•ื“ืขื•ืช ืœื˜ืœื’ืจื ืื• ... ืœื”ืฆื™ืข ืืคืฉืจื•ื™ื•ืช!

ืื ื™ ืžืงื•ื•ื” ืฉื”ืžืืžืจ ื™ื”ื™ื” ืฉื™ืžื•ืฉื™ ืขื‘ื•ืจื›ื ื•ื™ืขื–ื•ืจ ืœื”ืคื•ืš ืืช ื”ืจืฉืชื•ืช ืฉืœ ืขืกืงื™ื ืงื˜ื ื™ื ื•ื‘ื™ื ื•ื ื™ื™ื ืœืงืฆืช ื™ื•ืชืจ ื‘ื˜ื•ื—ื™ื.

ืžืงื•ืจ: www.habr.com