DataNetSec-Dousti-12-Firewall-v1.pdf

‫دانشگاه صنعتی شریف‬
‫دانشکده مهندسی کامپیوتر‬
‫آزمایشگاه امنیت داده و شبکه‬
‫‪http://dnsl.ce.sharif.edu‬‬
‫درس ‪ :12‬فایروال (دیواره آتش)‬
‫محمد صادق دوستی‬
‫‪1 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مقدمه‬
‫‪ ‬ویژگی‌های‌فایروال‬
‫‪ ‬انواع‌فایروال‌ها‬
‫‪2 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مقدمه‬
‫‪ ‬گسترش ارتباطات شبکهای‬
‫‪ ‬نیاز به استفاده از زیرساخت اینترنت توسط هر فرد‬
‫‪ ‬ایجاد تعامل بین شبکههای مختلف‬
‫‪ ‬مشکل بودن ایجاد امنیت در هر سیستم درون سازمانی‬
‫‪ ‬نیاز به یک الیه دفاعی جلوی جبهه با استفاده از فایروال‬
‫‪ ‬فایروال به عنوان بخشی از استراتژی کلی تامین امنیت است‪.‬‬
‫‪3 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فایروال چیست؟‬
‫‪ ‬نقطه کنترل و نظارت شبکه‬
‫‪ ‬امکان اتصال شبکهها با سطوح اعتماد مختلف با یکدیگر‬
‫‪ ‬ترافیک گذرنده از داخل به خارج و برعکس‪ ،‬باید از داخل فاایروال‬
‫عبور کند‪.‬‬
‫‪ ‬تنها اطالعات و اشخاص مجاز‪ ،‬باا توجاه باه سیاساتهاای شابکه‬
‫محلی‪ ،‬میتوانند از فایروال عبور کنند‪.‬‬
‫‪ ‬فایروال خود باید در مقابل نفوذ امن باشد (با استفاده از ‪trusted‬‬
‫‪.)system‬‬
‫‪4 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫سرویسهای فراهم شده توسط فایروالهای تجاری‬
‫‪ ‬امکان بازرسی و کنترل دسترسی به شبکه و منابع و سرویسهاای‬
‫آن‬
‫‪ ‬امکان ثبت جریان ترافیک‬
‫‪ ‬پاالیش بر اساس محتوای بستهها‬
‫‪ ‬فراهمسازی ترجمه نشانی ‪ NAT‬و نظارت بر استفاده‬
‫‪ ‬پیادهسازی شبکه خصوصی مجازی (‪ )VPN‬مبتنی بر ‪IPsec‬‬
‫‪5 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مقدمه‬
‫‪ ‬ویژگی‌های‌فایروال‬
‫‪ ‬انواع‌فایروال‌ها‬
‫‪6 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫سازوکارهای کنترلی در فایروال‬
‫‪Service Control ‬‬
‫‪‬چه سرویسهایی قابل دسترسی هستند‪.‬‬
‫‪Direction Control ‬‬
‫‪‬درخواست به یک سرویس از کدام سمت میتواناد ارساال و پاسا‬
‫داده شود‪.‬‬
‫‪User Control ‬‬
‫‪‬کنترل دسترسی به سرویس بر اساس شخص درخواستکننده‬
‫‪7 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫محدودیتهای فایروال‬
‫‪ ‬فایروالها نمیتوانند با حمالت زیر مقابله کنند‪:‬‬
‫‪‬حمالتی که ترافیک آنها از فایروال عبور نمیکنند‪.‬‬
‫•‬
‫اتصال کارکنان از طریق مودم ‪ Dial-up‬یا ‪ADSL‬‬
‫‪‬خطرات داخلی‬
‫•‬
‫کارمندان ناراضی یا ساده لوح!‬
‫‪‬ممانعت کامل از انتقال ویروسها و فایلهای اجرایی مخرب‬
‫•‬
‫با توجه به تنوع سیستم عاملها و انواع فایلهای مورد پشتیبانی آنها‬
‫‪‬ترافیک رمز شده‬
‫‪8 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مقدمه‬
‫‪ ‬ویژگی‌های‌فایروال‬
‫‪ ‬انواع‌فایروال‌ها‬
‫‪9 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫انواع فایروالها‬
‫‪ ‬فایروال شخصی (‪ :)Personal‬روی یک میزبان نصب میشاود‪ ،‬و‬
‫ترافیک شبکه ورودی و خروجی به آن را کنترل میکند‪.‬‬
‫‪‬مثال‪ iptables :‬و ‪Windows Firewall‬‬
‫‪‬مزیت‪ :‬قادر است به ترافیاک نهاایی کاه روی میزباان رمزگشاایی‬
‫میشود دسترسی داشته باشد‪.‬‬
‫‪‬اشکال‪ :‬دید محدودی نسبت به شبکه دارد‪.‬‬
‫‪ ‬فایروال شبکه‪ :‬در بخشی از شبکه نصب شاده و ترافیاک ورودی و‬
‫خروجی به آن بخش از شبکه را کنترل میکند‪.‬‬
‫‪‬مثال‪ ASA :‬سیسکو‪pfsense ،‬‬
‫‪10 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مثال‪ ASA :‬سیسکو‬
‫‪11 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫جایدهی فایروال در شبکه‬
‫‪DMZ: Demilitarized Zone‬‬
‫‪12 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫‪Packet Filter‬‬
‫‪ ‬مبنای کلیه سیستمهای فایروال است‪.‬‬
‫‪ ‬هر بسته ‪ IP‬را چک کرده (صرف نظر از محتوا) و بر اساس قواعاد‬
‫امنیتی درباره عبور آن تصمیم میگیرد‪:‬‬
‫‪‬اجازه عبور‪Permit :‬‬
‫‪‬ممانعت از عبور‪Deny :‬‬
‫‪ ‬قواعد بر اساس سرآیند ‪ IP‬و الیاه انتقاال (…‪)TCP/UDP/‬‬
‫تعریف میشوند‪.‬‬
‫‪ ‬پاالیش در هر دو جهت قابل اِعمال است‪.‬‬
‫‪13 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫‪Packet Filter‬‬
‫‪‬‬
‫دسترسی به سرویسها قابل کنترل است (با استفاده از پورتها)‪.‬‬
‫‪‬‬
‫مزیت‪ :‬سادگی و پنهانی از دید کاربران‬
‫‪‬‬
‫ضعف‪:‬‬
‫‪‬عدم پشتیبانی از تصدیق هویت‬
‫‪‬اعمال قواعد متناسب با برنامه مشکل است‪.‬‬
‫‪‬‬
‫دو سیاست پیشفرض میتواند وجود داشته باشد‪:‬‬
‫‪ = Discard / Block‬هر آنچه که صریحاً اجازه داده نشده‪ ،‬غیرمجاز است‪.‬‬
‫‪ = Forward / Allow‬هر آنچه که صریحاً ممنوع نشده‪ ،‬مجاز است‪.‬‬
‫‪14 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫روش پاالیش بسته در ‪Packet Filter‬‬
‫‪ ‬نوع پروتکل (‪)... ،ICMP ،TCP ،IP‬‬
‫‪ ‬نشانی ‪ IP‬مبدأ و مقصد‬
‫‪ ‬پورت مبدأ و مقصد‬
‫‪ ‬حالاات ارتبااا (پاارچمهااای ‪ ACK ،SYN‬یااا ‪ RST‬در ‪،TCP‬‬
‫‪)Established ،Related‬‬
‫‪ ‬زمان‪ :‬فعال کردن سرویس در یک بازه زمانی خاص‬
‫‪ ‬واسط ورودی‪/‬خروجی (‪)eth1 ،eth0‬‬
‫‪15 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مثال ‪1‬‬
‫‪ ‬توضیح‪ :‬قواعد از باال به پایین و به واسط ورودی اعمال میشوند‪.‬‬
‫‪ ‬ایمیلهای ورودی از ‪ )1.2.3.*( ENEMY‬مسدود میشوند‪.‬‬
‫‪ ‬ایمیاالهااای ورودی (پااورت ‪ 25‬از ‪ )SMTP‬فقااط ماایتواننااد بااه‬
‫میزبان ‪ )213.233.161.*( SMTP_GW‬فرستاده شوند‪.‬‬
‫‪port‬‬
‫‪theirhost‬‬
‫‪port‬‬
‫‪ourhost‬‬
‫‪action‬‬
‫‪comment‬‬
‫‪we don't trust these people‬‬
‫*‬
‫‪ENEMY‬‬
‫‪25‬‬
‫*‬
‫‪block‬‬
‫‪connection to our SMTP port‬‬
‫*‬
‫*‬
‫‪25‬‬
‫‪SMTP_GW‬‬
‫‪allow‬‬
‫‪16 / 27‬‬
‫امنیت داده و شبکه‬
‫‪A‬‬
‫محمد صادق دوستی‬
‫مثال ‪2‬‬
‫‪ ‬بیان سیاست پیشفرض (‪.)default = deny‬‬
‫‪ ‬این قاعده به صورت صریح در انتهای مجموعه قواعد میآید‪.‬‬
‫‪comment‬‬
‫‪port‬‬
‫‪default‬‬
‫‪17 / 27‬‬
‫‪theirhost‬‬
‫*‬
‫*‬
‫امنیت داده و شبکه‬
‫‪port‬‬
‫*‬
‫‪ourhost‬‬
‫*‬
‫‪action‬‬
‫‪block‬‬
‫‪B‬‬
‫محمد صادق دوستی‬
‫مثال ‪3‬‬
‫‪ ‬هر گره از داخل شبکه میتواند به بیارون از شابکه ایمیال ارساال‬
‫کند‪.‬‬
‫‪‬این قاعده به واسط خروجی اعمال میشود‪.‬‬
‫‪ ‬مشکل‪ :‬ممکن است بجای سرویس ایمیال‪ ،‬سارویس دیگاری روی‬
‫پورت ‪ 25‬قرار گرفته باشد‪ .‬در این صورت نفوذگر می تواند بستهای‬
‫با پورت مبدأ ‪ 25‬را به هر ماشین در داخل شبکه ارسال کند!‬
‫‪comment‬‬
‫‪connection to their SMTP port‬‬
‫‪18 / 27‬‬
‫‪port‬‬
‫‪25‬‬
‫‪theirhost‬‬
‫*‬
‫امنیت داده و شبکه‬
‫‪port‬‬
‫*‬
‫‪ourhost‬‬
‫*‬
‫‪action‬‬
‫‪allow‬‬
‫‪C‬‬
‫محمد صادق دوستی‬
‫مثال ‪4‬‬
‫‪ ‬بسته هایی که مبدأ آنهاا متعلاق باه لیسات ماشاینهاای میزباان‬
‫داخلی و مقصد آنها‪ ،‬پورت ‪ 25‬از ‪ TCP‬باشند‪ ،‬اجازه عبور دارند‪.‬‬
‫‪ ‬بسته های ورودی با پورت مقصد ‪ 25‬از ‪ TCP‬اجازه عباور دارناد‪،‬‬
‫به شرطی که پرچم ‪ ACK‬آنها روشن باشد‪.‬‬
‫‪ ‬پرچم ‪ ACK‬تأیید میکند که بستههاا از طارف مقابال در تأییاد‬
‫بستههای ارسالی رسیدهاند‪.‬‬
‫‪comment‬‬
‫‪flags‬‬
‫‪our packets to their SMTP port‬‬
‫‪their replies‬‬
‫‪19 / 27‬‬
‫‪ACK‬‬
‫‪port‬‬
‫‪dest‬‬
‫‪port‬‬
‫‪src‬‬
‫‪action‬‬
‫‪25‬‬
‫*‬
‫*‬
‫}‪{our hosts‬‬
‫‪allow‬‬
‫*‬
‫*‬
‫‪25‬‬
‫*‬
‫‪allow‬‬
‫امنیت داده و شبکه‬
‫‪D‬‬
‫محمد صادق دوستی‬
‫حمالت وارده به ‪1 – Packet Filter‬‬
‫‪ ‬جعل نشانی ‪ :IP‬فرستادن بسته از خاارج باا نشاانی مبادأ داخلای‬
‫جعلی (با هدف دسترسی به سرویسهایی که صرفاً نشانی ‪ IP‬مبدأ‬
‫را برای دسترسی کنترل مینمایند)‪.‬‬
‫‪‬راه حل‪ :‬انسداد بستههای فوق توسط فایروالها‪.‬‬
‫‪ ‬مسیردهی از مبدأ‪ :‬فرستنده‪ ،‬مسیر انتقال بسته را مشخص و همراه‬
‫آن ماایفرسااتد و باادین ترتیااب فااایروال را دور ماایزنااد‪( .‬گزینااه‬
‫‪ source routing‬در سرآیند ‪.)IP‬‬
‫‪‬راه حل‪ :‬انسداد بستههای حاوی اطالعات مسیر توسط مسیریابها‪.‬‬
‫‪20 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫حمالت وارده به ‪2 – Packet Filter‬‬
‫‪ ‬بسته های ‪ IP‬قطعهقطعه شده‪ :‬سرآیند بسته اصلی در بساتههاای‬
‫کوچکتر شکسته میشود‪.‬‬
‫‪‬راه حل‪ :‬انسداد بستههای کوچکی که گزینه تقسایم ‪ IP‬آنهاا ‪set‬‬
‫شده است و یا ابتدا بازسازی بسته اصلی و سپس کنترل آن‪.‬‬
‫‪21 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فایروالهای حالتمند (‪)Stateful‬‬
‫‪Stateful Packet Inspection‬‬
‫‪ SPI:‬‬
‫‪ ‬وارسی بستهها فقط منحصر به اطالعات سرآیند آنها نیست‪.‬‬
‫‪ ‬هر بسته بخشی از یک اتصال است‪ ،‬و باید در ‪ context‬آن اتصال‬
‫وارسی شود‪.‬‬
‫‪ ‬مثال ‪ :1‬کارگزار موجود در ‪ DMZ‬حق ندارد شروع کننده اتصاال‬
‫به بیرون باشد‪ ،‬و فقط حق دارد به اتصالی که از بیرون برقرار شاده‬
‫پاس دهد‪.‬‬
‫‪ ‬مثال ‪ FTP :2‬در حالت ‪Active‬‬
‫‪22 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فایروالهای حالتمند‬
.‫ اطالعات مربو به اتصاالت برقرار شده را نگهداری مینمایند‬
Proto Local Address
Foreign Address
State
TCP
0.0.0.0:135
0.0.0.0:0
LISTENING
TCP
0.0.0.0:445
0.0.0.0:0
LISTENING
TCP
127.0.0.1:1541
127.0.0.1:5354
ESTABLISHED
UDP
127.0.0.1:1542
127.0.0.1:5354
ESTABLISHED
UDP
127.0.0.1:1570
127.0.0.1:15485
ESTABLISHED
TCP
127.0.0.1:1576
127.0.0.1:27015
ESTABLISHED
TCP
127.0.0.1:5555
127.0.0.1:14181
TIME_WAIT
TCP
192.168.1.4:14198
74.125.71.19:443
TIME_WAIT
TCP
192.168.1.4:14199
74.125.71.99:443
TIME_WAIT
‫محمد صادق دوستی‬
‫امنیت داده و شبکه‬
23 / 27
‫جایدهی فایروال حالتمند در شبکه‬
‫‪24 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫جایدهی دیگر فایروال حالتمند در شبکه‬
‫علل استفاده از این جایدهی‪:‬‬
‫‪ ‬فااایروال فقااط دو واسااط‬
‫شبکه دارد‪.‬‬
‫‪ ‬فااااااایروال رفیاااااات‬
‫(‪)Throughput‬‬
‫کافی را ندارد‪.‬‬
‫‪ ‬دفاع چند الیه‬
‫‪25 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فایروال الیه کاربرد‬
‫‪ ‬فایروالهای از نوع ‪ Packet Filter‬تنها میتوانند بساتههاا را در‬
‫الیه شبکه و انتقال وارسی کنند‪.‬‬
‫‪ ‬امروزه الزم است حمالت در سطح الیه کاربرد نیز وارسی شود‪.‬‬
‫‪‬ایجاد فایروالهایی خاص یک یا چند پروتکل الیه کاربرد‬
‫‪ ‬انواع معروف فایروال الیه کاربرد‪:‬‬
‫‪( Web Application Firewall‬یا ‪ :)WAF‬شامل قوانینی‬
‫برای جلوگیری از حمالتی نظیر ‪ XSS‬یا ‪SQL Injection‬‬
‫• مثال‪ ModSecurity :‬برای کارگزارهای وب آپاچی‪ IIS ،‬و ‪NGINX‬‬
‫‪DB Firewall‬‬
‫‪26 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫پایان‬
‫صفحه درس‪:‬‬
‫‪http://ce.sharif.edu/courses/94-95/2/ce442-1/‬‬
‫مراجعه حضوری جهت رفع اشکال‪ :‬یکشنبهها ‪ 17‬الی ‪18‬‬
‫(طبقه پنجم دانشکده‪ ،‬درب شیشهای جنب آسانسور)‬
‫یا در زمانهای دیگر با قرار قبلی‬
‫یا به وسیله رایانامه‪dousti@ce :‬‬
‫‪27 / 27‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬