توصیه هایی در مورد امنیت لینوکس

 

استفاده از SSH برای لاگین ریموت امن

 

وقتی سروری را مدیریت می‌کنید که دسترسی لوکال به آن ندارید، باید از راه دور لاگین کنید. روش استاندارد و امن انجام این کار در سیستم لینوکس، از طریق پروتکلی بنام SSH (شل امن) است.

SSH قابلیت رمزگذاری مبدا به مقصد ( end-to-end)، توانایی تونل کردن ترافیک ناامن از طریق یک اتصال امن، X-forwarding (رابط کاربریِ گرافیکی در یک اتصال شبکه)و امکانات بیشتری را در اختیارتان می‌گذارد. بطور ساده، اگر به یک اتصال محلی و یا مدیریتِ خارج از باند ندارید، SSH راه اصلی ارتباط شما با دستگاه است.
با وجود اینکه این پروتکل بسیار امن است و تحقیقات و مطالعات بسیاری بر روی آن انجام شده، تصمیماتی که شما در کانفیگ کردن آن می‌گیرید، می‌توانند امنیت لینوکس را بیشتر کنند و یا آنرا در خطر بیاندازند.

لاگین با پسوورد در مقایسه با لاگین با کلید SSH

SSH دارای مدل احراز هویت انعطاف پذیری است که به شما اجازه می‌دهد به روش‌های مختلفی وارد سیستم شوید. دو گزینه‌ی محبوب و رایج آن، ورود با پسوورد و ورود با کلید SSH هستند. لاگین با پسوورد، عادی‌ترین روش لاگین برای کاربران بنظر می‌رسد اما بهتر است بدانید که این گزینه، از گزینه‌ لاگین با کلید SSH از امنیت کمتری برخوردار است. لاگین با پسورد به هکر‌ها این امکان را می‌دهد که با حدس زدن و وارد کردن پسوردهای تصادفی، در نهایت به پسورد درست برسند. این روش، حمله‌ی brute-force می‌گویند و امروزه با استفاده از ابزارهای مدرن براحتی قابل انجام است.

اما روش کار لاگین با کلید‌های SSH ، تولید یک جفت کلید امن است. یک کلید عمومی برای شناسایی کاربر تولید می‌شود. می‌توان این کلید را بطور عمومی به اشتراک گذاشت و کاربرد دیگری به غیر از شناسایی کاربر و دادن اجازه‌ی لاگین به کاربری با کلید خصوصیِ منطبق با این کلید عمومی ندارد. کلید خصوصی برای گذشتن از سدِ کلید عمومی مربوطه مورد استفاده قرار می‌گیرد و باید آنرا محرمانه نگه داشت.
به زبان ساده، بعد از وارد کردن کلید SSH عمومی در سرور، می‌توانید با استفاده از کلید خصوصیِ مربوطه لاگین کنید. این کلیدها بقدری پیچیده هستند که حملات brute-force در یافتن آنها تاثیری ندارند. به علاوه، بمنظور افزایش امنیت لینوکس، می‌توانید عباراتی نیز به کلید خود اضافه کنید.

برای بستن آدرس‌های IP مشکوک ، از fail2ban استفاده کنید

یکی از اقدامات مهم در جهت افزایش امنیت لینوکس و SSH، استفاده از سرویس‌هایی مانند fail2ban است. این سرویس فایل‌های لاگ را بررسی می‌کند، کاربران خرابکار را شناسایی می‌کند و بطور موقت اجازه عبور ترافیک مربوط به آدرس IP مربوطه را ممنوع می‌کند.

داشتن یک سیاست fail2ban محکم و قابل اطمینان، به شما این امکان را می‌دهد که کامپیوترهایی را که بطور مداوم سعی در لاگین‌های ناموفق دارند، علامت گذاری کنید و سپس قوانینی در فایروال خود اضافه کنید تا ترافیک مربوط به آنان برای مدتی مسدود شود. این روش، راه حلی بسیار ساده برای جلوگیری از حملات brute force است زیرا برای مدتی جلوی حملات از منبع مربوطه را می‌گیرد و بعد از اتمام این مدت نیز، معمولاً حملات ادامه نمی‌یابند.

از IDS ( سیستم تشخیص نفوذ ) برای ردیابی دسترسی غیرمجاز استفاده کنید

یکی از اقدامات امنیتی مهم، داشتن یک استراتژی برای تشخیص دسترسی غیرمجاز است. این روش، در صورتی که اقدامات پیشگیرانه ی دیگر جوابگو نباشند، به کمک شما می‌آید.

سیستم تشخیص نفوذ (IDS)، مشخصات فایل‌ها و تنظیمات سیستم در حالت عادی و نرمال را دسته بندی و ذخیره می‌کند. سپس وضعیت کنونی فایل‌ها و تنظیمات را با تنظیمات و فایل های ثبت شده در حالت عادی و نرمال سیستم مقایسه می‌کند تا ببیند آیا فایل ها تغییر پیدا کرده اند یا نه؟ و یا تنظیمات سیستم دستکاری شده است یا خیر؟
در اینجا به معرفی تعدادی از این سیستم‌های تشخیص نفوذ می‌پردازیم.

Tripwire

Tripwire یکی از مشهورترین ISDهاست که دیتابیسی از فایل‌های سیستم را جمع‌آوری می‌کند و فایل‌های کانفیگ و باینری‌ها را با کمک مجموعه‌ای از کلیدها محافظت می‌کند. پس از مشخص نمودن و ذخیره جزئیات کانفیگ سیستم و تعریف استثناها، این سیستم تشخیص نفوذ در بررسی های بعدی سیستم و تنظیمات آن هرگونه تغییرات در فایل های مورد نظر و کانفیگ سیستم را تشخیص خواهد داد.

سیاست این سیستم تشخیص نفوذ بسیار انعطاف پذیر بوده و به شما اجازه می‌دهد که خصوصیات آن را با توجه به نیازهای محیط خود تنظیم کنید. سپس می‌توانید کارهای tripwire را از طریق یک کرون جاب کانفیگ و حتی در صورت مشاهده‌ی فعالیت مشکوک، از طریق ایمیل به ادمین اطلاع رسانی کند.

Aide

Aide گزینه‌ی دیگری از IDSهاست که شبیه به tripwire عمل می‌کند به این صورت که دیتابیسی تشکیل می‌دهد، سپس وضعیت فعلی سیستم را با سوابق ذخیره شده در دیتابیس مقایسه می‌کند و در صورت مشاهده‌ی هرگونه عدم تطابق، مدیریت سیستم را مطلع می‌سازد. در واقع Aide و Tripwire هر دو راه حلی مشابه ارائه می‌دهند و انتخاب هر کدام از آنها به سلیقه‌ی شخصی شما بستگی دارد.

Psad

حیطه‌ کاریِ ابزار Psad با دو مورد قبلی کمی فرق دارد. این ابزار بجای تحت نظر گرفتن فایل‌های سیستم‌، به بررسی و نظارت بر لاگ‌های فایروال و شناسایی فعالیت‌های مشکوک و مخرب می‌پردازد.

به عنوان مثال، اگر کاربری با استفاده از اسکن پورت سعی در شناسایی آسیب پذیری‌های سیستم داشته باشد، Psad این فعالیت را شناسایی می‌کند و سپس با ایجاد تغییراتی در قوانین فایروال، کاربر مورد نظر را بلاک می‌کند. در صورت بروز مشکل، این سیستم با در نظر گرفتن شدت خطر احتمالی، اقدامات متفاوتی، از بلاک کردن تا اطلاع دادن به مدیر سیستم از طریق ایمیل، انجام می‌دهد.

Bro

BRO یکی دیگر از IDSهای برپایه‌ی شبکه می‌باشد. این ابزار در واقع چهارچوبی برای مانیتورینگ شبکه است که می‌توان از آن به عنوان IDS و یا مقاصد دیگری مانند جمع آوری اطلاعات وضعیت سیستم، بررسی مشکلات و شناسایی الگوها استفاده کرد.

سیستم Bro از دو لایه تشکیل می‌شود. لایه‌ی اول فعالیت را تحت نظر می‌گیرد و رویداد (event) ایجاد می‌کند. لایه‌ی دوم رویداد ایجاد شده را در چهارچوب قوانینی اجرا می‌کند که سرنوشت ترافیک مربوطه را تعیین می‌کند. ممکن است اقداماتی از قبیل ایجاد هشدار، اجرای فرمان‌های سیستمی و ثبت لاگ انجام دهد.

RKHunter

RKHunter که در اصل نمی‌توان آنرا یک سیستم تشخیص نفوذ خواند، بر پایه‌ی اصولی مشابه به دیگر سیستم‌های تشخیص نفوذِ مبتنی بر هاست عمل می‌کند و بدافزارها و rootkit ها را شناسایی می‌کند.

در حالی که در محیط لینوکس احتمال وجود ویروس کم است، با این وجود بدافزارها و rootkit ها وجود دارند که می‌توانند سیستم شما را به خطر بیاندازند و به هکرها اجازه‌ی دسترسی بدهند. RKHunter لیستی از اکسپلویت‌های شناخته شده را دانلود می‌کند و سپس سیستم شما را از این نظر بررسی می‌کند. به علاوه، در صورتی که به تنظیمات نا امن در برنامه ها بر بخورد، شما را در جریان می‌گذارد.

منبع

ترجمه شده توسط : شراره یعقوبی

لینک کوتاه مقاله :