در این مقاله با شما هستیم با راهکارهای آموزش افزایش امنیت سرور لینوکس Linux با رعایت نکات زیر می توانید سرور لینوکسی خود را ایمن کنید
۷ مرحله برای ایمن سازی سرور لینوکس خود :
این پرایمر شما را با امنیت اولیه سرور لینوکس آشنا می کند. در حالی که روی Debian/Ubuntu تمرکز دارد، میتوانید همه چیزهایی را که در اینجا ارائه شده است در سایر توزیعهای لینوکس اعمال کنید. من همچنین شما را تشویق می کنم که در مورد این مطالب تحقیق کنید و آن را در صورت لزوم گسترش دهید.
۱. سرور خود را به روز کنید
اولین کاری که برای ایمن سازی سرور خود باید انجام دهید، به روز رسانی مخازن محلی و ارتقاء سیستم عامل و برنامه های نصب شده با اعمال آخرین وصله ها است.
در اوبونتو و دبیان:
sudo apt update && sudo apt upgrade -y
در فدورا، CentOS یا RHEL:
sudo dnf upgrade
۲. یک حساب کاربری جدید ایجاد کنید
بعد، یک حساب کاربری جدید ایجاد کنید. شما هرگز نباید به عنوان روت وارد سرور خود شوید. در عوض، حساب شخصی خود را ایجاد کنید (“<user>”)، به آن حقوق sudo بدهید و از آن برای ورود به سرور خود استفاده کنید.
با ایجاد یک کاربر جدید شروع کنید:
adduser <username>
با افزودن (-a) گروه sudo (-G) به عضویت گروه کاربر، به حساب کاربری جدید خود حقوق sudo بدهید:
usermod -a -G sudo <username>
شما می خواهید از یک کلید SSH برای ورود به سرور جدید خود استفاده کنید. می توانید کلید SSH از پیش تولید شده خود را با استفاده از دستور ssh-copy-id در سرور جدید خود آپلود کنید:
ssh-copy-id <username>@ip_address
اکنون می توانید بدون نیاز به وارد کردن رمز عبور وارد سرور جدید خود شوید.
۴. SSH ایمن کنید
بعد، این سه تغییر را اعمال کنید:
غیرفعال کردن احراز هویت رمز عبور SSH
روت را از ورود از راه دور محدود کنید
دسترسی به IPv4 یا IPv6 را محدود کنید
/etc/ssh/sshd_config را با استفاده از ویرایشگر متن انتخابی خود باز کنید و از این خطوط اطمینان حاصل کنید:
PasswordAuthentication yes
PermitRootLogin yes
به این شکل نگاه کنید:
PasswordAuthentication no
PermitRootLogin no
سپس با تغییر گزینه AddressFamily، سرویس SSH را به IPv4 یا IPv6 محدود کنید. برای تغییر آن به استفاده از IPv4 (که برای اکثر مردم خوب است) این تغییر را انجام دهید:
AddressFamily inet
سرویس SSH را مجددا راه اندازی کنید تا تغییرات شما فعال شود. توجه داشته باشید که قبل از راه اندازی مجدد سرور SSH، بهتر است دو اتصال فعال به سرور خود داشته باشید. داشتن آن اتصال اضافی به شما امکان میدهد تا در صورت راهاندازی مجدد اشتباه، هر چیزی را برطرف کنید.
در اوبونتو:
sudo service sshd restart
در فدورا یا CentOS یا هر چیزی که از Systemd استفاده می کند:
sudo systemctl restart sshd
۵. فایروال را فعال کنید
آموزش افزایش امنیت سرور لینوکس
اکنون باید یک فایروال را نصب کنید، آن را فعال کنید و پیکربندی کنید که فقط به ترافیک شبکه ای که شما تعیین می کنید اجازه دهد. فایروال بدون عارضه (UFW) یک رابط کاربری آسان برای iptable ها است که فرآیند پیکربندی فایروال را بسیار ساده می کند.
شما می توانید UFW را با موارد زیر نصب کنید:
sudo apt install ufw
به طور پیش فرض، UFW همه اتصالات ورودی را رد می کند و همه اتصالات خروجی را اجازه می دهد. این بدان معناست که هر برنامهای روی سرور شما میتواند به اینترنت دسترسی پیدا کند، اما هر چیزی که سعی در دسترسی به سرور شما داشته باشد نمیتواند متصل شود.
ابتدا مطمئن شوید که می توانید با فعال کردن دسترسی به SSH، HTTP و HTTPS وارد شوید:
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
سپس UFW را فعال کنید:
sudo ufw enable
می توانید ببینید با چه خدماتی مجاز و ممنوع است:
sudo ufw status
اگر می خواهید UFW را غیرفعال کنید، می توانید این کار را با تایپ کردن زیر انجام دهید:
sudo ufw disable
همچنین می توانید از فایروال-cmd استفاده کنید که قبلاً در برخی از توزیع ها نصب و ادغام شده است.
۶. Fail2ban را نصب کنید
Fail2ban برنامهای است که گزارشهای سرور را به دنبال حملات مکرر یا خودکار بررسی میکند. اگر موردی پیدا شود، فایروال را تغییر می دهد تا آدرس IP مهاجم را به طور دائم یا برای مدت زمان مشخص مسدود کند.
شما می توانید Fail2ban را با تایپ کردن نصب کنید:
sudo apt install fail2ban -y
سپس فایل پیکربندی موجود را کپی کنید:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
و Fail2ban را مجددا راه اندازی کنید:
sudo service fail2ban restart
این تمام چیزی است که در آن وجود دارد. این نرم افزار به طور مداوم فایل های گزارش را به دنبال حملات بررسی می کند. پس از مدتی، برنامه لیستی کامل از آدرس های IP ممنوعه ایجاد می کند. با درخواست وضعیت فعلی سرویس SSH می توانید این لیست را مشاهده کنید:
sudo fail2ban-client status ssh
۷. سرویس های استفاده نشده روی شبکه را حذف کنید
تقریباً تمام سیستمعاملهای سرور لینوکس دارای چند سرویس شبکه فعال هستند. شما می خواهید بیشتر آنها را نگه دارید. با این حال، چند مورد وجود دارد که ممکن است بخواهید آنها را حذف کنید. با استفاده از دستور ss می توانید تمام سرویس های در حال اجرا شبکه را مشاهده کنید:
sudo ss -atpu
خروجی ss بسته به سیستم عامل شما متفاوت خواهد بود. این نمونه ای از چیزی است که ممکن است ببینید. این نشان میدهد که سرویسهای SSH (sshd) و Ngnix (nginx) در حال گوش دادن هستند و برای اتصال آماده هستند:
tcp LISTEN 0 128 *:http *:* users:((“nginx”,pid=22563,fd=7))
tcp LISTEN 0 128 *:ssh *:* users:((“sshd”,pid=685,fd=3))
نحوه حذف یک سرویس استفاده نشده (“<service_name>”) بسته به سیستم عامل شما و مدیر بسته ای که استفاده می کند متفاوت است.
برای حذف یک سرویس استفاده نشده در Debian/Ubuntu:
sudo apt purge <service_name>
برای حذف یک سرویس استفاده نشده در Red Hat/CentOS:
sudo yum remove <service_name>
دوباره ss -atup را اجرا کنید تا بررسی کنید که سرویس های استفاده نشده دیگر نصب و اجرا نمی شوند.
افکار نهایی
این آموزش حداقل حداقل مورد نیاز برای سخت کردن سرور لینوکس را ارائه می دهد. لایه های امنیتی اضافی بسته به نحوه استفاده از سرور می توانند و باید فعال شوند. این لایهها میتوانند شامل مواردی مانند پیکربندی برنامههای فردی، نرمافزار تشخیص نفوذ، و فعال کردن کنترلهای دسترسی، به عنوان مثال، احراز هویت دو مرحلهای باشند.
تبریک می گوئیم مطلب آموزش افزایش امنیت سرور لینوکس به پایان رسید با مطالب بعدی مثل همیشه حتما ما را همراه کنیذ!