ورود/ایجاد حساب کاربری
   منوی اصلی
· خانه
· لیست کاربران
· جستجو
· آمار مشاهدات
· آرشیو مقالات


- شرح
· راهنمای نویسندگان
· درباره ما

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

   کاربران
سردبیر
هیچ مدیر کمکی حاضر
همکاران
هیچ مدیر کمکی حاضر
اعضا:
جدیدترین:جدید امروز:0
جدیدترین:جدید دیروز:0
جدیدترین:مجموع:2471
جدیدترین:جدیدترین:
ufumenarayu
اعضا:حاضر
اعضا:اعضا:0
مهمان‌ها:مهمان‌ها:9
مجموع:مجموع:9
کاربران حاضر
هیچ کاربر حاضری وجود ندارد

   ورود کاربران




 


 برای ورود مشکل دارید؟
 ثبت نام کاربران جدید

بررسی امنیتی 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

تمامی مطالب و مقالات این سایت تحت مجوز GNU FDL قرار دارند. بنابراین کپی و ایجاد تغییر در آنها مطابق شرایط این مجوز آزاد می‌باشد.