بررسی امنیتی Postfix(483 مجموع کلمات موجود در متن) (5065 بار مطالعه شده است) بررسی
ساختار امنیتی 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
به
زبان ساده پروسه ایست که در Background
سیستم
عامل اجرا شده و غالبا تحت کنترل کاربر
نیستند)
مقیم
در سیستم ٬ در یک محیط کنترل شده اجرا
میگردند.
مستقل
از set-uid
نکته
جالب دیگر این است که هیچ کدام از برنامههای
Postfix
٬
set-uid)
setuid و
هم خانواده آن setgid
٬
اکثرا به این دلیل به کار میرود که کاربر
بتواند فایلهای باینری را با یک دسترسی
موقت اجرا کند)
نیستند
٬ در واقع setuid
موجب
پیدایش اشکالات بیشتری میشود تا اینکه
بخواهد سودمند باشد!
هر
زمانی که یک ویژگی جدید به سیستم عامل
یونیــکس اضـافه میشد ٬ set-uid
باعث
مشکل امنیتی میگــردیـد:
shared libraries ٬
پشـتـیبانی چــند زبــانه٬ فــایـل سیستم
proc/
و
...
که
همه این موارد نمونهای از آنها بود.
چندی
دیگر از ویژگیها
۱)
حافظه
جهت رشتهها و بافرها به طور دینامیک
سازماندهی میشود ٬ به این دلیل که از
مشکلات امنیتی buffer
overrun جلوگیری
گردد .
۲)
خطهای
طولانی در پیغامها٬ به قسمتهایی با
سایز منطقی تقسیم بندی شده است.
و
دیگر ویژگیهای امنیتی که Postfix
را
در مقابل حملاتی نظیر buffer
overrun مقاوم
نموده است.
احسان
امیدوار ehsan.omidvar@gmail.com
PDF Version
[۱]
http://www.postfix.org [۲]
http://en.wikipedia.org |