بعد از گذشت بیش از هشتاد قسمت از آموزش های مدیریت سرور لینوکس، به مباحث امنیتی می رسیم. که یکی از مهم ترین بخش های امنیتی مرتبط با سرور بحث دیوار آتش یا فایروال است. داشتن مهارت پیکربندی و کار کردن با دیوار آتش در بالا بردن امنیت سرور بسیار مهم است. به همان اندازه که یک سیستم امنیتی برای یک ساختمان می تواند مهم باشد، دیوار آتش هم به همان اندازه برای یک سرور مهم است. دیوار آتش علاوه بر اینکه جلوی گسترش نفوذ نرم افزارهای مخرب را می گیرد، جلوی دسترسی های غیرمجاز را هم مسدود می کند تا سیستم شما در امان باشد. پس با قسمت ۸۶ هم همراه باشید تا ببینیم دیوار آتش لینوکس چیست .
دیوار آتش که همان Firewall است، به دو دستۀ سخت افزاری و نرم افزاری تقسیم می شود. ما در اینجا زیاد با فایروال های سخت افزاری کاری نداریم. چرا که به حیطۀ کاریِ ما زیاد مرتبط نیست. اما اساس آموزش کار با فایروال های نرم افزاری است. فایروال هایی که شما باید بتوانید آنها را پیکربندی کنید. دیوار آتش بین رایانه یا شبکه ای از رایانۀ شما با یک شبکۀ ناامن مثل اینترنت قرار می گیرد. تا تمامیِ درخواست های ورودی و خروجی را بررسی کند و اگر موردی خلاف بر آن چیزی که برای آن پیکربندی شده باشد رخ دهد، جلوی آن را بگیرد. مثلاً اگر اجازۀ دسترسی به سرویس SSH از طریق یک IP خاص داده شده است، جلوی دیگر دسترسی ها را ببندد.
حالا بحث روشن کردن دیوار آتش در اینجا، روی توزیع CentOS است که از آنجایی که این توزیع هم زیر مجموعه ای از RedHat به حساب می آید، پس برای RedHat هم قابل تعمیم است. اما از آنجایی که در نسخه های مختلف توزیع های لینوکس تغییراتی در بخش های مختلف به وجود می آید، در آخرین نسخه از این توزیع ها، یعنی نسخۀ ۷، هم ما یک تغییر بزرگ در بخش دیوار آتش CentOS روبرو هستیم، بحث آموزش آن را کمی پیچیده می کند.
اما برای این مشکل هم راه حل بسیار جذابی وجود دارد. و آن هم استفاده از یک بستۀ نرم افزاریِ ثالث است که میان ما و رابط های نرم افزاری دیوار آتش لینوکس قرار گرفته و دستورات را از ما گرفته و خودش دست به کار می شود. بدون اینکه ما درگیر مسائل بیشتری شویم. از این دست نرم افزارها چندین نمونه وجود دارد که ما در این مجموعۀ آموزشی روی CSF بیشتر تمرکز می کنیم. پس ما اگر CSF را یاد بگیریم، تقریباً کار تمام است. البته باز هم بهتر است با طریقۀ کار کردن دیوار آتش CentOS به طور کامل آشنا شویم. پس ادامۀ داستان را حتماً دنبال کنید.
Netfilter بخش اصلیِ دیوار آتش لینوکس
انواع مختلف دیوار آتش به سه دستۀ مختلف تقسیم می شوند که بدین صورت هستند:
- Network Address Translation (NAT)
- Packet Filter
- Proxy firewall
Netfilter نام یک فایروال است که قابلیت های نوع اول و دوم فایروال ها را دارد. یعنی از نوع NAT و Packet Filter است. Netfilter در هستۀ لینوکس قرار گرفته و به طور مستقیم ما نمی توانیم با آن ارتباط برقرار کنیم. در اینجا یک واسط وجود دارد که در نسخه های ۶ و قبل تر CentOS با عنوان IPTables شناخته می شد که اگر می خواستیم دیوار آتش سرورمان را تنظیم کنیم باید با دستور iptables این کار را می کردیم. اما در CentOS 7 یا RedHat 7 ما با یک بستۀ نرم افزاریِ جدیدی با عنوان Firewalld طرف هستیم.
Firewalld هنوز از دستورات iptables استفاده می کند، اما خبری از سرویس های iptables نیست. برای ساده سازی پیکربندیِ دیوار آتش لینوکس Firewalld معرفی شده است که واقعاً هم همین گونه شده است. اما برای حرفه ای هایی که از نسخه های قبلیِ CentOS استفاده می کردند، کوچ کردن به دستورات Firewalld شاید کمی سخت باشد. البته برای این دسته از افراد هم امکان برگشت به همان IPTables روی نسخه های ۷ هست. تنها نکته ای که کاملاً واضح و قابل درک است این است که امکان فعال بودن هر دو سرویس IPTables و Firewalld به طور همزمان وجود ندارد و شما باید فقط از بین آنها یکی را اتنخاب کنید.
کار کردن با Firewalld برای افراد تازه کار بسیار ساده تر از IPTables است. پس همین طور که این مجموعۀ آموزشی را دنبال می کنید، به شما آموزش استفاده از Firewalld را هم خواهیم داد؛ نگران نباشید!
رابط ثالث دیوار آتش لینوکس
ما از رابط های Firewalld و IPTables که بین ما و NetFilter (بخش اصلیِ دیوار آتش لینوکس) واقع می شوند، صحبت کردیم. اما جالب است بدانید که باز بسته های نرم افزاریِ دیگری وجود دارد که کار را برای ما ساده تر از قبل می کنند. یعنی فقط کافی است پروندۀ پیکربندیِ آنها را باز کنیم، تنظیمات مد نظر خود را انجام دهیم و یک بار آن را Restart کنیم. به همین راحتی بدون اینکه از دستورات Firewalld و IPTables سر در بیاوریم، سرور خود را امن کردیم.
از بهترین رابط های ثالث دیوار آتش لینوکس، می توان به CSF اشاره کرد. CSF را همه به عنوان فایروال می شناسند. اما در اصل این نرم فزار خود یک رابط است و کار اصلی را انجام نمی دهد. CSF هم برای خود شامل دستوراتی است که کار کردن با آن دستورات را در قسمت های بعدیِ مجموعه مقالات آموزش سرور لینوکس به شما خواهیم گفت.
پس در اینجا نتیجه می گیریم که بهترین روش برای کار را دیوار آتش لینوکس و پیکربندیِ آن استفاده از بسته نرم افزارهای ثالث مثل CSF است که کار ما را بسیار بسیار راحت می کنند. ولی همچنان با عنوان یک مدیر حرفه ای سرور باید با دستورات IPTables و Firewalld هم آشنایی کامل داشته باشید که در قسمت های بعدی هم آموزش های آنها را به شما تقدیم می کنیم.
نکتۀ بسیار مهم!!
در کار کردن با دیوار آتش لینوکس این نکته را همیشه در ذهن خود نگه دارید که کوچک ترین خطایی ممکن است سبب مشکلات بزرگی برای سرور و سایت های شما گردد. پس همیشه از عملکرد دستوری که قصد اعمال آن را دارید، اطلاع کامل کسب کنید و حدالمقدور در محیط مجازی و آموزشی، کار آزمون و خطا را انجام دهید.
اینکه قبل از آموزش کار کردن با سرویس های لینوکس که همان بسته های نرم افزاری ارائه دهندۀ خدمات به بازدید کنندگان سایت هستند، به سراغ آموزش دیوار آتش رفتیم، به این دلیل است که تمامی این سرویس ها با یک درگاهی (Port) کار می کنند که نیاز است اول آن درگاه توسط دیوار آتش باز گردد. درگاه یا پورت یک مدخل برای ارتباط با شبکۀ اینترنت است که حتماً باید توسط فایروال باز گردد. در غیر این صورت امکان اتصال آن سرویس به اینترنت وجود ندارد و از طرف شما به نظر می رسد که آن سرویس یا بستۀ نرم افزاری کار نمی کند!
در قسمت های بعدی راجع به IPTables و همچنین Firewalld آموزش های لازمه را خدمت شما تقدیم می کنیم. سپس به سراغ CSF می رویم. پس با وبنولوژی همراه باشید.
۰ دیدگاه