بررسی ساختار امنیتی Postfix

ارسالی عباس

مسلما کاربران حرفه ای لینوکس ٬ با نرم افزار Postfix آشنا بوده و در مورد عملکرد و ویژگی های آن اطلاعاتی دارند . اما جهت آشنایی کاربران دیگر٬ توضیحاتی مختصر در مورد آن خواهم داد .

 

 Postfix نرم افزاری « اپن سورس » با عنوان mail transfer agent ( MTA ) و یا نماینده انتقال ایمیل است ٬ همان طور که از نام آن به نظر می رسد جهت حمل و مسیر یابی ایمیل استفاده می شود و همواره از آن به عنوان نرم افزاری سریع با مدیریت آسان و امنیت بالا یاد می گردد که با نام های VMailer و IBM Secure Mailer نیز شناخته شده است .

– سیستم Postfix
Postfix از سیستم پیچیده ای تشکیل یافته است به نحوی که نسخه ابتدایی آن حدودا سی هزار خط کد در برنامه نویسی آن بود . قاعدتا در یک سیستم پیچیده نبایستی امنیت آن بر محور یک مکانیزم امنیتی باشد که در غیر این صورت ممکن است ایجاد یک خطا کلا سیستم پست الکترونیکی را از کار بیندازد ٬ قابل ذکر است که Postfix از چندین لایه جهت کنترل آسیب های نرم افزاری و دیگر خطاها استفاده می کند .
بیشتر پروسه های Postfix می توانند در یک محیط chroot ( محیط chroot در واقع یک محیط محدوده شده است ٬ نظیر یک زندان که زندانی نمی تواند به محیط خارج دسترسی داشته باشد ٬ برنامه ای که در یک فولدر با حالت chroot قرار گرفته باشد ٬ نمی تواند دسترسی به محیط بیرون داشته باشد ) اجرا گردند . این حالت بویژه جهت برنامه هایی نظیر SMTP سرور و SMTP کلاینت که اکثرا در مقابل تهدیدات شبکه بی دفاع هستند صدق می کند .

– پروسه های مستقل
اما مکانیزم دیگری که در Postfix پیاده شده است ٬ استفاده از پروسه های مستقل جهت جداسازی فعالیت پروسه ها از یگدیگر است ٬ بخصوص اینکه مسیر مستقیمی از شبکه به برنامه های داخلی که ساختار امنیتی حساسی دارند وجود ندارد . چنانچه شخصی بخواهد که به Postfix نفوذ کند ابتدا بایستی به پروسه های مختلف وارد شود ٬ بعضی از قسمت های Postfix حالت Multi-Threat را دارند و از طرفی تمام برنامه هایی که با دنیای بیرون در ارتباط هستند با حالت Single-Threat پیش می روند .

– کنترل برنامه ها
هیچ کدام از برنامه های delivery در Postfix تحت کنترل یک « user process » اجرا نمی گردند . بیشتر برنامه های Postfix تحت یک Daemon ( Daemon به زبان ساده پروسه ایست که در Background سیستم عامل اجرا شده و غالبا تحت کنترل کاربر نیستند ) مقیم در سیستم ٬ در یک محیط کنترل شده اجرا می گردند .

– مستقل از set-uid
نکته جالب دیگر این است که هیچ کدام از برنامه های Postfix ٬ set-uid ( setuid و هم خانواده آن setgid ٬ اکثرا به این دلیل به کار می رود که کاربر بتواند فایل های باینری را با حالتی موقت اجرا کند ) نیستند ٬ در واقع setuid موجب پیدایش اشکالات بیشتری می شود تا اینکه بخواهد سودمند باشد ! هر زمانی که یک ویژگی جدید به سیستم عامل یونیکس اضافه می شد ٬ set-uid باعث مشکل امنیتی می گردید : shared libraries ٬
پشتیبانی چند زبانه ٬ فایل سیستم /proc و … که همه این موارد نمونه ای از آن ها بود .

– چندی دیگر از ویژگی ها

:: حافظه جهت رشته ها و بافرها به طور دینامیک سازماندهی می شود ٬ به این دلیل که از مشکلات امنیتی buffer overrun جلوگیری گردد .
:: خط های طولانی در پیغام ها ٬ به قسمت هایی با سایز منطقی تقسیم بندی شده است.

و دیگر ویژگی های امنیتی که Postfix را در مقابل حملاتی نظیر buffer overrun مقاوم نموده است.

 

درباره abbas

اینرا هم چک کنید

کارگاه آموزشی وبلاگ سازی و رسانه های اجتماعی از سوی مجله فانوس در ولایت بلخ برگزار شد

مجله فانوس به سلسه برنامه ها و فعالیت های ظرفیت پروری و حمایت جوانان و …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *