آموزش میکروتیک MTCNA؛ شب ۲۶: SSTP Client، Certificate و مسیر امن
فهرست نوشته
تونل رمزنگاریشده بدون تأیید هویت Server میتواند به دستگاه اشتباه وصل شود. امشب SSTP Client را با بررسی Certificate و نام مقصد تنظیم میکنیم.
این نوشته بخشی از دورهٔ MTCNA در ۳۰ شب است. مبنای مثالها RouterOS 7 و آزمایشگاه ایزولهٔ دوره است؛ پیش از تغییر، Snapshot و دسترسی Console داشته باشید.
پیشنیاز واقعی#
SSTP Server آزمایشگاهی باید از قبل آماده باشد: Certificate با کاربرد Server، کلید خصوصی روی Server، زنجیرهٔ CA معتبر، نام مقصد مطابق SAN و یک حساب PPP محدود به SSTP. راهاندازی کامل PKI موضوع مستقلی است؛ Certificate نمونهٔ ناشناس یا Private key اینترنتی وارد نکنید.
برای تمرین دوطرفه، روی Clone R1 در شبکهٔ داخلی، Server را با Certificate اختصاصی صادرشده از CA آزمایشگاه و Profile mtcna-ppp آماده کنید. TCP 443 را فقط از Outer address کلاینت مجاز کنید. روی R2 Client را میسازیم؛ حساب PPTP یا PPPoE قبلی برای این کار باز نشود.
نام sstp.lab.example در مثال، Placeholder است. DNS آزمایشگاه باید آن را به Server واقعی Resolve کند و Certificate همان نام را داشته باشد. ساعت هر دو دستگاه صحیح باشد.
آمادهسازی Server در آزمایشگاه مستقل#
اگر Server آماده ندارید، روی Clone R1 با ساعت صحیح، CA کوتاهعمر و گواهی مخصوص همین تمرین بسازید. این CA برای محیط آموزشی است؛ سیاست صدور و نگهداری PKI عملیاتی را جایگزین نمیکند.
/certificate add name=mtcna-ca-template common-name=MTCNA-LAB-CA key-size=2048 days-valid=30 key-usage=key-cert-sign,crl-sign
/certificate sign mtcna-ca-template name=mtcna-ca
/certificate add name=mtcna-server-template common-name=sstp.lab.example subject-alt-name=DNS:sstp.lab.example key-size=2048 days-valid=7 key-usage=digital-signature,key-encipherment,tls-server
/certificate sign mtcna-server-template ca=mtcna-ca name=mtcna-sstp-server
/certificate export-certificate mtcna-ca type=pem file-name=lab-ca
/certificate print detail
برای پایان هر Sign منتظر بمانید. خروجی Export بدون export-passphrase فقط lab-ca.crt است؛ کلید خصوصی CA به کلاینت منتقل نمیشود. در WinBox یک Secret تازه با نام mtcna-sstp-user، Service برابر SSTP، Profile برابر mtcna-ppp و رمز مستقل بسازید. سپس:
/ip firewall filter add chain=mtcna-input in-interface=ether4 src-address=10.10.12.2 protocol=tcp dst-port=443 action=accept place-before=[find comment="MTCNA policy input drop"] comment="MTCNA SSTP lab"
/interface sstp-server server set certificate=mtcna-sstp-server default-profile=mtcna-ppp authentication=mschap2 enabled=yes
مجوز ICMP از PPP-LAB شب بیستوچهارم باید موجود باشد. روی Clone R2، برای نام آزمایشگاهی یک رکورد محلی بسازید؛ همین نام در SAN گواهی آمده است:
/ip dns static add name=sstp.lab.example address=10.10.12.1
وارد کردن CA و ساخت Client غیرفعال#
CA عمومی آزمایشگاه را بدون کلید خصوصی از مسیر مدیریت مطمئن به Files ببرید و Fingerprint آن را مستقل مقایسه کنید.
/certificate import file-name=lab-ca.crt
/certificate print detail
/system clock print
/ip dns print
/interface sstp-client add name=mtcna-sstp connect-to=sstp.lab.example user=mtcna-sstp-user profile=default-encryption authentication=mschap2 verify-server-certificate=yes verify-server-address-from-certificate=yes add-default-route=no disabled=yes
در Certificates، Trust CA را آگاهانه تنظیم کنید؛ فقط داشتن فایل کافی نیست. در WinBox Password تازهٔ همان حساب را داخل Client وارد کنید و سپس Enable کنید. اتصالِ فاقد رمز را از قبل فعال نکردهایم.
/interface sstp-client monitor mtcna-sstp once
/ppp active print detail
/ip route print detail
/log print where topics~"sstp"
اگر نسخه فیلدهای اضافی TLS یا Cipher دارد، تنظیم مورد نیاز دو طرف را مطابق مستندات نسخه بررسی کنید؛ گزینههای امنیتی را برای حل خطای Certificate خاموش نکنید.
آزمایشگاه منفی و مثبت#
ابتدا با نام درست و CA مورد اعتماد وصل شوید و آدرس Peer را Ping کنید. سپس روی Clone، مقصد را با IPای تنظیم کنید که در SAN Certificate نیست. تأیید نام باید مانع اتصال معتبر شود. نام درست را برگردانید.
یکبار CA اشتباه یا Trust غیرفعال را آزمایش کنید و Log را با خطای نام مقایسه کنید. ساعت نادرست نیز میتواند «هنوز معتبر نیست» یا «منقضی شده» بسازد. خاموش کردن verify-server-certificate پاسخ این سه خطا نیست.
Route، فایروال و بازگشت#
Session فعال، دسترسی خودکار به LAN مرکزی یا شعبه نمیدهد. Route، Return path و مجوز محدود forward را تعریف کنید؛ Default Route اینترنت را برای آزمایش یک Prefix عوض نکنید. از Counter Interface و Route مشخص، عبور واقعی از تونل را ثابت کنید.
برای بازگشت Client را Disable، مجوز موقتی Server را حذف و Certificate آزمایشیِ بدون وابستگی را پاک کنید. خروجی قابل قبول، اتصال مثبت و دو خطای کنترلشدهٔ نام و CA است. خودآزمایی: رمز User هویت Server را ثابت میکند؟ چرا نام DNS و ساعت در TLS مهماند؟ اگر Interface Running است ولی LAN باز نمیشود، کدام لایهها هنوز ماندهاند؟
منبع#
SSTP ، Certificates .