مدیر شبکه می تواند از طریق کنسول به یک روتر یا سوئیچ شبکه یا هر دستگاه دیگری دسترسی داشته باشد اما اگر دور از محل آن دستگاه بنشیند دیگر برقراری ارتباط با کنسول امکان پذیر نیست. بنابراین، در نهایت او باید از راه دور به آن دستگاه دسترسی داشته باشد.
اما از آنجایی که دسترسی از راه دور با استفاده از یک آدرس IP در دسترس خواهد بود، بنابراین، ممکن است یک کاربر غیرمجاز بتواند با استفاده از همان آدرس IP دسترسی پیدا کند، بنابراین برای اقدامات امنیتی، ما باید احراز هویت را قرار دهیم. همچنین بسته های رد و بدل شده بین دستگاه باید رمزگذاری شوند تا هر شخص دیگری نتواند اطلاعات حساس را ضبط کند. بنابراین، چارچوبی به نام AAA برای ارائه سطح امنیت اضافی استفاده می شود.
پروتکل AAA یک چارچوب مبتنی بر استاندارد است که برای کنترل افرادی که مجاز به استفاده از منابع شبکه (از طریق احراز هویت Authentication) هستند، کارهایی که مجاز به انجام آنها هستند (از طریق مجوز Authorization) و ضبط اقدامات انجام شده در حین دسترسی به شبکه (از طریق Accounting) استفاده می شود.
فرآیندی که طی آن می توان تشخیص داد که کاربری که می خواهد به منابع شبکه دسترسی پیدا کند، با پرسیدن برخی از اعتبارنامه ها (credentials) مانند نام کاربری و رمز عبور معتبر است یا خیر. روشهای رایج عبارتند از قرار دادن احراز هویت در پورت کنسول، پورت AUX یا لاین های vty.
به عنوان مدیر شبکه، اگر شخصی بخواهد به شبکه دسترسی پیدا کند، میتوانیم نحوه احراز هویت کاربر را کنترل کنیم. برخی از این روش ها شامل استفاده از پایگاه داده محلی آن دستگاه (روتر) یا ارسال درخواست های احراز هویت به یک سرور مانند سرور ACS است. برای تعیین روشی که برای احراز هویت استفاده می شود، از فهرست روش های احراز هویت پیش فرض یا سفارشی استفاده می شود.
پس از اینکه کاربر از طریق احراز هویت به منابع شبکه دسترسی پیدا کرد، قابلیت هایی را برای اعمال سیاست ها بر روی منابع شبکه فراهم می کند. پس از موفقیت آمیز بودن احراز هویت، می توان از مجوز برای تعیین اینکه کاربر مجاز به دسترسی به چه منابعی است و عملیاتی که می توان انجام دهد استفاده کرد.
به عنوان مثال، اگر یکی از ادمین های موجود در سازمان (که نباید به همه منابع دسترسی داشته باشد) بخواهد به دستگاه دسترسی داشته باشد، مدیر شبکه می تواند نمایی ایجاد کند که به دستورات خاص اجازه می دهد فقط توسط کاربر اجرا شوند (کامند هایی که در فهرست مجاز هستند). مدیر می تواند از لیست روش مجوز استفاده کند تا مشخص کند کاربر چگونه برای استفاده از منابع شبکه مجاز است، یعنی از طریق پایگاه داده محلی (پیکربندی در حال اجرا دستگاه) یا با استفاده از یک سرور ACS خارجی.
ابزاری برای نظارت و ضبط رویدادهای انجام شده توسط کاربر در حین دسترسی به منابع شبکه فراهم می کند. حتی مدت زمان دسترسی کاربر به شبکه را نیز کنترل می کند. مدیر می تواند یک لیست روش اکانتینگ ایجاد کند تا مشخص کند که چه چیزی باید اکانتینگ شود و سوابق اکانتینگ برای چه کسی ارسال شود.
AAA بخش مهمی از امنیت شبکه است زیرا دسترسی افراد به یک سیستم را محدود می کند و فعالیت آنها را پیگیری می کند. به این ترتیب، کابران غیرمجاز را می توان دور نگه داشت، و می توان فعالیت کاربران مجاز را ردیابی کرد، که به مدیران اطلاعات ارزشمندی در مورد فعالیت های آنها می دهد.
دو نوع اصلی پروتکل AAA برای شبکه وجود دارد: دسترسی به شبکه (Network Access) و مدیریت دستگاه (Device Administration).
دسترسی به شبکه شامل مسدود کردن، اعطا یا محدود کردن دسترسی بر اساس اعتبار یک کاربر است. AAA هویت یک دستگاه یا کاربر را با مقایسه اطلاعات ارائه شده یا وارد شده با پایگاه داده مورد نظرتأیید می کند. اگر اطلاعات مطابقت داشته باشد، اجازه ی دسترسی به شبکه داده می شود.
مدیریت دستگاه شامل کنترل دسترسی به session ها، کنسول های دستگاه شبکه، secure shell (SSH) و موارد دیگر است. این نوع دسترسی با دسترسی به شبکه متفاوت است، زیرا افراد مجاز به ورود به شبکه را محدود نمیکند، بلکه به دستگاههایی که میتوانند به آن دسترسی داشته باشند، محدود میشود.
چندین پروتکل وجود دارد که عناصر AAA را برای تضمین امنیت هویت ترکیب می کند.
RADIUS یک پروتکل شبکه است که توابع AAA را برای کاربران شبکه راه دور با استفاده از مدل کلاینت/سرور انجام می دهد. RADIUS به طور همزمان احراز هویت و مجوز را برای کاربرانی که سعی در دسترسی به شبکه دارند فراهم می کند. RADIUS همچنین تمام بسته های داده AAA را می گیرد و آنها را رمزگذاری می کند و سطح امنیتی بیشتری را ارائه می دهد.
RADIUS در سه مرحله کار می کند:
کاربر درخواستی را به یک سرور دسترسی به شبکه (NAS) ارسال می کند، سپس NAS یک درخواست برای دسترسی به سرور RADIUS ارسال می کند که با پذیرش، رد یا به چالش کشیدن آن درخواست پاسخ می دهد.
پروتکل Diameter یک پروتکل AAA است که با Long-Term Evolution (LTE) و شبکه های چند رسانه ای کار می کند. Diameter تکامل RADIUS است که از دیرباز برای مخابرات استفاده می شده است. با این حال، Diameter به طور سفارشی برای بهینه سازی اتصالات LTE و انواع دیگر شبکه های تلفن همراه طراحی شده است.
مشابه RADIUS، +TACACS از مدل کلاینت/سرور برای اتصال کاربران استفاده می کند. با این حال، +TACACS کنترل بیشتری را در مورد راه هایی که از طریق آن دستورات مجاز می شوند را امکان پذیر می کند. +TACACS با ارائه یک کلید مخفی شناخته شده توسط کلاینت و سیستم +TACACS کار می کند. هنگامی که یک کلید معتبر ارائه می شود، اجازه اتصال داده می شود تا ادامه یابد.
+TACACS فرآیندهای احراز هویت و مجوز را از هم جدا می کند و این قابلیت، آن را از RADIUS که آنها را ترکیب می کند متمایز می کند. همچنین، +TACACS، مانند RADIUS، بسته های AAA خود را رمزگذاری می کند. بنابراین، مدیریت دسترسی را با پروتکل های هویت AAA ساده کنید
در یک zero-trust network access(ZTNA) ، همه کاربران و دستگاهها بهطور پیشفرض مورد بیاعتمادی هستند و نمیتوان اجازه دسترسی به سیستم را تا زمانی که بهاندازه کافی حقوق احراز هویت و مجوز خود را اثبات نکرده باشند، ندارند. این اغلب با استفاده از احراز هویت دو مرحله ای (FA2) انجام می شود.
اشکالات زیر در پیاده سازی چارچوب AAA وجود دارد:
در این مثال ما در حال پیکربندی AAA Authentication در روتر هستیم. که شامل مراحل زیر است:
router1(config)#aaa new-model
AAA با دستور aaa new-model فعال می شود.
با دستور aaa authentication ورود به سیستم محلی پیش فرض فعال می شود.
در این دستور، پیشفرض به این معنی است که از لیست متدهای پیشفرض استفاده میکنیم و local Means ما از پایگاه داده محلی استفاده خواهیم کرد.
router1(config)#line vty 0 4
router1(config)#login authentication default
router1(config)#exit
پس از ایجاد لیست متدهای پیشفرض، باید آن را روی خطوط vty اعمال کنیم تا هر زمان که کاربر سعی میکند از طریق SSH یا telnet به روتر دسترسی پیدا کند، کاربر باید اطلاعاتی را ارائه کند که پیکربندی شده است.
router1(config)#username MRSHABAKE
privilege 15 password 123456
این مهمترین مرحله است زیرا باید یک پایگاه داده محلی ایجاد کنیم که در آن نام کاربری (به عنوان مثال MRSHABAKE)،privilege Level 15 و رمز عبور (به عنوان مثال 123456) را ارائه کنیم.
توجه: لیست متدهای پیشفرض که روی خطوط vty اعمال کردهایم، کاربر (که میخواهد به روتر دسترسی داشته باشد) را مجبور میکند تا زمانی که میخواهد از راه دور از طریق telnet یا SSH دسترسی از راه دور داشته باشد، این اطلاعات را وارد کند.
ما می توانیم پیام های احراز هویت AAA را از طریق دستور “debug aaa authentication” ببینیم.
router1#debug aaa authentication
حال به روتر 1 (آدرس IP-10.1.1.1/24) از روتر2 (آدرس IP – 10.1.1.2/24) telnet می زنیم ، یوزر و پسورد را وارد می کنیم.
router2# telnet 10_1_1_1
Trying 10_1_1_1 …. Open
User Access Verification
Username: MRSHABAKE
:Password
router1<
به محض اینکه کاربر اطلاعات کاربری را وارد کرد، می توانیم پیام های احراز هویت را مشاهده کنیم. علاوه بر این، اگر بخواهیم قبل از درخواست اعتبار، بنری را اعمال کنیم، می توانیم آن را با استفاده از دستور نشان داده شده اعمال کنیم:
router1(config)#aaa authentication
banner ” welcome to MRSHABAKE network”
اگر بخواهیم اعلان (prompt) نام کاربری و رمز عبور اضافه کنیم، میتوانیم آن را با استفاده از دستور زیر اعمال کنیم:
router1(config)#aaa authentication
username-prompt “enter your username”
router1(config)#aaa authentication
password-prompt “enter your password”
همچنین، اگر بخواهیم زمانی که اطلاعات وارد شده توسط کاربر اشتباه است، پیامی را نشان دهیم، میتوانیم آن را با استفاده از دستور زیر نشان دهیم:
router1(config)#aaa authentication
fail-message “wrong username or password
Please try again…”
همچنین، میتوانیم تعداد تلاشهایی را که کاربر میتواند اطلاعات اشتباه وارد کند، محدود کنیم. پس از سومین تلاش برای وارد کردن اطلاعات، ارتباط به طور خودکار خاتمه می یابد:
router1(config)#aaa authentication
attempts login 3
هر کامپیوتری که به شبکه متصل است یک IP دارد. آدرس IP (پروتکل اینترنت) دستگاه را منحصر به فرد می کند. سرور پروکسی یک کامپیوتر در شبکه است که آدرس IP مخصوص به خود را دارد. اما گاهی اوقات، ما می خواهیم به آن دسته از وب سایت ها یا سرورهایی دسترسی داشته باشیم که محدود هستند و نمی خواهیم هویت خود (آدرس IP) را نشان دهیم. در چنین سناریویی، سرور پروکسی به وجود می آید. ما می توانیم با استفاده از سرور پروکسی به همین نتیجه برسیم. سطوح مختلفی از عملکرد، امنیت و حریم خصوصی را ارائه می دهد که به موارد استفاده، نیازها یا سیاست های شرکت بستگی دارد. در این جا به این می پردازیم که پروکسی سرور چیست، انواع آن، مزایا، نیاز و عملکرد سرورهای پروکسی.
پروکسی سرور کامپیوتری در اینترنت است که درخواست های دریافتی کلاینت (کلاینت) را می پذیرد و آن درخواست ها را به سرور مقصد ارسال می کند. این به عنوان یک دروازه بین کاربر نهایی و اینترنت کار می کند. آدرس IP مخصوص به خود را دارد. سیستم کلاینت و وب سرور را از شبکه جهانی جدا می کند.
به عبارت دیگر، می توان گفت که سرور پروکسی به ما اجازه می دهد تا به هر وب سایتی با آدرس IP متفاوت دسترسی داشته باشیم این سرور نقش واسطه ای بین کاربران و وب سایت ها یا سرورهای هدف دارد. اطلاعات مربوط به درخواست های کاربر را جمع آوری و ارائه می کند. مهمترین نکته در مورد سرور پروکسی این است که ترافیک را رمزگذاری نمی کند.
دو هدف اصلی از پروکسی سرور وجود دارد:
شکل زیر مکانیسم سرور پروکسی را نشان می دهد.
سرور پروکسی درخواست کلاینت را می پذیرد و بر اساس شرایط زیر پاسخی را تولید می کند:
بنابراین می توان گفت که سرور پروکسی به عنوان یک کلاینت و همچنین سرور عمل می کند.
انواع مختلفی از سرورهای پروکسی موجود است. دو نوع رایج از سرورهای پروکسی، سرورهای پروکسی forward و reverse هستند. سرور پروکسی دیگر ویژگی ها و مزایای خاص خود را دارد.
بیایید هر کدام را با جزئیات بررسی کنیم:
1ـ Open or Forward Proxy Server:
شناخته شده ترین نوع سرور واسطه ای است که کلاینت به آن دسترسی پیدا می کند. یک سرور پروکسی Open یا Forward به آن دسته از واسطههایی اطلاق میشود که درخواستهایی را از کلاینتهای وب دریافت میکنند و سپس مقصدها را برای جمعآوری اطلاعات ذکر شده بررسی میکنند. پس از جمع آوری داده ها از سایت ها، داده ها را مستقیماً به کاربران اینترنتی ارسال می کند. فایروال ساخته شده را دور می زند. تصویر زیر پیکربندی پروکسی فوروارد را نشان می دهد.
2ـ Reverse Proxy Server:
یک سرور پراکسی است که در مجاورت چندین سورس داخلی دیگر نصب می شود. یک تراکنش را به گونه ای تایید و پردازش می کند که کلاینت ها مستقیماً با هم ارتباط برقرار نمی کنند. محبوب ترین پروکسی های معکوس Varnish و Squid هستند.
3ـ Split Proxy Server:
به صورت دو برنامه نصب شده بر روی دو کامپیوتر مختلف پیاده سازی می شود.
4ـ Transparent Proxy:
یک سرور پراکسی است که درخواست یا پاسخ را فراتر از آنچه برای احراز هویت و شناسایی پروکسی لازم است تغییر نمی دهد. روی پورت 80 کار میکند.
5ـ Non-Transparent Proxy:
واسطه ای است که واکنش درخواست را تغییر می دهد تا برخی از انواع کمک های اضافی را به کلاینت ارائه دهد. درخواستهای وب بهراحتی از سوی واسطه ارسال میشود و توجه کمی به کارگر از جایی که شروع کردهاند، دارد.
6ـ Hostile Proxy:
برای استراق سمع از جریان داده بین ماشین کلاینت و وب استفاده می شود.
7ـ Intercepting Proxy Server:
سرور پراکسی را با یک دروازه ترکیب می کند. معمولاً در مشاغل برای جلوگیری از اجتناب از سیاست استفاده قابل قبول و سهولت مدیریت استفاده می شود.
8ـ Forced Proxy Server:
ترکیبی از سیاست های رهگیری و غیر رهگیری است.
9ـ Caching Proxy Server:
سرویس دهی به درخواست کلاینت ها با کمک محتویات ذخیره شده از درخواست های قبلی است، بدون اینکه با سرور مشخص شده ارتباط برقرار کند.
10ـ Web Proxy Server:
پروکسی که برای شبکه جهانی وب مورد هدف قرار می گیرد به عنوان سرور پروکسی وب شناخته می شود.
11ـ Anonymous Proxy:
سرور تلاش می کند تا وب گردی را ناشناس کند.
12ـ Socks Proxy:
این یک استاندارد ITEF (گروه وظیفه مهندسی اینترنت) است. این دقیقاً مانند یک سیستم پراکسی است که از برنامه های کاربردی آگاه از پروکسی پشتیبانی می کند. به اجزای شبکه خارجی اجازه نمی دهد اطلاعات کلاینت را که درخواست را ایجاد کرده است جمع آوری کند. از اجزای زیر تشکیل شده است:
ـ یک کتابخانه dient برای SOCK.
ـ یک برنامه dient مانند FTP، telnet یا مرورگر اینترنت.
ـ یک سرور SOCK برای سیستم عامل مشخص شده.
13ـ High Anonymity Proxy:
سرور پروکسی که شامل، نوع سرور پروکسی و آدرس IP کلاینت در سرصفحه درخواست نیست. کلاینت که از پروکسی استفاده می کنند قابل ردیابی نیستند.
14ـ Rotating Proxy:
یک آدرس IP منحصر به فرد را به هر کلاینت متصل به آن اختصاص می دهد. این برای کاربرانی که بسیاری از حذف مداوم وب را انجام می دهند ایده آل است. به ما این امکان را می دهد که دوباره و دوباره همان وب سایت را برگردانیم. بنابراین، استفاده از پراکسی چرخان نیاز به توجه بیشتری دارد.
15ـ SSL Proxy Server:
داده های بین کلاینت و سرور را رمزگشایی می کند. یعنی داده ها در هر دو جهت رمزگذاری شده اند. از آنجایی که پروکسی وجود خود را از کلاینت و سرور پنهان می کند. این برای سازمان هایی مناسب است که حفاظت در برابر تهدیدات را افزایش می دهند. در پروکسی SSL، محتوای رمزگذاری شده در حافظه پنهان (Cache) ذخیره نمی شود.
16ـ Shared Proxy:
یک سرور پراکسی اشتراکی توسط بیش از یک کاربر در یک زمان استفاده می شود. یک آدرس IP در اختیار کلاینت قرار می دهد که می تواند با سایر کلاینت به اشتراک گذاشته شود. همچنین به کاربران این امکان را می دهد که مکانی را از جایی که کاربر می خواهد جستجو کند، انتخاب کنند. برای کاربرانی که نمی خواهند پول زیادی برای اتصال سریع خرج کنند ایده آل است. کم هزینه بودن مزیت آن است. نقطه ضعف آن این است که یک کاربر می تواند به خاطر فعالیت شیطانی شخص دیگری سرزنش شود. به همین دلیل کاربر می تواند از سایت بلاک شود.
17ـ Public Proxy:
یک پروکسی عمومی رایگان در دسترس است. این برای کاربرانی که هزینه برای آنها نگرانی اصلی است، در حالی که امنیت و سرعت نگران کننده نیستند، عالی است. سرعت آن معمولاً کند است. استفاده از یک پروکسی عمومی کاربر را در معرض خطر بالایی قرار می دهد زیرا اطلاعات توسط دیگران در اینترنت قابل دسترسی است.
18ـ Residential Proxy:
یک آدرس IP را به یک دستگاه خاص اختصاص می دهد. تمام درخواست های ارسال شده توسط کلاینت از طریق آن دستگاه ارسال می شود. برای کاربرانی که میخواهند تبلیغاتی را که در وبسایتهایشان نمایش میدهند تأیید کنند، ایدهآل است. با استفاده از Residential Proxy، می توانیم تبلیغات ناخواسته و مشکوک رقبا را مسدود کنیم. در مقایسه با سایر سرورهای پروکسی، این پروکسی قابل اعتمادتر است.
19ـ Distorting Proxy:
با دیگران متفاوت است زیرا خود را به عنوان پروکسی یک وب سایت معرفی می کند اما هویت خود را پنهان می کند. آدرس IP واقعی با ارائه یک آدرس نادرست تغییر می کند. این برای کلاینت که نمی خواهند مکان خود را در طول موج سواری فاش کنند عالی است.
20ـ Data Center Proxy:
نوع خاصی از پروکسی است که به ISP وابسته نیست. توسط شرکت های دیگر از طریق یک مرکز داده ارائه می شود. این سرورها را می توان در مراکز داده فیزیکی پیدا کرد. برای کلاینت که خواهان پاسخ سریع هستند ایده آل است. ناشناس بودن سطح بالایی را ارائه نمی دهد. به همین دلیل، می تواند اطلاعات کلاینت را در معرض خطر بالایی قرار دهد.
21ـ HTTP Proxy:
پروکسی های HTTP آن دسته از سرورهای پروکسی هستند که برای ذخیره فایل های کش وب سایت های مرور شده استفاده می شوند. این باعث صرفه جویی در زمان و افزایش سرعت می شود زیرا فایل های کش در حافظه محلی قرار دارند. اگر کاربر دوباره بخواهد به همان فایل دسترسی پیدا کند، خود پروکسی همان فایل را بدون مرور واقعی صفحات ارائه می دهد.