فایروال UFW رابطی برای iptables است که برای ساده سازی فرایند پیکربندی فایروال طراحی شده است. در حالی که iptables یک ابزار پایدار و انعطاف پذیر است ، یادگیری نحوه استفاده از آن برای پیکربندی صحیح فایروال گاهی اوقات برای مبتدیان دشوار است. اگر کاربری به دنبال تأمین امنیت شبکه خود است ، UFW ممکن است راه حل مناسب باشد.
در این مقاله، نحوه پیکربندی فایروال با UFW در اوبونتو را یاد می گیریم.
مرحله 1: تنظیمات اولیه
UFW به طور پیش فرض روی اوبونتو نصب شده است. اگر به دلایلی حذف شده است ، می توانیم آن را با دستور زیر نصب کنیم.
sudo apt install ufw
به طور پیش فرض ، UFW تمام پورت ها و ترافیک ورودی به سرور را غیرمجاز میداند و رد می کند و همه اتصالات خروجی و به نوعی کلیه ی دسترسی ها از داخل سرور به خارج از سرور را مجاز می داند. این بدان معناست که یک مشتری که سعی می کند به سرور ما دسترسی پیدا کند نمی تواند متصل شود. وقتی برنامه ای از سرور ما سعی می کند هر سرور دیگری را در خارج متصل کند ، مجاز خواهد بود. دستورات زیر به این منظور عمل می کنند.
sudo ufw default deny incoming
sudo ufw default allow outgoing
مرحله 2: مجاز کردن پورت SSH
به طور پیش فرض و همانطور که بالاتر اعلام شد در ufw تمام اتصالات ورودی به سرور محدود شده است. برای اجازه اتصال به استفاده از SSH ایمن ، از دستور زیر استفاده می کنیم.
sudo ufw allow ssh
دستور بالا یک rule فایروال را ایجاد می کند که برای تمام اتصالات پورت 22 را مجاز می داند ، که پورت پیش فرضی است که SSH daemon از آن استفاده میکند. UFW به پورت ذکر شده در فایل /etc /services گوش می دهد. اگر SSH daemon در پورتی غیر از پیش فرض پیکربندی شده باشد ، می توانیم آن را در دستور خود به شکل زیر مشخص کنیم. دستور زیر در صورت پیکربندی SSH توسط ما روی پورت 2222 این پورت را در فایروال مجاز میکند. ما همچنین می توانیم پروتکل (tcp یا udp) را در دستور بالا مشخص کنیم که این مورد اختیاری است. دستور بالا برای هر دو پروتکل استفاده می شود.
sudo ufw allow 2222
مرحله 3: اضافه کردن Rule ها ضروری
برای اجازه دادن به اتصالات ورودی در یک پورت خاص ، از دستورات زیر برای تعیین Rule برای UFW استفاده می کنیم. برای مثال ، اگر می خواهیم سرور ما به HTTP در پورت 80 گوش دهد ، دستور زیر را باید اجرا نماییم:
sudo ufw allow http
یا
sudo ufw allow 80
ما می توانیم از هر یک از موارد فوق برای پورت 80 استفاده کنیم. برای HTTPS ، هر یک از دستورات زیر به منظور اجازه اتصال قابل استفاده می باشد:
sudo ufw allow https
یا
sudo ufw allow 443
همچنین ما می توانیم طیف وسیعی از پورت ها را نیز مشخص کنیم ، یعنی بیش از یک پورت. نکته ای که باید به آن توجه شود این است که ما باید پروتکل را در دستور (tcp یا udp) مشخص کنیم. دستور زیر به پورت های 6000 تا 6003 برای tcp و udp اجازه اتصال می دهد.
sudo ufw allow 6000:6003/tcp
sudo ufw allow 6000:6003/udp
مرحله 4: بلاک کردن دسترسی
گاهی اوقات می خواهیم اتصالات خاصی را بر اساس آدرس IP رد کنیم. این به این دلیل است که گاهی اوقات می دانیم که سرور ما از آنجا مورد حمله قرار می گیرد. بنابراین ما یک Rule بلاک برای آدرس IP خاص ایجاد می کنیم. دستور زیر اتصال آدرس IP 203.0.123.5 را به عنوان مثال رد می کند.
sudo ufw deny from 203.0.123.5
مرحله 5: فعال کردن UFW
بعد از پیکربندی UFW لازم که انرا با دستور زیر فعال نماییم.
sudo ufw enable
پس از اجرای دستور بالا یک پیام هشدار دهنده خواهیم دید. می گوید که این فرمان ممکن است اتصالات SSH موجود را مختل کند. اما در این مورد ، ما قبلاً یک قانون فایروال ایجاد کرده ایم که به اتصالات SSH اجازه می دهد ، بنابراین در پیکربندی ما اختلال ایجاد نمی کند. y را وارد کرده و کلید ENTER را برای اعمال می زنیم. تنظیمات فایروال اکنون اعمال شده است.
مرحله 6: وضعیت UFW را بررسی کنید
ما می توانیم با دستور زیر وضعیت را بررسی کنیم که ایا فایروال فعال می باشد یا خیر.
sudo ufw status verbose