اگر شرکت شما داده های شخصی و سایر اطلاعات محرمانه را از طریق شبکه ارسال یا دریافت می کند که طبق قانون مشمول حفاظت هستند، لازم است از رمزگذاری GOST استفاده کنید. امروز به شما خواهیم گفت که چگونه چنین رمزگذاری را بر اساس دروازه رمزنگاری S-Terra (CS) در یکی از مشتریان پیاده سازی کردیم. این داستان برای متخصصان امنیت اطلاعات و همچنین مهندسان، طراحان و معماران جالب خواهد بود. ما در این پست عمیقاً به جزئیات پیکربندی فنی نخواهیم پرداخت؛ ما روی نکات کلیدی تنظیمات اولیه تمرکز خواهیم کرد. حجم عظیمی از مستندات مربوط به راه اندازی دیمون های سیستم عامل لینوکس، که S-Terra CS بر اساس آن ها ساخته شده است، به صورت رایگان در اینترنت در دسترس است. اسناد راه اندازی نرم افزار اختصاصی S-Terra نیز به صورت عمومی در دسترس است
چند کلمه در مورد پروژه
توپولوژی شبکه مشتری استاندارد بود - شبکه کامل بین مرکز و شعب. لازم بود که کانال های تبادل اطلاعات بین تمامی سایت ها که 8 مورد از آنها بود، رمزگذاری شود.
معمولاً در چنین پروژههایی همه چیز ثابت است: مسیرهای استاتیک به شبکه محلی سایت در دروازههای رمزنگاری (CG) تنظیم میشوند، فهرستهایی از آدرسهای IP (ACL) برای رمزگذاری ثبت میشوند. با این حال، در این مورد، سایت ها کنترل متمرکز ندارند و هر اتفاقی ممکن است در داخل شبکه های محلی آنها رخ دهد: شبکه ها را می توان به هر طریق ممکن اضافه، حذف و اصلاح کرد. به منظور جلوگیری از پیکربندی مجدد مسیریابی و ACL در KS هنگام تغییر آدرسدهی شبکههای محلی در سایتها، تصمیم گرفته شد از تونلسازی GRE و مسیریابی پویا OSPF استفاده شود که شامل تمام KS و اکثر روترها در سطح هسته شبکه در سایتها میشود. در برخی از سایتها، مدیران زیرساخت ترجیح میدهند از SNAT نسبت به KS روی روترهای هسته استفاده کنند.
تونل GRE به ما اجازه داد تا دو مشکل را حل کنیم:
1. از آدرس IP رابط خارجی CS برای رمزگذاری در ACL استفاده کنید، که تمام ترافیک ارسال شده به سایت های دیگر را کپسوله می کند.
2. تونل های ptp را بین CS سازماندهی کنید، که به شما امکان می دهد مسیریابی پویا را پیکربندی کنید (در مورد ما، MPLS L3VPN ارائه دهنده بین سایت ها سازماندهی شده است).
مشتری دستور اجرای رمزگذاری را به عنوان یک سرویس داد. در غیر این صورت، او نه تنها باید دروازههای رمزنگاری را حفظ کند یا آنها را به سازمانی برون سپاری کند، بلکه باید چرخه عمر گواهیهای رمزگذاری را به طور مستقل نظارت کند، آنها را به موقع تمدید کند و گواهیهای جدید را نصب کند.
و اکنون یادداشت واقعی - چگونه و چه چیزی را پیکربندی کردیم
توجه به موضوع CII: راه اندازی یک دروازه رمزنگاری
راه اندازی اولیه شبکه
اول از همه، ما یک CS جدید راه اندازی می کنیم و وارد کنسول مدیریت می شویم. شما باید با تغییر رمز عبور داخلی - دستور شروع کنید مدیر رمز عبور کاربر را تغییر دهید. سپس باید مراحل اولیه سازی را انجام دهید (فرمان مقداردهی اولیه) که طی آن داده های مجوز وارد شده و حسگر اعداد تصادفی (RNS) مقداردهی اولیه می شود.
توجه! هنگامی که S-Terra CC مقداردهی اولیه می شود، یک سیاست امنیتی ایجاد می شود که در آن رابط های دروازه امنیتی اجازه عبور بسته ها را نمی دهند. یا باید خط مشی خود را ایجاد کنید یا از دستور استفاده کنید csconf_mgr را اجرا کنید و فعال کنید یک خط مشی مجاز از پیش تعریف شده را فعال کنید.
در مرحله بعد، باید آدرسدهی رابطهای خارجی و داخلی و همچنین مسیر پیشفرض را پیکربندی کنید. ترجیحاً با پیکربندی شبکه CS کار کنید و رمزگذاری را از طریق یک کنسول سیسکو مانند پیکربندی کنید. این کنسول برای وارد کردن دستورات مشابه دستورات سیسکو IOS طراحی شده است. پیکربندی ایجاد شده با استفاده از کنسول سیسکو مانند به نوبه خود به فایل های پیکربندی مربوطه تبدیل می شود که دیمون های سیستم عامل با آن کار می کنند. با دستور می توانید از کنسول مدیریت به کنسول سیسکو مانند بروید پیکربندی.
رمز عبور cscon های داخلی کاربر را تغییر دهید و فعال کنید:
> فعال کردن
رمز عبور: csp (از پیش نصب شده)
ترمینال #پیکربندی
#username cscons privilege 15 secret 0 #enable secret 0 راه اندازی پیکربندی اصلی شبکه:
#interface GigabitEthernet0/0
آدرس #IP 10.111.21.3 255.255.255.0
#بدون تعطیلی
#interface GigabitEthernet0/1
آدرس #IP 192.168.2.5 255.255.255.252
#بدون تعطیلی
#IP route 0.0.0.0 0.0.0.0 10.111.21.254
GRE
از کنسول سیسکو مانند خارج شده و با دستور به پوسته دبیان بروید سیستم. رمز عبور خود را برای کاربر تعیین کنید ریشه تیم passwd.
در هر اتاق کنترل، یک تونل جداگانه برای هر سایت پیکربندی شده است. رابط تونل در فایل پیکربندی شده است / etc / network / رابط ها. ابزار IP tunnel که در مجموعه از پیش نصب شده iproute2 گنجانده شده است، مسئول ایجاد خود رابط است. دستور ایجاد رابط در گزینه pre-up نوشته شده است.
پیکربندی نمونه یک رابط تونل معمولی:
سایت خودکار 1
iface site1 inet static
آدرس 192.168.1.4
ماسک خالص 255.255.255.254
تونل آی پی پیش آپ اضافه کردن حالت site1 gre local 10.111.21.3 remote 10.111.22.3 key hfLYEg^vCh6p
توجه! لازم به ذکر است که تنظیمات رابط های تونل باید خارج از بخش قرار گیرد
###netifcfg-begin###
*****
###netifcfg-end###
در غیر این صورت، هنگام تغییر تنظیمات شبکه رابط های فیزیکی از طریق یک کنسول سیسکو مانند، این تنظیمات بازنویسی می شوند.
مسیریابی پویا
در S-Terra مسیریابی پویا با استفاده از بسته نرم افزاری Quagga پیاده سازی می شود. برای پیکربندی OSPF باید دیمون ها را فعال و پیکربندی کنیم گورخر и ospfd. دیمون گورخر مسئول ارتباط بین دیمون های مسیریابی و سیستم عامل است. دیمون ospfd همانطور که از نامش پیداست وظیفه اجرای پروتکل OSPF را بر عهده دارد.
OSPF یا از طریق کنسول daemon یا مستقیماً از طریق فایل پیکربندی پیکربندی می شود /etc/quagga/ospfd.conf. تمامی رابط های فیزیکی و تونلی که در مسیریابی پویا شرکت می کنند به فایل اضافه می شوند و شبکه هایی که تبلیغ می شوند و اطلاعیه دریافت می کنند نیز اعلام می شوند.
نمونه ای از پیکربندی که باید به آن اضافه شود ospfd.conf:
رابط eth0
!
رابط eth1
!
سایت رابط 1
!
سایت رابط 2
روتر ospf
ospf router-id 192.168.2.21
شبکه 192.168.1.4/31 ناحیه 0.0.0.0
شبکه 192.168.1.16/31 ناحیه 0.0.0.0
شبکه 192.168.2.4/30 ناحیه 0.0.0.0
در این مورد، آدرسهای 192.168.1.x/31 برای شبکههای ptp تونلی بین سایتها، آدرسهای 192.168.2.x/30 برای شبکههای ترانزیت بین مسیریابهای CS و هسته اختصاص داده شدهاند.
توجه! برای کاهش جدول مسیریابی در تاسیسات بزرگ، می توانید تبلیغات خود شبکه های ترانزیت را با استفاده از ساختارها فیلتر کنید. بدون توزیع مجدد متصل است یا توزیع مجدد نقشه مسیر متصل.
پس از پیکربندی دیمون ها، باید وضعیت راه اندازی دیمون ها را در آن تغییر دهید /etc/quagga/daemons. در گزینه ها گورخر и ospfd بدون تغییر به بله دیمون quagga را راه اندازی کنید و زمانی که دستور KS را اجرا می کنید، آن را روی autorun تنظیم کنید update-rc.d quagga را فعال کنید.
اگر پیکربندی تونلهای GRE و OSPF به درستی انجام شود، مسیرها در شبکه سایر سایتها باید روی روترهای KSh و هسته ظاهر شوند و بنابراین، اتصال شبکه بین شبکههای محلی ایجاد میشود.
ما ترافیک منتقل شده را رمزگذاری می کنیم
همانطور که قبلاً نوشته شده است، معمولاً هنگام رمزگذاری بین سایتها، محدودههای آدرس IP (ACL) را مشخص میکنیم که ترافیک بین آنها رمزگذاری میشود: اگر آدرسهای مبدا و مقصد در این محدوده قرار گیرند، ترافیک بین آنها رمزگذاری میشود. با این حال، در این پروژه ساختار پویا است و آدرس ها ممکن است تغییر کنند. از آنجایی که ما قبلاً تونلسازی GRE را پیکربندی کردهایم، میتوانیم آدرسهای KS خارجی را بهعنوان آدرسهای مبدا و مقصد برای رمزگذاری ترافیک تعیین کنیم - در نهایت، ترافیکی که قبلاً توسط پروتکل GRE کپسوله شده است برای رمزگذاری میآید. به عبارت دیگر، هر چیزی که از شبکه محلی یک سایت به سمت شبکه هایی که توسط سایت های دیگر اعلام شده است وارد CS می شود، رمزگذاری می شود. و در هر یک از سایت ها می توان هر تغییر مسیری را انجام داد. بنابراین، در صورت تغییر در شبکه های محلی، مدیر فقط باید اطلاعیه هایی که از شبکه خود به سمت شبکه می آید را اصلاح کند و در دسترس سایر سایت ها قرار می گیرد.
رمزگذاری در S-Terra CS با استفاده از پروتکل IPSec انجام می شود. ما از الگوریتم "Grasshopper" مطابق با GOST R 34.12-2015 استفاده می کنیم و برای سازگاری با نسخه های قدیمی تر می توانید از GOST 28147-89 استفاده کنید. احراز هویت از نظر فنی می تواند بر روی کلیدهای از پیش تعریف شده (PSK) و گواهی ها انجام شود. با این حال، در عملیات صنعتی لازم است از گواهی های صادر شده مطابق با GOST R 34.10-2012 استفاده شود.
کار با گواهی ها، کانتینرها و CRL ها با استفاده از ابزار انجام می شود cert_mgr. اول از همه با استفاده از دستور cert_mgr ایجاد کنید لازم است یک محفظه کلید خصوصی و یک درخواست گواهی ایجاد شود که به مرکز مدیریت گواهی ارسال می شود. پس از دریافت گواهی باید به همراه گواهی ریشه CA و CRL (در صورت استفاده) با دستور وارد شود واردات cert_mgr. با دستور می توانید مطمئن شوید که تمام گواهی ها و CRL ها نصب شده اند cert_mgr نشان می دهد.
پس از نصب موفقیت آمیز گواهی ها، برای پیکربندی IPSec به کنسول سیسکو مانند بروید.
ما یک خطمشی IKE ایجاد میکنیم که الگوریتمها و پارامترهای مورد نظر کانال امن ایجاد شده را مشخص میکند، که برای تأیید به شریک ارائه میشود.
#سیاست رمزگذاری isakmp 1000
#encr gost341215k
#hash gost341112-512-tc26
#علامت احراز هویت
#گروه vko2
#طول عمر 3600
این سیاست هنگام ساخت فاز اول IPSec اعمال می شود. نتیجه موفقیت آمیز بودن مرحله اول، تأسیس SA (انجمن امنیت) است.
در مرحله بعد، ما باید لیستی از آدرس های IP مبدا و مقصد (ACL) را برای رمزگذاری تعریف کنیم، یک مجموعه تبدیل ایجاد کنیم، یک نقشه رمزنگاری (نقشه رمزنگاری) ایجاد کنیم و آن را به رابط خارجی CS متصل کنیم.
تنظیم ACL:
#IP access-list توسعه یافته سایت1
#permit gre host 10.111.21.3 host 10.111.22.3
مجموعه ای از تبدیل ها (همانطور که برای فاز اول، ما از الگوریتم رمزگذاری "Grasshopper" با استفاده از حالت تولید درج شبیه سازی استفاده می کنیم):
#crypto ipsec transform-set GOST esp-gost341215k-mac
ما یک نقشه رمزنگاری ایجاد می کنیم، ACL را مشخص می کنیم، مجموعه تبدیل و آدرس همتا را مشخص می کنیم:
#نقشه رمزنگاری MAIN 100 ipsec-isakmp
#مطابقت آدرس سایت1
#set transform-set GOST
#set peer 10.111.22.3
ما کارت رمزنگاری را به رابط خارجی صندوق پول متصل می کنیم:
#interface GigabitEthernet0/0
آدرس #IP 10.111.21.3 255.255.255.0
#نقشه کریپتو MAIN
برای رمزگذاری کانالها با سایتهای دیگر، باید روند ایجاد ACL و کارت رمزنگاری، تغییر نام ACL، آدرسهای IP و شماره کارت رمزنگاری را تکرار کنید.
توجه! اگر تأیید گواهی CRL استفاده نمی شود، باید به صراحت مشخص شود:
#تراست پوینت رمزنگاری pki s-terra_technological_trustpoint
#لغو-بررسی هیچکدام
در این مرحله، راه اندازی را می توان کامل در نظر گرفت. در خروجی فرمان کنسول مشابه سیسکو نمایش رمز ارز isakmp sa и crypto ipsec sa را نشان دهید فازهای اول و دوم ساخته شده IPSec باید منعکس شود. همین اطلاعات را می توان با استفاده از دستور به دست آورد sa_mgr نمایش، اجرا شده از پوسته دبیان. در خروجی فرمان cert_mgr نشان می دهد گواهی های سایت از راه دور باید ظاهر شوند. وضعیت این گونه گواهی ها خواهد بود دور. اگر تونلها ساخته نمیشوند، باید به گزارش سرویس VPN که در فایل ذخیره میشود نگاه کنید. /var/log/cspvpngate.log. فهرست کاملی از فایلهای گزارش به همراه شرح محتوای آنها در مستندات موجود است.
نظارت بر "سلامت" سیستم
S-Terra CC از دیمون استاندارد snmpd برای نظارت استفاده می کند. علاوه بر پارامترهای معمولی لینوکس، S-Terra خارج از جعبه از صدور داده در مورد تونل های IPSec مطابق با CISCO-IPSEC-FLOW-MONITOR-MIB پشتیبانی می کند، چیزی که ما هنگام نظارت بر وضعیت تونل های IPSec از آن استفاده می کنیم. عملکرد OID های سفارشی که نتایج اجرای اسکریپت را به عنوان مقادیر خروجی می دهند نیز پشتیبانی می شود. این ویژگی به ما اجازه می دهد تا تاریخ انقضای گواهی را ردیابی کنیم. اسکریپت نوشته شده خروجی فرمان را تجزیه می کند cert_mgr نشان می دهد و در نتیجه تعداد روزهایی را که گواهی های محلی و ریشه منقضی می شوند را می دهد. این تکنیک هنگام تجویز تعداد زیادی CABG ضروری است.
مزیت چنین رمزگذاری چیست؟
تمام عملکردهای شرح داده شده در بالا توسط S-Terra KSh پشتیبانی می شود. یعنی نیازی به نصب ماژولهای اضافی که میتواند بر گواهینامه دروازههای رمزنگاری و گواهینامه کل سیستم اطلاعاتی تأثیر بگذارد، وجود نداشت. می تواند هر کانالی بین سایت ها وجود داشته باشد، حتی از طریق اینترنت.
با توجه به این واقعیت که وقتی زیرساخت داخلی تغییر می کند، نیازی به پیکربندی مجدد دروازه های رمزنگاری وجود ندارد. سیستم به عنوان یک سرویس کار می کند، که برای مشتری بسیار راحت است: او می تواند خدمات خود (مشتری و سرور) را در هر آدرسی قرار دهد و تمام تغییرات به صورت پویا بین تجهیزات رمزگذاری منتقل می شود.
البته، رمزگذاری به دلیل هزینه های سربار (سربار) بر سرعت انتقال داده تأثیر می گذارد، اما فقط اندکی - توان عملیاتی کانال می تواند حداکثر 5-10٪ کاهش یابد. در عین حال، این فناوری حتی در کانال های ماهواره ای که کاملاً ناپایدار هستند و پهنای باند کمی دارند، آزمایش شده و نتایج خوبی نشان داده است.
ایگور وینوخودوف، مهندس خط دوم مدیریت Rostelecom-Solar
منبع: www.habr.com