امنیت سرور‌های لینوکسی (بخش اول)

Linux Server Security
Linux Server Security
هیچ مقدمی درباره‌ این موضوع نداریم، چون مهم هست! و کسی که مبحث سرور لینوکسی رو می‌شناسه اهمیت امنیتش رو هم می‌دونه. لذا ...

امنیت سرور ۳ بخش عمده داره:

  1. جلوگیری از نفوذ
  2. ترمیم و یا پیدا کردن فایل‌های مخرب
  3. پیدا کردن محل نفوذ


** یک نکته‌ی مهم رو ابتدا اشاره کنم. من امنیت کار حرفه‌ای نیستم و شغلم هم نیست. ولی آنچه رو که در طی ده سال به تجربه و مطالعه کسب کردم رو برای راهنمایی تازه کارها اینجا قرار میدم.

برای جلوگیری از نفوذ باید با حمله‌ها و روش‌های نفوذ آشنا باشیم. یک‌سری روش‌های معمول هست مثل:

XSS

DoS

Password Attack

& etc.

برای آشنایی به حمالات رایج به اینجا مراجعه کنید.

بعضی از حمله مستقیم به سرور صورت می‌گیره و برخی از طریق وب‌سایت. مثلا DoS از طریق سرور هست و XSS از طریق وب‌سایت و Password attack روی هر دو امکان پذیر هست. بعضی از حملات رو مثل حمله‌ی گذرواژه میشه به سادگی جلوش رو گرفت. کافی رمز عبور سختی برای بخش‌های متعدد سرور و سایتتون انتخاب کنید. برای اطلاعات بیشتر به اینجا و اینجا سر بزنید.

برای جلوگیری از حملاتی که از طریق وب‌سایت انجام می‌شند، تا جای ممکن از نرم‌افزار‌های آماده و امن مثل دروپال برای وب‌سایتتون استفاده کنید و همیشه با هر آپدیت امنیتی که منتشر میشه نرم‌افزارتون رو به‌روز کنید. نکته‌ی حائز اهمیت اینجاست که اگر برای این نرم‌افزارها کد نویسی می‌کنید حتما از استانداردهای تعیین شده‌ی تیم نرم‌افزاری پیروی کنید. یکی از رایج‌ترین و البته میشه گفت چیپ‌ترین حملات SQL Injection هست. به این دو مدل کد نویسی دقت کنید.

db.query('select * from users where name like "'+ request.name '"');


db.select('user').fields('*').where('name', request.name);

در مورد اول مشاهده میشه که برنامه‌نویس مقدار دریافتی از کاربر رو مستقیما داخل کوئری قرار داده و در مورد دوم برنامه‌نویس با استفاده از کتابخانه‌ی DBAL نرم‌افزار مقدار ارسالی کاربر رو به صورت آرگومان داخل متد where گذاشته. DBAL ها تکنیک‌هایی دارند تا مقادیری رو که بهشون پاس میدیم رو escape کنند.

مورد فوق یکی مواردی هست که اگر از استانداردهای فریم‌ورک، CMS و ... استفاده نکنیم، میزان مخاطرات نفوذ به سیستم رو بالا خواهیم برد.


در بخش بعدی به مدیریت فایل‌ها می‌پردازیم.