فایروال با ufw: کمترین چیزی که هر سرور تازه لازم دارد

· ۵ دقیقه مطالعه

امنیتشبکه

سروری که تازه تحویل می‌گیرید معمولاً هیچ فایروالی ندارد و هر سرویسی که نصب کنید از همه‌جا در دسترس است. ufw لایه‌ی ساده‌ای روی iptables است که برای بیشتر سرورهای کوچک کافی است.

ترتیب درست

اشتباه رایج این است که اول فایروال را روشن کنید و بعد یادتان بیفتد SSH را باز نکرده‌اید. ترتیب امن این است:

ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status verbose

اگر درگاه SSH را عوض کرده‌اید، همان عدد را به جای 22 بنویسید. قبل از بستن نشست فعلی، یک ترمینال دوم باز کنید و مطمئن شوید هنوز می‌توانید وارد شوید.

محدود کردن به یک نشانی

بعضی درگاه‌ها نباید برای همه باز باشند. مثلاً پایگاه داده فقط باید از سرور برنامه در دسترس باشد:

ufw allow from 10.0.0.5 to any port 5432 proto tcp

برای SSH هم ufw limit 22/tcp به جای allow گزینه‌ی خوبی است: اگر یک نشانی در ۳۰ ثانیه بیش از شش بار وصل شود، موقتاً مسدود می‌شود.

حذف یک قاعده

ufw status numbered
ufw delete 3

داکر و ufw با هم کنار نمی‌آیند

این را کمتر کسی می‌داند تا وقتی که دیر شده باشد. داکر قواعد خودش را مستقیم در iptables می‌نویسد و ufw آن‌ها را نمی‌بیند. اگر کانتینری را با -p 5432:5432 بالا بیاورید، آن درگاه از بیرون باز است، حتی اگر ufw status چیز دیگری بگوید.

ساده‌ترین راه این است که درگاه را فقط روی localhost منتشر کنید:

ports:
  - "127.0.0.1:5432:5432"