آموزش لینوکس - قسمت نهم - راه‌اندازی و مدیریت Firewall

آموزش سیستم عامل لینوکسنکته مهم: این مقاله به مرور زمان، ویرایش و یا تکمیل می‌شود! لذا در صورتی که به مشکل تایپی، دستوری و یا مفهومی در آن برخورد کردید، خوشحال می‌شوم که مرا در جریان قرار داده، تا آن را ویرایش و یا تکمیل نمایم. با تشکر داریوش تصدیقینسخه ۱.۰برای سادگی کار، به جای آن که در ابتدای هر یک از دستورات این مقاله، از کلمه sudo استفاده نماییم! ابتدا یکی از دستورات sudo -i یا su را اجرا کرده، تا به عنوان کاربر root وارد سیستم عامل لینوکس اوبونتو شده و سپس دستورات این مقاله را اجرا می‌کنیم.در اکثر سیستم عامل‌های لینوکس (Linux) اوبونتو (Ubuntu) برنامه‌ای (Package) به نام ufw وجود دارد، که نقش دیوار آتش (Firewall) را در این سیستم عامل بازی می‌کند. این برنامه به صورت پیش‌فرض (بعد از نصب اولیه سیستم عامل اوبونتو) غیر فعال می‌باشد.برای بررسی وضعیت فایروال، یکی از دستورات ذیل را استفاده می‌کنیم:ufw statusو یاufw status verboseو یاufw status numberedتوجه:‌ دستور آخر (سومی) مناسب‌تر است!همانطور که در ابتدا عنوان شد، این فایروال به صورت پیش‌فرض غیرفعال بوده و ما بعد از اجرای دستور فوق، باید با عبارت ذیل مواجه شویم:Status: inactiveدر صورتی که اجرای دستور ufw با خطا مواجه گردید، این بدان معنا است که این برنامه بر روی سیستم عامل لینوکس اوبونتو نصب نشده است! لذا برای نصب آن از دستورات ذیل استفاده می‌کنیم:apt update -y apt upgrade -y apt install -y ufwنکته بسیار مهم: در صورتی که با استفاده از دستور ذیل، فایروال را فعال (اجرا) نماییم، ممکن است که پورت مربوط به پروتکل ssh (که معمولا برابر عدد ۲۲ می‌باشد)، در داخل فایل تنظیمات فایروال، به عنوان پروتکل یا پورت مجاز، ثبت (تعریف) نشده باشد، و پس از فعال کردن فایروال، دسترسی ما به ترمینال سرور، از بین رفته و پس از آن نیز دیگر نتوانیم با استفاده از پروتکل ssh به ترمینال سرور متصل شویم! چرا که در اکثر موارد، ما دسترسی مستقیمی به سرور نداریم و این مساله می‌تواند مشکلات زیادی را برای ما ایجاد نماید!لذا بهتر است، قبل از آن که فایروال را فعال نماییم،‌ ابتدا دسترسی پروتکل ssh یا پورت ۲۲ را برای فایروال تعریف و آزاد کرده و سپس اقدام به راه‌اندازی آن کنیم!با استفاده از دستور ذیل، فایروال راه‌اندازی می‌شود:ufw enableCommand may disrupt existing ssh connections. Proceed with operation (y|n)? yFirewall is active and enabled on system startupبعد از اجرای دستور فوق، برای اینکه اطمینان حاصل نماییم که آیا فایروال راه‌اندازی شده است یا خیر، از دستور ذیل استفاده می‌کنیم:ufw statusStatus: activeبا استفاده از دستور ذیل، می‌توانیم مجددا فایروال را غیرفعال نماییم:ufw disableFirewall stopped and disabled on system startupمجددا برای اینکه اطمینان حاصل نماییم که آیا فایروال غیرفعال شده است یا خیر، از دستور ذیل استفاده می‌کنیم:ufw statusStatus: inactiveحال (به عنوان مثال) برای این که پورت‌های ۲۲ مربوط به پروتکل ssh و ۲۱ مربوط به پروتکل ftp و ۸۰ مربوط به پروتکل http و ۴۴۳ مربوط به پروتکل https را به عنوان پورت‌های مجاز به فایروال معرفی نماییم، به ترتیب مراحل ذیل را انجام می‌دهیم.برای آزاد کردن پروتکل ssh و یا پورت پیش‌فرض ۲۲ مربوط به آن، می‌توانیم یکی از دستورات ذیل را استفاده نماییم:ufw allow sshو یاufw allow 22و یاufw allow 22/tcpتوجه: دستور آخر (سومی) دقیق‌تر می‌باشد!برای آزاد کردن پروتکل ftp و یا پورت پیش‌فرض ۲۱ مربوط به آن، می‌توانیم یکی از دستورات ذیل را استفاده نماییم:ufw allow ftpو یاufw allow 21و یاufw allow 21/tcpتوجه: دستور آخر (سومی) دقیق‌تر می‌باشد!برای آزاد کردن پروتکل http و یا پورت پیش‌فرض ۸۰ مربوط به آن، می‌توانیم یکی از دستورات ذیل را استفاده نماییم:ufw allow httpو یاufw allow 80و یاufw allow 80/tcpتوجه: دستور آخر (سومی) دقیق‌تر می‌باشد!برای آزاد کردن پروتکل https و یا پورت پیش‌فرض ۴۴۳ مربوط به آن، می‌توانیم یکی از دستورات ذیل را استفاده نماییم:ufw allow httpsو یاufw allow 443و یاufw allow 443/tcpتوجه: دستور آخر (سومی) دقیق‌تر می‌باشد!در صورتی که بخواهیم به عنوان مثال، دسترسی https و یا پورت پیش‌فرض ۴۴۳ مربوط به آن را از فایل تنظیمات فایروال حذف نماییم، یکی از دستورات ذیل را استفاده می‌کنیم:ufw delete allow httpsو یاufw delete allow 443و یاufw delete allow 443/tcpدر صورتی که بخواهیم به صورت گرافیکی از برنامه ufw استفاده نماییم، می‌توانیم برنامه gufw را به صورت ذیل نصب نماییم:apt update -y apt upgrade -y apt install -y gufwپایان