محمد لینوکس

همه چیز به غیر از لینوکس!

محمد لینوکس

همه چیز به غیر از لینوکس!

چگونه یک Webcam را روی سایتتان نصب کنید؟

کاری کنید که ملاقات با شما از طریق webcam در اینترنت جذاب باشد. ثابت شده است که دوربین های وب برای هر کاری مناسب هستند. از گرفتن تصاویر ساده در منزل شما، تا مسافرت های تفریحی و کنفرانس های ویدیویی، وب کم ابزاری است که می تواند به سایت های مختلف اضافه شود. در ضمن اینکه نرم افزارهای جدید و دوربین های ارزان قیمت استفاده از وب کم را برای سایت ها بسیار ساده نموده است.
شما برای استفاده از وب کم نیازی به دوربین های مدل بالا ندارید. زیرا برای تصاویر قابل استفاده در اینترنت وضوح و کیفیت پایین هم کافی است. در بیشتر موارد همان دوربین هایpixels ۳۲۰ *۲۴۰ که فراوان نیز می باشند مناسب هستند. وب کم در واقع رایج ترین وسیله ضبط تصاویر، عکس ها و قطعات صدا در دنیا می باشد. این نوع دوربین ها می توانند برای فیلم گرفتن ، یا انجام مکالمات رو در روی اینترنتی، اسکن تصاویر و عکسبرداری با کیفیت بالا استفاده شوند. وب کم می تواند به سادگی به لپ تاپ متصل شود.(یک اسکرین سیور بیومتریک در هنگام استفاده نکردن از لپ تاپ آن را قفل کرده و زمانی اجازه دسترسی به رایانه را می دهد که چهره شما را به درستی شناسایی نماید.)

وب کم ثابت یا متحرک
وب کم های ثابت ارزانترین دوربین ها هستند و نصب آنها هم بسیار ساده است. آنها تصاویر ثابت را با فاصله زمانی قابل تنظیم (۱۵ ثانیه، ۶۰ ثانیه و ۵ دقیقه و یا بیشتر) می گیرند و با استفاده از FTP در وب سایت ذخیره می کنند.
دوربین های متحرک امکان انتشار تصاویر متحرک روی اینترنت را دارند و تا (چهار بیت) تصویر در ثانیه را منتقل می کنند. اما این دوربین ها بسیار گران هستند و نصب آنها نیز مشکل است. این دوربین ها بیشتر برای تصویربرداری وسیع در مکان های پررفت وآمد مورد استفاده قرار می گیرند. برای نصب یک وب کم دریک سایت، یک ارتباط خیلی قوی اینترنتی و یک باند مخابراتی با عرض بالا و سرورهای ویدیویی قوی که به آدرس IP ویژه اختصاص دارند، نیاز است.

انتخاب موضوع
هر چند نمی توان این موضوع را انکار کرد که تصاویر متحرک و خوش منظر همواره بیشترین طرفدار و مراجعه کننده را دارد، ولی اساس کار وب کم بر این است که بتواند حتی برای تصاویر ساده و بی تحرک هم مخاطبین زیادی را جذب کند. زیرا با وجود همه علاقه ای که به تصاویر متحرک وجود دارد، یکی از مشهورترین تصاویر و پرطرفدار وب کم ، دوربینی بود که روی یک قوری قهوه در دانشگاه کمبریج ثابت شده بود!!
در مورد نصب وب کم باید احتیاط بیشتری نمایید و هنگام استفاده از آن به فکر امنیت امور خصوصی تان هم باشید!
گام اول) انتخاب صحنه تصویر. در ابتدا یک صحنه دور را انتخاب کنید که جالب باشد. سپس دوربین را روی آن متمرکز کنید و حتما دوربین را روی سطح صافی قرار دهید. اگر قرار نیست که دوربین شما ۲۴ ساعته کار کند، فهرست زمانی برای سایت خود تعیین کنید و چند تصویر جالب هم به آن اضافه کنید تا مراجعه کنندگان به سایت شما راغب شوند که باز هم به آن وصل شوند. اگر وب کم شما در ساختمان است، با تأمین نور لازم این امکان را برای مراجعه کنندگان فراهم سازید، که صحنه شب را هم ببینند.
گام دوم) دوربین را وصل کنید. قاعدتا نباید در وصل کردن یک وب کم به سیستم تان مشکلی پیش بیاید. بیشتر رایانه ها اتصال USB را دارند و در عین حال امکان اتصال های Parallel نیز برایشان وجود دارد. حالا نرم افزار دوربین وب خود را نصب کنید. (بهتر است یک کابل USB هم تهیه کنید تا مشکل اتصال پیش نیاید.)
گام سوم) نرم افزار را تهیه کنید. شما نیاز به برنامه ای دارید که از نوار ویدیویی چند قطعه عکس تهیه کند، آنها را تبدیل به JPG کند و سپس در رایانه تان با فاصله های زمانی تنظیم شده ذخیره کند. می توانید به سایت
http://developers.webcamworld.com/slist.html مراجعه کنید و تا برنامه های مختلفی در این زمینه بدست آورید.
گام چهارم) جزئیات FTP را تنظیم کنید. جزئیات FTP سرورتان را وارد کنید و برای نرم افزار مشخص کنید که نام فایل چیست و روی سایت شما در کجا باید قرار بگیرد. (بیشتر نرم افزارها دارای انواع FTP wizard هستند و شما را راهنمایی می کنند.)

گام پنجم) فاصله زمانی ذخیره سازی را تنظیم کنید.
تنظیم کنید که دوربین وب شما با چه فاصله زمانی باید تصاویر را برداشت و در سرور شما ذخیره کند. روی هر بیت ثانیه نگذارید مگر این که عرض باند کافی در اختیار داشته باشید. برنامه باید زمان کافی برای ذخیره سازی یک تصویر قبل از این که تصویر دیگری بیاید را داشته باشد.
گام ششم) تنظیمات را انجام دهید.
هر چند حالت تنظیمات default (پیش فرض) برای بیشتر مواقع مناسب است، ولی وضوح و ترکیبات رنگ را در صورتی که تصویر شما واضح نیست دستی انجام دهید. از صحنه هایی که ترکیب رنگ تندی دارند پرهیز کنید و از تصاویر فشرده هم استفاده نکنید.
گام هفتم) صفحه خود را بسازید.
دوربین را روی Home Page نگذارید، زیرا در صورتی که درست عمل نکند صفحه بدمنظر می شود. (البته اگر از Java استفاده می کنید.) در این صورت سرعت نمایان شدن صفحه هم کند می شود. اگر نرم افزار شما Java را پشتیبانی می کند، آخرین تصاویر برداشت شده را همواره اضافه کنید تا آخرین تغییرات را نمایش دهید و اطلاعات و اتصال های مربوط به منظر برداشت شده را اضافه کنید. در سایتی که به شما معرفی می کنیم صفحات الگویی تغییرات تصویر آماده وجود دارد.
http://developers.webcamworld.com/templates.html
گام هشتم) بازسازی کنید.
صفحه HTML شما نیاز به بازسازی دارد تا مراجعه کنندگان شما همواره آخرین تصاویر را ببینند. آسانترین راه برای انجام این کار استفاده از برچسب (META REFERESH ) در (HEAD) صفحه HEML می باشد. ولی این کار باعث می شود که کل صفحه شما هر بار مجدداً ذخیره شود.
به جای آن سعی کنید از شیوه بازسازی Java Script که در سایت
http://www.help4webcams.com/javascript.shtml وجود دارد استفاده کنید ویا از نرم افزار رایگانjava applets استفاده کنید، این نرم افزار در سایت http://www.surveyor.com/ support/web cam32 help/java.htmlموجود است.
گام نهم) ارتقا دهید.
بگذارید مراجعه کنندگان اکثر چیزها را درباره سایت شما بدانند.
سایت خود را در مجموعه های webrings و webcam Communities و سایت هایی مانند UK webcam و Earhcam اضافه کنید.
ولی اطلاع داشته باشید که دوربین های وب بخش زیادی از عرض باند شما را اشغال می کنند و مراجعات زیاد باعث محدود شدن امکان میزبانی شما می شود.
بنابراین همیشه اول webhost خود را چک کنید.

منبع:www.iritn.com

پیکربندی IIS با رعایت مسائل امنیتی ( بخش پنجم )

سازماندهای دایرکتورهای FTP
بمنظور کنترل و هدایت مناسب سرویس دهنده FTP ، پیشنهاد می گردد که دایرکتوری ها بر اساس سیاست های مشخص شده ای  برای کاربران ایجاد و سازماندهی گردند . برای دریافت فایل ، اسامی دایرکتوری ها  می بایست نشاندهنده محتویات دایرکتوری باشد . مثلا" درایورهای مربوط به دستگاهها ( Device Drivers ) می توانند بر اساس  دایرکتوری هائی سازماندهی گردند که مرتبط و هماهنگ شده با اسامی سیستم عامل مربوطه باشد . در رابطه با این نوع دایرکتوری ها ، می بایست سطح دستیابی مجاز ، فقط خواندنی ( Read only ) در نظر گرفته شود.  برای ذخیره سازی موقت فایل های ارسالی توسط سرویس گیرندگان و قبل از اینکه آنان را در دایرکتوری مستقر نمائیم که امکان Download عمومی آنان فراهم گردد ، می بایست یک دایرکتوری موقت را  ایجاد و پس از استقرار فایل های ارسالی  توسط کاربران در آن  و بررسی مسائل امنیتی ، فایل های ارسالی تائید شده  را در دایرکتوری مربوط به Download  عمومی ، مستقر نمود. دایرکتوری  موقت ،  می بایست  صرفا" دارای  مجوز نوشتن ( Write ) برای  Account مربوط به anonymous باشد . دایرکتوری FTP که برای Download نمودن کاربران پیکربندی می گردد ، صرفا" می بایست دارای مجوز "فقط خواندنی " باشد . رویکرد فوق ، ممکن است زمینه ساز مسائل اندکی نیز باشد چراکه کاربران ناشناس ( anonymous ) قادر به مشاهده فایل های Upload شده توسط سایر کاربران نمی باشند ولی این امر آنان را در مقابل تغییر و یا حذف فایل ها ،محفاظت خواهد کرد( فایل های ارسالی توسط سایر کاربران در یک دایرکتوری موقت ذخیره که سایر کاربران امکان مشاهده آن را نخواهند داشت ، پس از بررسی لازم در خصوص فایل های ارسالی و استقرار آنان توسط مدیریت سایت در دایرکتوری عمومی در نظر گرفته شده برای Download ، امکان استفاده از آنان برای سایر کاربران نیز فراهم خواهد شد )   . رویکرد فوق ، همچنین سایت FTP را در مقابل  کاربران غیر مجازی که اقدام به ارسال و ذخیره سازی نرم افزارهای غیرقانونی  و یا ابزارهای hacking  می نمایند ، حفاظت می نماید  . مدیریت سایت ، می بایست بصورت مستمر فایل های ارسالی توسط کاربران به دایرکتوری موقت  را بررسی و پس از اطمینان از مسائل امنیتی وسایر موارد مورد نظر ، آنان را دایرکتوری مختص Download، مستقر نماید . دایرکتوری فوق ، صرفا" می بایست دارای مجوز فقط خواندنی باشد  .

FTP site Tab
خصلت های موجود در این بخش مشابه خصلت های موجود در web site Tab می باشند ولی کاربرد آنان در رابطه با سرویس FTP خواهد بود .در این رابطه مدیریت سایت  می تواند ، مشخصه ای را برای سایت FTP ، کنترل تعداد اتصالات و تنظیم یک زمان ارتباط Timeout تعریف و مشخص نماید . توصیه می گردد که گزینه Enable logging انتخاب و برای مشخص نمودن زمان Timeout ، مقداری در نظر گرفته شود که اولا" باعث استفاده مطلوب و بهینه از سایت شده و ثانیا" بتوان حملات از نوع  Denial of Service  :  DoS ( غیرفعال نمودن و ایجاد اختلال در ارائه  سرویس و خدمات به کاربران مجاز) را کنترل و  تشخیص داد .

Security Accounts Tab
با استفاده از امکانات موجود در این بخش ، می توان دستیابی anonymous  و اپراتورهای سایت FTP را  مشخص و پیکربندی نمود. پیشنهاد می گردد که Allow only anonymous connections   ، انتخاب تا محدودیت دستیابی صرفا" مرتبط با اتصالات anonymous گردد . پس از انتخاب گزینه فوق ، کاربران قادر به log on نمودن با نام و رمز عبور واقعی خود نخواهند بود ( در چنین حالتی اطلاعات مربوط به account کاربر  بصورت شفاف و بدون رمزنگاری ارسال خواهد شد ) . بدین ترتیب ، سرویس دهنده FTP در مقابل برخی حملات که ممکن است از account مدیریت سیستم و یا یکی از کاربران مجاز سوءاستفاده گردد ، محفاظت خواهد شد ( account های فوق، می توانند  دارای مجوزهای خاصی در ارتباط با دستیابی به سرویس دهنده باشند ) . در این رابطه لازم است به این نکته نیز اشاره گردد که حتی با انتخاب گزینه فوق ، محدودیتی در رابطه با log on نمودن کاربران مجاز با استفاده از نام و رمز عبور مربوطه  بوجود نخواهد آمد . کاربری که به  براساس عادت  در مواجهه با نمایش پیام FTP  ، نام و رمز عبور خود را برای ورود به سایت وارد می نماید ، می بایست به این مسئله توجه نماید که حتی اگر درخواست  وی پذیرفته نگردد ، ولی با توجه به ارسال اطلاعات مرتبط با account وی بصورت شفاف و بدون اعمال هرگونه رمزنگاری،  می تواند زمینه بروز مشکلات امنیتی در ارتباط با سرویس دهنده FTP را بدنبال داشته باشد.زمانیکه کاربران بعنوان  anonymous به سایت log on می نمایند ، از آدرس پست الکترونیکی آنان بعنوان رمز عبور استفاده می گردد . سرویس دهنده FTP در ادامه از account با نام  IUSR_computername  بعنوان logon account بمنظور بررسی مجوزهای مورد نظر ، استفاده خواهد کرد . لازم است به این نکته نیز اشاره گردد که Integrated windows authentication در رابطه با سرویس FTP  وجود ندارد. در قسمت پائین پنجره مربوط به Security Accounts Tab ، امکانات لازم  بمنظور مشخص نمودن account مربوطه به مدیریت سایت FTP وجود دارد .

در این رابطه لازم است گزینه Allow IIS to control password ، بمنظور تطبیق account مربوط به anonymous و رمز عبور ( عموما" بصورت IUSR_computername ) با account ایجاد شده در بخش users مربوط به Computer management  ، انتخاب گردد . در صورتیکه IUSR_computername شامل account مربوط به anonymous نباشد ، می بایست مطمئن گردید که  account تعریف شده یک account  بر روی کامپیوتر محلی ( local computer ) است . بدین ترتیب ، در صورت عدم دستیابی به  Domain controller   ، سرویس دهنده وب قابل دسترس  خواهد بود .(در صورتیکه  account مربوط به anonymous یک domain account در نظر گرفته شده باشد ) .

Messages Tab
با استفاده از امکانات موجود در این بخش می توان سه نوع پیام را بمنظور نمایش برای کاربران  مشخص نمود: Welcome ( ورود به سایت FTP ) ، پیام Exit بمنظور خروج یک کاربر از سایـت و پیام حداکثر تعداد ارتباطات ( Maximum Connections ) . پیشنهاد می گردد که از یک پیام خوش آمد گوئی  که به شکل یک Banner  امنیتی می باشد ،استفاده  گردد .از پیام های خروجی می توان بمنظور نمایش هشدارها ئی بر اساس توقف ارتباط  کاربر استفاده  گردد . در مواردیکه حداکثر تعداد ارتباط به سایت FTP محقق می گردد ، می توان با ارائه یک پیام مناسب کاربران  را نسبت به وضعیت بوجود آمده ، آگاه نمود .

Home Directory Tab 
از امکانات موجود در این بخش بمنظور مشخص نمودن مکان ( آدرس ) محتویات ارائه شده ( یک دایرکتوری بر روی  کامپیوتر ، یک فولدر به اشتراک گذاشته شده در شبکه و یا یک URL redircetions ) استفاده می گردد. مسیر محلی  دایرکتوری ، مجوزهای دستیابی و سبک نمایش  لیست دایرکتوری که IIS برای سرویس گیرنده ارسال می نماید را نیز می توان در این بخش مشخص نمود. پیشنهاد می گردد که دایرکتوری فوق ، صرفا" دارای مجوز "فقط خواندنی"  باشد. در صورتیکه ضروری است که امکان ارسال فایل ( Upload ) در اختیار کاربران قرار گیرد،پیشنهاد می گردد دو دایرکتوری مجزای دیگر تحت دایرکتوری ftproot ، ایجاد گردد . یکی از دایرکتوری ها  دارای مجوز دستیابی "فقط خواندنی " در ارتباط با  ذخیره اطلاعات  قابل دسترس برای تمامی کاربران بمنظور download  و دایرکتوری دیگر ، دارای مجوز صرفا" " فقط نوشتن " برای ارسال فایل های کاربران بر روی سرویس دهنده FTP  باشد . ( دایرکتوری دوم صرفا" محلی موقت برای استقرار فایل های ارسالی کاربران خواهد بود ) . در ادامه یکی از مدیران سیستم ( و یا web operator ) می تواند دارای مسئولیت بررسی داده و فایل های ارسالی در دایرکتوری فوق شده و پس از حصول اطمینان از عدم وجود مسائل امنیتی و سایر موارد مرتبط ، اقدام به استقرار فایل های ارسالی در دایرکتوری اول بمنظور در اختیار گذاشتن آنان برای Download توسط سایر کاربران نماید .

Directory Security Tab
با استفاده از امکانات موجود در این بخش می توان سیاست دستیابی به سایت FTP را بر اساس آدرس های IP مشخص نمود.  در این رابطه دو گزینه وجود دارد : Granted Access و Denied Access . با انتخاب گزینه Granted Access ، تمامی کامپیوترها قادر به دستیابی به منابع موجود خواهند شد ، بجزء کامپیوترهائی  که آدرس IP آنان مشخص شده است . با انتخاب گزینه Denied Access ، صرفا" آندسته از کامپیوترهائی که آدرس IP آنان مشخص خواهد شد ، قادر به دستیابی به منابع موجود بوده و تمامی درخواست های دیگر نادیده گرفته خواهد شد . در موادریکه آدرس های IP مشخص می گردد ، سه گزینه دیگر نیز موجود می باشد : single computer  و group of computers ( در این حالت network ID و Subnet mask مشخص خواهد شد )  و یا Domain Name  ( درانتخاب گزینه فوق ، می بایست  دقت لازم را انجام داد. پس از انتخاب این گزینه ، یک پیام هشداردهنده مبنی بر کاهش کارآئی سرویس دهنده با توجه به ضرورت انجام یک DNS reverse lookup  در ارتباط با هر درخواست اتصال، نمایش داده خواهد شد) . در صورتیکه  مجموعه ای تعریف شده از کاربران وجود دارد که می بایست به آنان مجوز دستیابی به دایرکتوری ftp داده شود ، پیشنهاد می گردد، گزینه Denied Access  انتخاب گردد . بدین ترتیب ، صرفا" کامپیوترهای مشخص شده قادر به دستیابی به داده موجود بر روی دایرکتوری ftp بوده و از دستیابی دیگران جلوگیری بعمل خواهد آمد.

قسمت ۶از سریال آبکی لینوکس بیاموز

با سلام،

با عذر خواهی از کلیه بینندگان سریال آبکی لینوکس بیاموز، به علت پخش فوتبال جام باشگاه‌های آسیا، پخش سریال چند هفته‌ای با مشکل برخورد، که در حال

ادامه اون هستم. برای اطلاعات بیشتر با اپراتور شماره 4 تماس حاصل بفرمایید.

در این قسمت و قسمت بعدی کرنل لینوکس بستونده خواهد شد و ادامه سریال پخش نخواهد شد. به جاش سریال جدیدی شروع میشه به نام سریال ترسناک

لینوکس بیاموز، که در اون به سراغ بخش کاربران خواهیم رفت. طراحی لینوکس، پیاده سازی لینوکس، امن سازی لینوکس، لینوکس و فایلها، مدیریت ساختار‌ها،

لینوکس و POSIX، برنامه سازی لینوکس، گرافیک در لینوکس و ... از قسمتهای سریال ترسناک لینوکس بیاموز هستند.

--------------------------------------------------
در این قسمت شما با وقفه‌ها آشنا خواهید شد و نحوه مدیریت، پیاده سازی و استفاده از اونها رو خواهید دید.

بریم،

اول بگیم وقفه یا interrupt چیه؟

وقفه به هر رخدادی می‌گن که باعث تغییر در روند اجرایی CPU بشه. از اسمش مشخصه. CPU داره کار می‌کنه و تعدادی دستور العمل رو اجرا می‌کنه، ناگهان یه

وقفه که هنوز نمی‌دونیم چیه رخ میده. CPU کار اصلی خودشو قطع کنه و میره به اون وقفه رسیدگی می‌کنه.

وقفه‌های به دو گروه اصلی تقسیم بندی می‌شن. وقفه‌های Synchronous و وقفه‌های ASynchronous.

وقفه‌های Sync اونهایی هستند که توسط CPU تولید می‌شن و زمانی به اجرا می‌رسن که CPU انجام یه دستور العمل رو تموم کرده باشه.
وقفه های Async اونهایی هستند که توسط سخت‌افزار‌های دیگه تولید می‌شن و در هر زمانی میتونن اتفاق بیافتن.

البته بگم intel به وقفه Sync میگه Exception و به وقفه Async میگه Interrupt. ماهم به خاطر احترامی که به Intel قائلیم (به خاطر CPUهای سری GM که تولید

می‌کنه (Googooli Magooli)  با همین نام‌های Intel وقفه‌های رو صدا می‌زنیم. فارسی میشه بهشون گفت خطا و وقفه)

وقفه‌های توسط دستگاه‌های سخت افزاری و تایمر سیستم تولید می‌شن. مثلا فرض کنید شما که روی کیبورد یک دکمه رو می‌زنید، کیبورد به CPU میگه، سلام

علیکم. CPUهم که سرش نمیشه، میاد که کد رو که تو یه آدرس مشخص تعریف شده اجرا می‌کنه. حالا اگه سیستم عامل Windows میخواد کلید‌هارو بگیره باید

بره تو اون آدرس برای خودش کد بنویسه. اگر ننویسه، کیبورد توی سیستم عامل Windows کار نمی‌کنه!

از اون طرف خطاها یا Exceptionها توسط خطاهای برنامه نویسی رخ می‌دن. البته مشکلاتی هم توی کرنل صورت می‌گیره و اونها هم خطا هستند. دسته اول رو

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

خودتون بنویسید، لینوکس به شما میگه Segmentation Fault و برنامه شما رو می‌بنده.

office توی Windows رو دیدید ؟‌ بعضی موقعها که Windows ییهویی Close میده، بعد که Office رو باز می‌کنید میبینید اههههههههههههه نوشته که فایل شما

هست، از نوع Recovery.

این قابلیت به دو صورت پیاده سازی شده، اول اینکه Office در هنگام کار فایل شما رو در مقاطع زمانی مشخص Save می‌کنه روی فایل Recovery و مورد دوم اینکه

Office تمامی سیگنال‌های خطای سیستم عامل رو برای خودش Register کرده و اونها رو دریافت می‌کنه و قبل اینکه Close و End Task بیاد Office متوجه می‌شه

و کارهای لازم رو میکنه.

شما از Exceptionها هیچ راه فراری ندارید. این رو بدونید، اگر توی برنامه خودتون تقسیم بر صفر انجام می‌دید، برنامه شما خارج می‌شه، ولی شما با Register

کردن ورودی Signal از نوع DIVZERO می‌تونید، قبل از بسته شدن برنامه کارهایی رو انجام بدید.

برای مثال برنامه Corel Draw کار جالبی می‌کنه، زمانی که برنامه به هر دلیل خطا یا Exception میگیره، یه Process دیگه از خودش اجرا می‌کنه با فایل Recovery.

برای همین Corel زمانی که Close میده شما میبینید که سریع یه Corel دیگه با همون فایل تحت کار باز میشه. چه جالببببببببببببببببببببببب!!!!

(ببخشید من همش نمونه Windows مثال میزنم، بالاخره هرچی باشه MCSD ها غیرت دارن به Microsoft :P:P:P:P)

خوب

حالا بریم سراغ Interruptها ، زمانی که یک وقفه میاد، CPU باید کار خودش رو قطع کنه و بره به اون وقفه جواب بده. برای همین زمانی که interrupt میادش

سیستم عامل محل جاری اجرای برنامه که شامل دو قسمت CS و IP رو توی Stack ذخیره می‌کنه، تا وقتی کار وقفه تموم شد بتونه برگرده کارای خودشو انجام

بده.

یادتونه توی قسمت‌های قبلی سریال گفتیم، کرنل لینوکس زمانی که می‌خواد یه Process رو عوض کنه باید کلی کار کنه، و از این بحثا. اینجا قضیه یکم فرق داره

اونم اینه‌که، کدهای اجرایی وقفه‌ها مثل Processها نیستند و همگی در Kernel space قرار دارند. پس کرنل نیازی به عوض کردن حافظه و بحث‌های جانبیش نداره،

میشه از این نظر Process و Interrupt رو جدا سازی کرد.

اینجا چند تا مسئله مهم بیان می‌شه، که باید اونها رو شما به عنوان Kernel Proffesional بدونید

* وقفه‌ها هر زمانی میتونند اجرا بشن. یعنی هیچکس از نویسندگان کرنل لینوکس نمی‌دونه که شما کی هوس می‌کنید روی Keyboard فشار بدید یا موس رو تکون

بدید. پس سیستم همیشه باید آماده پاسخگویی به وقفه ها باشه . اینجا سوال پیش میادکه آماده چی باشه ؟‌ فرش قرمز که نمی‌خواد پهن کنه، وقفه میاد جواب

میده میره دیگه، این سوال رو وایسید پایین جواب میدیم بهش، چون خیلی مهم

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

میاد و باز شما اندر خماری جواب پایین خواهید ماند

* چون وسط یه Interrupt یکی دیگه ممکنه پیش بیاد، و در کرنل کدهایی هست که به صورت ATOMIC قرار دارند، پس کرنل باید در صورت لازم در زمانهایی

Interrupt هارو قطع کنه، ولی نباید این زمانها زیاد باشه چون باعث معطل موندن سخت افزار‌ها میشه.

و اما جواب سوال. ببینید، سیستم در حال اجرای کار‌های خودشه، مثلا یه برنامه داره چک میکنه که آیا میتونم توی فایل فلان، بخش فلان بنویسم یا خیر؟ می بینه

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

این Process کلی اجرا شده پس نوبت بعدیه، CPU رو میده به بعدی. Process دوم میبینه اون فایل، اون قسمتش خالیه، شروع میکنه به نوشتن و فلاگ پرشدن رو

برای اون بخش فایل در نظر می‌گیره. دوباره Timer میزنه و وقفه تایمر میگه بسه دیگه، CPUرو میده به Process اول. حالا اینجا مشکل پیش میاد. این Process از

خدا بی خبر،‌ فکر می‌کنه فایل خالیه و میاد روی داده‌های Process دوم می‌نویسه و این داده‌ها پاک می‌شن.
چیکار باید کرد ؟‌ Process اول باید توی همچین مسئله مهمی، وقفه‌ها رو از کار بندازه و بعد از انجام کارش دوباره اونها رو فعال کنه. خوب آیا برنامه نویس‌ها این کار رو

می‌کنن؟ خیررررررررررررررررررررررررررررررررررررررررررررررررررررر،‌کی حالشو داره. پس نتیجتا وظیفه کرنل لینوکس که این چکها رو انجام بده . البته در برنامه نویسی

Modular این کار درسته که توسط Kernel از چک‌ها صورت بگیره. حالا این یه مسئلس، شاید شما فکر کنید که این مشکل در Interruptها سالی یک بار اتفاق بیافته

ولی جالبه بدونید که اگر سیستم عامل این چک هارو انجام نده، اصلا لینوکس بالا نمیاد. این مشکل زمانی حادتر میشه که شما دوتا CPU داشته باشید، که اون

موقع اصلا قضیه فرق می‌کنه و توضیح خواهیم داد.
پس جواب سوال اینجوری میشه، بله کرنل باید خودش رو آماده Interrupt کنه، آمادگی برای Interrupt یعنی استفاده از Mutexها و Spin-lockها، Kernel

Preemptionها و Semaphoreها که خودش یه سریال بسیار پیچیده به نام Kernel Synchronization که چون خارج از حوصله جمع، ماهم طبق روال سریال آبکی

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

بریزید حساب مش غلام که براتون تراکتور بفرسته. پس شما پول رو حساب می‌کنید، از حساب خودتون کم می‌کنید و به حساب مش غلام واریز می‌کنید. اگر بعد از

کم کردن پول از حساب شما ،‌ عمل واریز کردن به حساب مش غلام صورت نگیره اصطلاحا سیستم به وضعیت آبگوشتی میره (خدارو شکر برنامه‌های ATM مارو

شرکت NCR آمریکا نوشته. صلوات) . عمل واریز کردن پول به حسال مش غلام یه عمل Atomic حساب میشه. کرنل لینوکس از اعمال Atomic (البته مربوط به

خودش، مثال ذکر شده مربوط به Atomicity در DBMSها بود که ایشالا در کلوب Database سریال آبکی راه خواهیم انداخت ) به طور کامل پشتیبانی می‌کنه و

زمانی که بخشی کد Atomic داره اجرا می‌کنه، هیچ وقفه‌ای یا CPU دیگه‌ای نمی‌تونه اون بخش کد رو اجرا کنه.

برای اینکه سیستم های کامپیوتری ما X86 هستند، لینوکس در x86 Arch خودش، قوانین Intel رو رعایت می‌کنه. توی مستندات Intel اگه حال داشته باشید برید

بخونید خواهید دید که تقسیم بندی ها به صورت زیر اومده:

Interrupt:

Maskable:وقفه‌های Maskable اونهایی هستند که سیستم عامل میتونه از CPUدرخواست کنه که بهشون توجهی نشه. یعنی این وقفه‌ها قابل قطع شدن

هستند.
Nonmaskable: تعداد بسیار کمی از وقفه‌ها هستند که غیر قابل قطع شدن هستند. اینها همیشه و در همه صورت توسط CPU رسیدگی می‌شن.

Exceptions:

Processor: زمانی رخ می‌دن که CPU، یه مشکلی رو توی اجرای یه دستور العمل پیدا کنه.
Faults: این نوع خطا‌ها باعث بسته شدن برنامه نمیشن، بلکه بعد از رسیدگی بهشون،‌برنامه میتونه ادامه بده خودش رو فقط به شرطی که اون مشکل رو حل

کنه.
Traps: بیشتر به منظور Debugging استفاده می‌شه و توسط خود برنامه نویسان قرار داده می‌شه. این نوع خطا‌ها هم قابل ادامه دادن برنامه هستند.
Aborts: خطاهای اصلی که هویت برنامه رو دچار مشکل می‌کنن مثل خوندن یه آدرس غیر مجاز، که ادامه برنامه بی معنیه چون اون برنامه احتمالا به اون داده نیاز

داشته. در صورت رخ دادن این خطا برنامه بسته خواهد شد (البته بعد از اطلاع دادن به برنامه)
Programmers Exception: این خطاها بازهم توسط برنامه‌ها اجرا میشه و CPU با اونها همانند Trapها برخورد می‌کنه.

دوتا نکته بسیار مهم مهم مهم مهم مهم مهم مهم
اول اینکه، خطاها همیشه بد نیستند، اینکه شما الان داری با RAM پایین صدتا برنامه اجرا میکنی مزیت این خطاهاست. کرنل ویندوز و لینوکس از این خطاها به این

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

CPU خنگ به سیستم عامل خطاااااااااااا میده، میگه ببین این Process میخواد اینجای حافظه رو اجرا کنه ولی چیزی نیست، سیستم عامل میاد اون قسمت از

برنامه رو میاره داخل حافظه و بعد به CPU میگه، بابا این که هست، چشات اشتباه دیدن و CPU خنگ از خدا بی خبرهم برنامه رو اجرا می‌کنه بدون هیچ

مشکلی.
یا از این خطا استفاده امنیتی می‌کنن، یعنی زمانی که یک Process میخوادبه حافظه‌ای از برنامه دیگه دسترسی داشته باشه، CPU به سیستم عامل میگه فلان

Process داره شیطونی می‌کنه، سیستم عامل هم Signal میده که Access Denied.
مورد دوم در مورد Programmers Exceptionها. برنامه‌ها برای اینکه به کرنل لینوکس یه چیزی بگن، میان یه خطا ایجاد می‌کنن. خطایی برای CPU که CPU میاد به

کرنل میگه کاربر این خطا رو ایجاد کرد. کرنل هم میگه، کاریت نباشه این خودیه. این خطا در اصل وقفه شماره 128 یا همون Systam Call توی لینوکس که Process

ها از این طریق میتونن یه راهی به داخل کرنل پیدا کنن و دستورات کرنلی رو اجرا کنن.

مسئله بعدی که یکم سخت افزاریه، در رابطه با ارتباط سخت افزار‌هاست. مطمئن زمانی که شما کیبورد می‌خرید،‌ و میاید منزل، یکی از سیم‌هاشو با چسب آهن

یا هویه به CPU وصل نمی‌کنید. پس باید مدار واسطی باشه این وسط که ارتباط سخت افزار‌ها با ‍CPU رو انجام بده. در کنار این، مگه CPU بیکاره که هی از سخت افزارها بپرسه حال شما چطوره؟ اونام بگن هیچییییییییییییی!!

توی کامپیوتر‌های قدیمی سخت افزاری بود به نام PIC، یعنی Programmable Interrupr Controller. کارش این بود:
یه طرفش کلی PIN داشت که وصل بود به سخت افزارها. طرف دیگش یه خط میومد به CPU.

پشت سر هم از سخت افزارها سوال میکرد آقا چه خبر ؟ اگه دوتاشون می‌گفتن، خبر خبر، اونوقت محل اونی میذاشت که شماره PIN کمتری داشت. یعنی وقفه‌ها با PIN شماره کمتر اولویت بیشتر داشتن. TIMER و RESET اون بالا بودن.

بعدش سیگنال رسیده روی چند PIN مختلف رو دیجیتال میکرد، یعنی یه کد می‌کرد. اونو میذاشت روی یکی از PORTهای Data bus بعد چنان سیخی به CPU میزد که در آن واحد CPU اون Port رو می‌خوند. بعدش انقد سیخ رو نگه میداشت تا CPU روی یه Port دیگه بنویسه، خوندم. اونوقت سیخ رو در می‌آورد. این میشد که شما ویندوزت هنگه، ماوس ولی تکون می‌خوره، چه تکونیم میده بدنو (حیف که محرمه بیشتر نمیشه توضیح داد)

بعد دوباره میرفت گوش میداد. این سخت افزار مال کامپیوتر های قدیمیه. یادتونه،‌ Windows 98 فلاپی که کار می‌کرد، ماوس و کیبوردو خلاصه همه چی از کار میافتاد. آخه شماره اون بیشتر بود و وقتی داشت میخوند یه بند PIC رو سیخ میزد و PIC هم اصلا گوشش شنوای Interruptهای دیگه پایین تر نبود.

خوب حالا که شما میگی سخت افزار‌های قدیمی، خالی بند، ما همون موقع XP داشتیم ماوس کار می‌کرد عین هلو. بله درسته، قدیم منظورم 1970 بود، الان روی بردهای x86 هم PICهست و هم APIC. اون زمانی که شما می‌گی XP داشتم ولی فلاپی و ماوس باهم کار می‌کنند، به خاطر اینه که APIC یا Advanced PIC روی بردها اومده. ولی Intel به دلیل اینکه میدونه هنوز هم عده‌ای از OS های قدیمی استفاده می کنن PIC رو حذف نکرده.

و اما APIC

این سخت افزار خیلی بهتر شده. اولا اینکه PIC برای سیستم‌های تک CPU ساخته شده. اگر اشتباه نکنم، Intel توی PIII اومد APIC رو معرفی کرد. به اضافه اینکه، CPUهای جدید X86 همشون یه APIC داخلی هم دارند.که در موردش زیاد توضیح نمی‌دیم.

پیشرفت‌های APIC رو توی Intel APIC Architecture بخونید ولی کلیتش اینه که،‌دیگه اولویت‌ها بر حسب شماره PIN نیست و توسط نرم افزار کنترل میشه، سیستم تک CPU تبدیل به ICC BUS شده که CPUها میتونن با هم از طریقش توسط APICهای محلی خودشون صحبت کنن که این CPU به اون یکی میگه، یکی مال من، یکی مال تو،‌یکی مال من،‌... یا مثلا میگن،‌من دارم فلان کار ATOMIC رو میکنم فعلا تو یه دوری بزن یا همون SPIN-Lock و دیگه اینکه APICمیتونه برنامه ریزی بشه که بعضی Interruptهارو بده یکی بقیه بده یکی دیگه، خلاصه اگه APIC نبود هیچ سیستم چند CPU یا SMP که در قسمت‌های قبلی سریال گفتیم نبود. دیگم بحث نکنید.

مدیریت Interruptها توسط لینوکس:

خوب حالا که فهمیدیم چی هستن، ببینیم لینوکس چیکار می‌کنه؟ زمانی که لینوکس Boot میشه، تمامی Slotهای interruptهای مختلف و Exceptionها با Codeهای مشخصی پر میشن، این عملیات توسط خود Kernel صورت میگیره.

رسیدگی به بعضی Interruptها خیلی زمان گیره، یعنی اگه لینوکس بخواد به اونها رسیدگی کنه،‌باعث کندی شدید سیستم میشه، شما اونوقت هی ماوس رو تکون میدید اونوقت نصب نرم‌افزار کند میشه، ضایع نیست؟

برای همین منظور لینوکس میاد از تکنیکی به نام BH یا Bottom Halves استفاده می‌کنه، که معنیش میشه نیمه‌های پایینی. میاد Interruptهای سنگین رو 2 تیکه می‌کنه و تیکه اول رو به عنوان Code Interrupt قرار میده و تیکه اول تیکه دوم یا همون نیمه پایین رو به صورت یه Task معمولی در لیست کارهای Kernel قرار میده. Kernelهم تضمین داده در اولین فرصت مثل همه Processها تیکه پایینی رو اجرا کنه.

مسئله ای می‌مونه به نام Nested Execution یا اجرای تو در تو. همون مسئله که گفتیم، وسط اجرای یه Int یکی دیگه بیاد. کرنل باید همیشه اطلاعات لازم رو نگه داره، تا زمانی که یه Interrupt وسط یکی دیگه رخ داد بعد از اتمامش،‌ اطلاعات int اول از بین نرفته باشه و بتونه اونها رو برگردونه. کار سختیه ولی نشدنی نیست

کرنل و درایورها:
شما اصطلاحی شنیدید به نام IRQ. در اصل IRQ همون خط‌های سخت افزارین که به سمت APIC میان. زمانی که شما Keyboard وصل میکنید درایور مربوط به Keyboard فعال میشه. این درایور نیاز داره که به یکی از Interrupt ها گوش بده. اگه بخواد کد بنویسه برای Interrupt دستگاه Keyboard اونوقت 2 تا مشکل پیش میاد. یکی اینکه مسعلوم نیست چه قاراچ میشی میشه، دوما فقط خودش میتونه از این Interrupt استفاده کنه. ما بعضی دستگاه‌ها داریم که به خاطر کمبود پینهای APIC و کم بودن تعداد سیخ زدناشون باهم IRQ Sharing راه میندازن پس 2 تا درایور همزمان یه IRQ رو میخوان. پس بهتره خودشون رو توی یه لیست درایور‌ها Register کنن و کدی که در Interrupt نوشته میشه، فقط این زنجیره رو صدا بزنه. آره اینجوری بهتره

مسائلی که میمونه مربوط به پیاده سازی Interruptها، Taskletها، BHها و IRQ Handlersهاست که مربوط به کد نویسا میشه و از ذکرشون در اینجا خود داری میشود.

با تشکر از همراهی شما در این برنامه
تا برنامه بعدی همه شما رو  به خداوند یکتا می سپارم
حالا همه جیغ صوت کف هوراییییییییییییی بلند

خدافظظظظظظظظ خدافظظظظظظظظظظظظظظ ;)) ;)) ;))

بی ساکزز

از طرفEmadCT

پیکربندی IIS با رعایت مسائل امنیتی ( بخش چهارم )

در بخش چهارم به بررسی نحوه تنظیم و پیکربندی سرویس وب خواهیم پرداخت .
بمنظور پیکربندی وب سایت ، برنامه
ISM را فعال و در ادامه بر روی وب سایت مورد نظر مستقر و با فشردن دکمه سمت راست موس ، گزینه Properties را انتخاب نمائید . در ادامه جعبه محاوره ای  مربوط به پیکربندی  وب سایت نمایش  و امکان انجام تنظیمات مورد نظر فراهم خواهد شد . در ادامه به تشریح هر یک از امکانات موجود در این بخش خواهیم پرداخت .

- Web site Tab : در این بخش می توان تنظیمات زیر را انجام داد :

  • Web site Identification . در این بخش می توان یک مشخصه ( نام نسبت داده شده به وب سایت قابل استفاده در زمان نمایش  درخت ISM ) را برای وب سایت تعریف نمود. همچنین در این بخش می توان آدرس IP مربوط به اینترفیس کارت شبکه  مسئول پاسخگوئی به سایت ، یک پورت TCP و پورت SSL  را مشخص نمود. در بخش Advanced options ، می توان چندین نام domain و یا host header را به یک آدرس IP ، نسبت داد ( mapping ) .

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

  • Enable Logging .پیشنهاد می گردد که  گزینه فوق ، فعال گردد. پس از فعال شدن گزینه فوق،اطلاعات مربوط به ملاقات کنندگان سایـت،ثبت خواهد شد.

Operators Tab . در این بخش می توان تنظیمات زیر را انجام داد :

  • Web Site Operators . از امکانات موجود در این بخش می توان  بمنظور مشخص نمودن گروه / کاربران  مورد نظر ، جهت مدیریت وب سایت، استفاده کرد. Account فوق ، می بایست یک گروه باشد ( در صورتیکه سرویس دهنده در یک domain باشد ) . account های موجود  در گروه ضرورتی به  دارا بودن مجوزهای مدیریتی نخواهند داشت . اپراتورها ، صرفا"  قادر به اعمال تغییرات  در رابطه با خصلت هائی می باشند که  محدوده اثر آنان همان وب سایت ، خواهد بود . این نوع کاربران قادر به دستیابی به خصلت هائی که مربوط به عملکرد تمام IIS ،سرویس دهنده ویندوز 2000 که IIS را میزبان نموده و یا شبکه ای که سیستم بر روی آن اجراء می گردد  ، نخواهند بود.  نمونه عملیاتی را که یک اپراتور وب می تواند انجام دهد ، عبارتند از :
    - مدیریت محتویات وب ( تغییر ، اضافه و حذف )
    - فعال نمودن
    Logging

    - تغییر اسناد پیش فرض وب
    - تنظیم مجوزهای دستیابی سرویس دهنده وب
    کاربرانی که عضوء گروه
    Administrators ویندوز 2000 می باشند ، قادر به انجام عملیات مرتبط با IIS
    ، زیر خواهند بود :
    - تغییر در ایزولاسیون برنامه  ( جدا سازی برنامه )
    - ایجاد دایرکتوری های مجازی و یا تغییر مسیر آنان
    - تغییر نام و رمز عبور
    Anonymous

    - تغییر مشخصه و یا پیکربندی یک وب سایـت

Home Directory Tab . با استفاده از امکانات موجود در این بخش می توان ، تنظیمات متعددی را انجام داد . تنظیمات مربوط به  کنترل عرضه محتویات وب  ، مجوزهای دستیابی ، پیکربندی و اشکال زدائی ASP ، نمونه هائی در این زمینه می باشند. تمامی تنظیمات مرتبط با امنیت از طریق A directory located on this computer  ، پوشش داده می شوند.

Access Permissions . مجموعه مجوزهای موجود در این محل می بایست با مجوزهای NTFS  مطابقت نمایند . عملیات مربوط به پیکربندی دایرکتوری ها و تعریف مجوزهای مناسب برای سایت ها ، با عنوان :" عملیات قبل ازنصب " در  بخش  اول این مقاله اشاره گردید .
کنترل محتویات : در این رابطه می توان تنظیمات زیررا انجام داد :

  • Script Source access . با انتخاب گزینه فوق ، کاربران قادر به دریافت فایل های Source خواهند بود.  در صورتیکه گزینه Read انتخاب گردد ، کاربران قادر به خواندن Source  و در صورتیکه Write انتخاب گردد ، امکان بازنویسی Source در اختیار کاربران قرار خواهد گرفت  . Script Source access  ، شامل دستیابی به Source  اسکریپت ها نظیر اسکریپت های استفاده شده در یک برنامه ASP است . پیشنهاد می گردد ، گزینه فوق به همان صورت پیش فرض ( انتخاب نشده ) باقی بماند . ویژگی فوق،  صرفا" در زمانیکه قصد نشر و ارائه اطلاعات از راه دور را داشته باشیم ، مفید و ضروری خواهد بود ( نظیر WebDAV )

  • Directory browsing . با انتخاب گزینه فوق ، لیستی از دایرکتوری ها و فایل های موجود بر روی سیستم  بصورت hypertext  ، برای کاربران نمایش داده خواهد شد.پیشنهاد می شود ، گزینه فوق فعال نگردد.

  • Log visits . پیشنهاد می گردد ، گزینه فوق فعال باشد( بصورت پیش فرض فعال است) . با فعال شدن گزینه فوق ، اطلاعات مربوط به  تمامی کاربران ( ملاقات کنندگان سایت )   ثبت خواهد شد.

- Application Settings . یک برنامه ، دایرکتوری ها و فایل های موجود بهمراه  یک دایرکتوری  است که  نقطه شروع برنامه  را مشخص می نماید.در این بخش می توان تنظیمات زیر را انجام داد :

  • Application protection . گزینه فوق باعث ایزوله نمودن یک برنامه مبتنی بر وب از طریق استقرار آن در مکانی متمایز از سایر برنامه ها و سرویس دهنده وب ، می گردد . پیشنهاد می گردد ، مقدار گزینه فوق ، medium و یا high در نظر گرفته شود. در صورتیکه مقدار medium انتخاب گردد ، حفاظت اعمال شده باعث پیشگیری برنامه ها از مسائل بوجود آمده تصادفی و سهوی مرتبط  با نرم افزار سرویس دهنده وب ، خواهد شد. در صورتیکه مقدار گزینه فوق ، high در نظر گرفته شود ، برنامه بطورکامل در فضائی جداگانه از حافظه اجراء و در این حالت بر روی سایر برنامه ها تاثیر نخواهد گذاشت .

  • Execute Permissions . تنظیمات موجود در این بخش ، اجراء برنامه های موجود در دایرکتوری را کنترل می نمایند . در این رابطه می توان از تنظیمات زیر استفاده کرد :
    -
    none
    . باعث ممانعت در اجرای  برنامه ها و یا اسکریپت ها می گردد .
    -
    Scripts . محدودیت اجراء در رابطه با اسکریپت ها اعمال خواهد شد ( انشعابات فایلی که قبلا" به برنامه های اسکریپت ، نسبت داده شده اند ) . دایرکتوری هائی که مجوز فوق ، به آنها داده می شود، می بایست ، امکان  Read  مربوط به  کاربران ناشناس ( Anonymouse ) ، از آنها سلب گردد. در صورتیکه مجوز Read به account
    فوق ، داده شود، امکان مشاهده اطلاعات همراه در اسکریپت ها ، برای کاربران فراهم خواهد شد.( برخی از اطلاعات ممکن است حساس باشند نظیر : رمز عبور )
    -
    Scripts and Executables . گزینه فوق، امکان اجرای هر نوع برنامه ای ( اسکریپت و فایل های باینری نظیر فایل های exe . و یا dll .) را فراهم می نماید . در زمان واگذاری مجوز فوق ، می بایست حساسیت خاصی را مد نظر داشت . مجوز فوق، صرفا" می بایست در رابطه با دایرکتوری هائی واگذار گردد  که از فایل های باینری موجود  در آنان سرویس دهنده وب استفاده می نماید. در صورتیکه کاربران سایت نیازمند مجوز فوق در رابطه با یک دایرکتوری خاص می باشند ، مطمئن شوید که آنان دارای مجوز write مربوط به NTFS در ارتباط با کاربران anonymous سایت مورد نظر نخواهند بود  . مجوز فوق ، شرایط لازم برای استقرار کدهای اجرائی بر روی سرویس دهنده را فراهم و ممکن است کدهای فوق ، کدهای مخربی باشند که زمینه  شروع یک تهاجم اطلاعاتی را فراهم نمایند.

- Application Configuration  . برای تنظیم جزئیات بیشتر مرتبط با  برنامه ها ، می توان از امکان ( دکمه ) Configuration  استفاده کرد . در ادامه یک جعبه محاوره ای جداگانه نمایش که دارای گزینه های :App Mappings , App Options , App Debugging و Process Options ( در صورتیکه مقدار High در رابطه با application protection انتخاب شده باشد ) .  است .

  • App options Tab . از طریق امکانات موجود در این بخش می توان ، اقدام به پیکربندی وب سایت ، دایرکتوری مجازی و  level دایرکتوری نمود . 
    -
    Enable session state  و Session timeout  . با  انتخاب گزینه فوق ، ASP برای هر کاربری که به برنامه ASP دستیابی پیدا می نماید یک Session ایجاد می نماید . بدین ترتیب امکان تشخیص  کاربر در بین چندین صفحه ASP موجود در برنامه ، فراهم می گردد . زمانیکه کاربر صفحه ای را درخواست ننماید و یا صفحه را در مدت زمان تعریف شده ( Session timeout ) ، بازخوانی ( Refresh )  ننماید ، Session
      متوقف خواهد شد .
    - با مقداردهی
    ASP Script timeout ، در صورتیکه یک اسکریپت در زمان تعریف شده اجرای خود را به اتمام نرساند ، یک entry در Event log ویندوز 2000 ایجاد و به اجرای اسکریپت خاتمه داده می شود . تنظیم مقدار Timeout
    باعث پیشگیری از بروز تهاجم اطلاعاتی از نوع غیر فعال نمودن سرویس می گردد ( انکار سرویس )
    - پیشنهاد می گردد ، گزینه
    Enable parent paths ، غیر فعال باشد . بدین ترتیب اسکریپت های ASP امکان استفاده از مسیرهای Relative نسبت به دایرکتوری مادر دایرکتوری جاری را نخواهند داشت . ( گرامر " .. " ) . در صورتیکه  دایرکتوری مادر امکان Execute را فراهم نموده باشد ، یک اسکریپت می تواند تلاشی را در جهت اجرای یک برنامه غیر مجاز در دایرکتوری مادر ، آغاز نماید..

  • Process Options Tab . در این رابطه گزینه Write Unsuccessful client requests to event log  ( صرفا" در حالتیکه ایزولاسیون High در رابطه با حفاظت برنامه انتخاب شده باشد) ، ارائه خواهد شد .

- Documents Tab . پیشنهاد می گردد ، مدیریت سیستم ( شبکه ) همواره یک سند پیش فرض را مشخص تا تمامی کاربران در زمان دستیابی به سایت آن را مشاهده نمایند. بدین ترتیب از نمایش ناخودآگاه ساختار دایرکتوری ، پیشگیری بعمل می آید . وضعیت فوق زمانی انجام خواهد شد که گزینه Directory browsing فعال شده باشد .

- Directory Security Tab . خصلت های امنیتی را می توان در رابطه با وب سایت ، دایرکتوری ، دایرکتوری مجازی و یا Level  فایل ، اعمال نمود.

  • Anonymous access and Authenticated access ، در رابطه با گزینه فوق در بخش دوم مقاله ، توضیحاتی ارائه گردیده است .

  • IP Address and Domain Name Restrictions ، مدیران سیستم می توانند با استفاده از گزینه فوق ، کاربران مجاز به  استفاده از وب سایت را  بر اساس آدرس IP مربوطه ، مشخص نمایند. در این رابطه دو گزینه ارائه می گردد : Granted Access و Denied Access . با انتخاب گزینه Gtanted Access ، تمامی کامپیوترها،  مجاز به استفاده از منابع موجود بر روی سیستم خواهند بود بجزء آنهائیکه آدرس IP آنان مشخص شده است . Denied Access ، امکان  دستیابی به منابع سیستم را صرفا" ( فقط) برای کامپیوترهائی که آدرس IP آنان مشخص شده است ، میسر می سازد . در چنین حالتی درخواست های دریافتی از سایر کامپیوترها ، نادیده گرفته خواهد شد . زمانیکه آدرس های IP  را مشخص می نمائیم ، دارای سه گزینه دیگر خواهیم بود: Single Computer ، در این حالت مدیریت شبکه ( سیستم ) صرفا" یک آدرس IP را مشحص می نماید . Group of computers ، در این حالت مدیریت network ID و Sbunet mask را مشخص و در زمانیکه Domain name انتخاب می گردد ، یک پیام هشداردهنده نمایش داده می شود . (انتخاب فوق باعث کاهش کارآئی سیستم خواهد شد) . در چنین حالتی برای هر درخواست اتصال ، می بایست از DNS Reverse lookup ، استفاده گردد .

  • Secure Communications ، از گزینه فوق ، بمنظور پیکربندی ویژگی های SSL قابل دسترس بر روی سرویس دهنده وب ، استفاده می گردد . با انتخاب گزینه فوق ، تمامی ترافیک بین سرویس گیرنده و سرویس دهنده بصورت رمز شده انجام خواهد شد . پس از پیکربندی لازم ، ملاقات کنندگان سایت ، می بایست از مرورگرهائی استفاده نمایند که از Secure Communications ، حمایت می نمایند. ( جزئیات مربوطه در مقالات آتی ارائه می گردد ) .

- Server Extensions Tab .  برنامه IIS 5.0 ، امکان تولید و نشر اطلاعات از راه دور را فراهم می نماید. پیشنهاد می گردد ، برای هر یک از وب سایت های موجود بر روی سرویس دهنده IIS ،  گزینه enable authoring ، غیر فعال گردد . ویژگی فوق ، امکان تغییر در یک صفحه وب و در نهایت Upload نمودن آن  بر روی وب سایت را  در اختیار برنامه  Frontpage  ، قرار خواهد داد .

منبع:srco.ir

پیکربندی IIS با رعایت مسائل امنیتی ( بخش سوم )

روش های کنترل دستیابی 
اولین سطح
ایمنی در مدل امنیتی IIS ، امکان دستیابی به سرویس دهنده وب بر اساس آدرس های IP و یا Internet Domain Name  مربوط به درخواست های  سرویس گیرندگان است. در این راستا می توان ، آدرس های  IP و یا اسامی  ماشین هائی خاص را مشخص ،  تا زمینه دستیابی آنان به سرویس دهنده وب فراهم و یا امکان دستیابی از آنان سلب گردد. در زمان دریافت هر یک از بسته های  اطلاعاتی ، آدرس IP و یا نام آنان با توجه به پیکربندی انجام شده در   بخش "IP address and Domain name Restrictions " ،  بررسی  و بر اساس سیاست های تعریف شده ، عکس العمل لازم ارائه خواهد شد . ( گزینه فوق در بخش Directory Security Tab مربوط به جعبه محاوره ای خصلت های سرویس www ، وجود دارد ). زمانیکه از آدرس های IP بمنظور کنترل دستیابی استفاده می گردد ، برخی از سرویس گیرندگان وب ، ممکن است از طریق یک سرویس دهنده Proxy و یا فایروال ، به سرویس دهنده وب دستیابی پیدا می نمایند، در چنین شرایطی آدرس های IP  بسته های اطلاعاتی دریافتی برای سرویس دهنده Proxy و یا فایروال ، ارسال خواهند شد .
بمنظور پیاده سازی برخی از روش های  کنترل دستیابی به سرویس دهنده وب ، می توان  از تکنولوژی هائی نظیر
SSL)Secure Sockets Layer) و امضاء الکترونیکی ، نیز استفاده کرد . SSL ، یک کانال ارتباطی  نقطه به نقطه خصوصی ، یکپارچه و معتبر را ایجاد می نماید . از امضاء الکترونیکی ، بمنظور بررسی هویت  یک کاربر و یا یک سرویس دهنده و یا سرویس دهندگان وب و مرورگرها بمنظور معتبر سازی دوسویه ( متقابل ) ، تضمین صحت در ارسال صفحات و  یکپارچگی اطلاعات موجود در آنها ، استفاده می گردد .

شناسائی و تائید 
بمنظور شناسائی و تائید کاربران ، می توان از چهار گزینه موجود در
IIS  استفاده کرد .

  • Anonymouse Access  . روش فوق ، متداولترین گزینه برای دستیابی به یک سرویس دهنده وب است. IIS  ، بدین منظور account هائی با نام IUSR_Computername  و IWAM_Computername  را  بصورت پیش فرض، ایجاد می نماید. account فوق ، دارای مجوزهای زیر خواهد بود :

    Log on locally , access this computer from network  and  log as a  batch job

    کاربران در زمان دستیابی به منابع سرویس دهنده بر روی وب،بصورت اتوماتیک توسط account فوق ، به شبکه وارد خواهند شد. در ادامه کاربران با توجه به مجوزهای تعریف شده در رابطه با account فوق ، قادر به دستیابی منابع موجود خواهند بود. نام account در نظر گرفته شده را می توان با استفاده از گزینه Edit تغییر داد . پیشنهاد می گردد ، مجوزهای Log on as a batch job و access this computer from network ، در رابطه با account فوق حذف گردد ( در صورتیکه ضرورتی به استفاده از آنان وجود ندارد ) .
    نکته : زمانیکه سرویس
    IIS ، متوقف و مجددا" راه اندازی و یا سیستم راه اندازی  مجدد (Reboot ) می گردد ، مجوزهای Log on as a batch job و access this computer from the network ، برای accout های IUSR_Computername و IWAM_Computername ، مجددا" در نظر گرفته خواهد شد (Restore ) . در صورتیکه تاکید بر حذف  مجوزهای فوق وجود داشته باشد ،  می توان یک Local user account جدید را ایجاد و آن را بعنوان account پیش فرض Anonymouse  برای سرویس IIS در نظر گرفت .( بخش Anonymouse access and authentication control مربوط به Directory Security Tab  سرویس www و یا Account Tab مربوط به سرویس FTP ) . پس از انجام عملیات فوق ، می توان IUSR_Computername ،  را حذف کرد.

  • Basic Authentication ، تقریبا" تمامی مرورگرهای وب موجود ، از روش فوق حمایت می نمایند . در این روش ، نام و رمز عبور کاربر بصورت متن (Clear text ) ، ارسال می گردد . بدیهی است در چنین مواردی امکان تشخیص و کشف اطلاعات ارسالی برای افرادیکه ترافیک موجود در شبکه را مانیتور می نمایند ، وجود خواهد داشت . در صورتیکه تاکید بر استفاده از روش فوق وجود داشته باشد ، پیشنهاد می گردد که بهمراه آن از SSL استفاده گردد . ترکیب SSL با روش Basic Authentication ، امکان رهگیری و کشف اطلاعات ارسالی را کاهش خواهد داد . بدین منظور لازم است مراحل زیر دنبال گردد :
    مرحله اول : استفاده از یک
    Server Certificate

    مرحله دوم : استفاده از یک کانال ایمن در زمان دستیابی به منابع
    مرحله سوم : فعال نمودن
    Basic authentication و غیرفعال نمودن Anonymouse و Integrated Windows authentication برای سایت مورد نظر.

  • Digest Authentication ، روش فوق امکاناتی مشابه Basic Authentication را ارائه ولی از روش متفاوتی بمنظور ارسال اطلاعات حساس و معتبر ، استفاده می نماید . سرویس دهنده ، اطلاعاتی را  شامل نام و رمز عبور کاربر بهمراه  اطلاعات اضافه دیگر و  یک  Hash ( محاسبه می گردد ) را برای سرویس گیرنده  ارسال می دارد . در ادامه  Hash ، بهمراه سایر اطلاعات اضافه برای سرویس دهنده ارسال می گردد . زمانیکه سرویس دهنده اطلاعات را دریافت  می نماید ، آنان را با نام و رمز عبور ترکیب و یک Hash را بدست می آورد . در صورتیکه  hash های مربوطه با یکدیگر  مطابقت نمایند ، کاربر تائید می گردد. در صورتیکه روش فوق فعال و سایر روش ها غیر فعال گردند ، یک pop up box ، نمایش و کاربر می بایست نام و رمز عبور خود را  جهت ورود به سایت مشخص نماید . اطلاعات فوق ، بصورت رمزشده و وارونه ذخیره خواهند شد . بمنظور فعال نمودن ویژگی فوق ، مدیران شبکه می بایست یک password policy را در این رابطه تعریف تا امکان استفاده از  روش فوق ، فراهم گردد . در صورت عدم تعریف  Password policy ، امکان استفاده از روش فوق، وجود نخواهد داشت . بمنظور فعال نمودن Password Policy  می بایست  :
    در ویندوز 2000 ،
    Computer Configuration|Windows Settings | Security Settings | Account Policies | Password policy   را انتخاب  و گزینه Store Passwords using reversible encryption for all users in the domain  ، فعال گردد. ( گزینه فوق بصورت پیش فرض غیر فعال است ) . پس از فعال شدن سیاست فوق  و زمانیکه کاربر رمز عبور و یا نام خود را تغییر  و یا یک Account جدید ایجاد گردد ، رمز عبور بصورت رمز شده و وارونه ذخیره می گردد .

  • Integrated Windows Authentication  ، روش فوق  از رمزنگاری مبتنی بر Hashing بمنظور تائید رمز عبور استفاده می نماید . نام و رمز عبور واقعی هرگز در شبکه ارسال نخواهد شد ، بنابراین امکان کشف و تشخیص آن توسط یک منبع ناامن و تائید نشده ، وجود نخواهد داشت . تائید کاربران می تواند با استفاده از پروتکل Kerberos V5 و پروتکل Challenge/response صورت پذیرد . روش فوق،  گزینه ای مناسب برای  استفاده در اکسترانت ها  نخواهد بود ، (امکان فعالیت آن از طریق یک سرویس دهنده  Proxy و یا سایر برنامه های فایروال وجود نخواهد داشت) . از روش فوق بمنظور برپاسازی اینترانت های ایمن ، استفاده می گردد.

پیکربندی IIS می تواند بگونه ای صورت پذیرد  که امکان استفاده از ترکیب روش های تائید اعتبار و Anonymouse  در آن پیش بینی گردد . در چنین مواردی ، می توان این امکان را برای یک سایت فراهم آورد که دارای بخش های متفاوت ایمن و غیرحساس باشد . زمانیکه از یک مدل Authentication بهمراه Anonymouse استفاده می گردد ، کاربران همواره و در حالت اولیه با استفاده از IUSR_Computername  به سایت Log on خواهند نمود . زمانیکه درخواستی Fail گردد ( با توجه به عدم وجود مجوزهای لازم بمنظور دستیابی به یک منبع ) ، پاسخی برای سرویس گیرنده ارسال  که نشاندهنده عدم وجود مجوز لازم برای دستیابی به منبع مورد نظر است . همراه با اطلاعات فوق ، لیستی از مدل های متفاوت تائید اعتبار که توسط سرویس دهنده حمایت می گردد، نیز ارسال خواهد شد . مرورگر سرویس گیرنده در این راستا به کاربر پیامی را نمایش و از وی درخواست نام و رمز عبور را خواهد کرد .  در ادامه اطلاعات مورد نظر ( نام و رمز عبور کاربر ) برای سرویس دهنده ارسال خواهد شد ، در صورتیکه کاربر دارای مجوز لازم باشد ، امکان استفاده از منبع مورد نظر برای وی فراهم خواهد شد .

مدیریت فهرست (Directory )
علاوه بر مجوزهای مربوط به فایل و فهرست ها که در سطح سیستم عامل برقرار می گردد ،
IIS ، امکانی با نام Application level Permission را ارائه نموده است . در این راستا ، امکان انتخاب گزینه هائی نظیر : Read , Write , Directory Browsing ,Scripts only و Scripts and executables  وجود داشته و می توان از آنان بهمراه  فهرست های شامل محتویات مربوط به سرویس های www و FTP استفاده کرد .

  •  Read . مجوز فوق ،امکان مشاهده و ارسال محتویات برای مرورگر سرویس گیرنده  را فراهم می نماید .

  •  Write . مجوز فوق،  به کاربرانی که مرورگرآنان دارای ویژگی PUT ( مربوط به پروتکل استاندارد HTTP 1.1 ) است ، امکان Upload نمودن فایل هائی برای سرویس دهنده و یا تغییر محتویات یک فایل write-enabled را خواهد داد . گزینه فوق ،  در اختیار کاربران قرار داده نمی شود  و صرفا" مدیریت مربوطه به نوع خاص و محدودی از مجوز فوق ،  نیاز خواهد داشت .

  • Directory Browsing ، مجوز فوق ، به یک سرویس گیرنده امکان مشاهده تمامی فایل های موجود در یک فهرست را خواهد داد . از مجوز فوق صرفا" در رابطه با سرویس دهندگان عمومی FTP  استفاده و در سایر موارد ، استفاده ازمجوز فوق ، توصیه نمی گردد  .

  • Scripts . مجوز فوق ، امکان اجراء را در سطح اسکریپت ها محدود خواهد کرد . در مواردیکه از برنامه های CGI و یا ASP استفاده می گردد ، استفاده از مجوز فوق ، لازم خواهد بود. انشعاب فایل های مربوط به اسکریپت ها می بایست قبلا" به برنامه های Scripting مربوطه ، map شده باشد .

  • Scripts and Executables . مجوز فوق ، امکان اجرای برنامه های EXE و یا DLL را فراهم خواهد کرد( علاوه بر امکان اجرای فایل های ASP و CGI )  . با توجه به حساس بودن مجوز فوق ، استفاده از آن  بجزء در موارد خاص و کاملا" کنترل شده ، توصیه نمی گردد .

مجوزهای فوق را می توان همزمان با نمایش جعبه محاوره ای مربوط به خصلت های www و FTP ، تنظیم نمود .

اعمال محدودیت در رابطه با سرویس دهندگان و فهرست های مجازی
سرویس دهندگان مجازی ،این امکان را فراهم می آورند که کامپیوتری  که بر روی آن
IIS اجراء شده است، قادر به حمایت از چندین Domain Names ( وب سایت ) باشد.در زمان پیکربندی  یک سرویس دهنده مجازی  برای ایجادسرویس دهنده Primary
 و هر یک از سرویس دهندگان مجازی ، به اطلاعاتی نظیر:
(
Host Header Names(NHN و یا آدرس های IP ، نیاز خواهد بود. بدین ترتیب ، یک سرویس دهنده که بر روی آن IIS
نصب و شامل صرفا" یک کارت شبکه است ، قادر به مدیریت سایت های متعدد خواهد بود.
IIS ، امکان تعریف یک نام مستعار برای فهرست های حاوی اطلاعات مورد نیاز برای انتشار بر روی سایت را خواهد داد . نام فوق ، بعنوان یک دایرکتوری مجازی شناخته شده و در آدرس های URL  می توان از آنان استفاده کرد. دایرکتوری های مجازی از منظر ملاقات کننده سایت ، فهرست هائی هستند که  از دایرکتوری اصلی wwwroot /  ، انشعاب شده اند . در رابطه با دایرکتوری های مجازی نیز می توان سیاست های امنیتی خاصی را اعمال نمود. در این راستا می توان از مجوزهای Read,Write,Directory Browsing,Script only و Scripts and executables  ، استفاده کرد. مجوز Read ، این امکان را به یک سرویس گیرنده خواهد داد تا فایل های ذخیره شده در یک دایرکتوری مجازی و یا زیرفهرست مربوطه را Download نماید . صرفا" دایرکتوری هائی که شامل اطلاعات مورد نیاز برای نشر و یا Download می باشند ، می بایست دارای مجوز Read باشند . بمنظور ممانعت از Download نمودن فایل ها ی اجرائی و یا اسکریپت ها ، توصیه می گردد که آنان در دایرکتوری های مجزاء بدون در نظرگرفتن  مجوز Read ، مستقر گردند، این نوع  دایرکتوری ها ی مجازی می بایست دارای مجوز Scripts only و یا Scripts and executables بوده تا سرویس گیرندگان وب قادر به اجرای آنان گردند .

خلاصه
در زمان پیکربندی سرویس دهنده وب ، موارد زیر پیشنهاد می گردد :

  • در رابطه با نوع دستیابی به سایت ، تصمیم مناسب اتخاذ و متناسب با آن ، محدودیت های لازم بر اساس آدرس های IP و یا Internet Domains ، اعمال گردد .

  • مشخص نمائید که آیا ضرورتی به استفاده از  SSL و Certificates در محیط مورد نظر، وجود دارد .

  • یک روش موجود را برای " تائید اعتبار " ، کاربران انتخاب نمائید . روش Anonymouse متداولترین گزینه در این زمینه است . در صورتی از Basic authentication استفاده گردد که سایت مورد نظر تکنولوژی SSL را حمایت می نماید .

  • دایرکتوری هائی را با مجوز Read ( از مجموعه مجوزهای  NTFS ) ، برای گروه کاربران عمومی ( Webusers ) ایجاد نمائید. این دایرکتوری ها ، همچنین می بایست دارای مجوز Read only مربوط به IIS در زمان تنظیم سایت های FTP و www باشند . دایرکتوری ها ی فوق ،  شامل اطلاعات لازم برای سرویس گیرندگان بمنظور مشاهده و یا  Download  ، خواهند بود.

  • یک دایرکتوری با مجوز Read&Execute ( از مجموعه مجوزهای  NTFS ) صرفا" در رابطه با گروه کاربران عمومی  (Webusers ) ایجاد گردد . این دایرکتوری همچنین می بایست دارای مجوز Script only ( مربوط به مجوزهای IIS ) در زمان پیکربندی سایت www گردد . دایرکتوری فوق ، شامل فایل های اجرائی نظیر اسکریپت ها ، می باشد .

منبع:srco.ir

زمان مرگتون...!!!

میخاید بدونید کی میمیرید؟؟؟!!!!

برید اینجا:

 

http://www.findyourfate.com/deathmeter/deathmtr.html

پیکربندی IIS با رعایت مسائل امنیتی ( بخش دوم )

کنسول مدیریتی ماکروسافت (Microsoft Management Console :MMC) ، یک برنامه رابط کاربر گرافیکی با نام کنسول را ارائه می نماید .هدف از ارائه کنسول فوق، ارائه محیط لازم بمنظور انجام تمام عملیات مدیریتی از طریق کنسول مدیریت است( تمام عملیات قابل دسترس، تابعی از کنسول مدیریت می باشند) .این نوع فرآیند ها، Snap-ins نامیده می شود . MMC خود دارای هیچگونه رفتار مدیریتی نبوده ولی محیط لازم برای Snap-ins را فراهم می نماید.بدین ترتیب کنترل مدیریتی و راهبردی محیط مربوطه ، متمرکز می گردد . در زمان نصب برنامه IIS ، یک Snap-ins با نام ISM(Internet Service Manager)  ارائه و در اختیار مدیران سیستم قرار خواهد گرفت . بمنظور فعال نمودن برنامه ISM از مسیر زیر استفاده می کنیم :

Start => Programs => Administrative Tools =>Internet Service Manager  

  شکل زیرصفحه اصلی برنامه  ISM را نشان می دهد .

معرفی برنامه ISM)Internet Service Manager)
زمانیکه برنامه IIS  فعالیت خود را آغاز می نماید،  یک کنسول MMC  اجرای خود را آغاز و بصورت خودکار Snap-in مربوط به ISM را فعال و در حافظه مستقر می نماید . صفحه مربوط به Server Properties ، دارای دو گزینه است :  Internet Information Services ( که بصورت پیش فرض فعال است ) و Server Extensions . در صفحه مربوط به IIS ، سه جعبه محاوره ای عمده وجود  دارد :

Master Properties , Enable Bandwidth Throttling , Computer MIME Map  

درمواردیکه قصد ایجاد چندین وب سایت بر روی سرویس دهنده را داشته باشیم ، تنظیم هر یک از خصلت های فوق، بسیار مفید خواهد بود . خصلت های تعریف شده، بصورت اتوماتیک به تمام وب سایت های موجود بر روی سرویس دهنده ،نسبت داده می شود( توارث) . بدین ترتیب در زمان مربوط به پیکربندی هر یک از سایت های موجود بر روی سرویس دهنده ،صرفه جوئی خواهد شد . در صورتیکه برخی از سایت ها نیازمند تنظیمات خاص خود  باشند ، می توان در زمان پیکربندی هر یک از سایت ها ، موارد دلخواه را اعمال نمود .
بمنظور دستیابی به جعبه محاوره ای خصلت اصلی مربوط به سرویس دهنده IIS ،  مراحل زیر را دنبال نمائید :

  • نام سرویس دهنده IIS را در برنامه ISM ،  انتخاب نمائید .

  • از طریق منوی Action گزینه Properties را انتخاب نمائید .

  • سرویس WWW و یا FTP را از طریق منوی مربوطه انتخاب و دکمه Edit را بمنظور پیکربندی Master Properties   سرویس مربوطه ، فعال نمائید .

سرویس WWW
از جعبه محاوره ای  Master Properties ، بمنظور تنظیم مقادیر پیش فرض برای تمام سایت های موجود بر روی سرویس دهنده استفاده می شود . با انتخاب گزینه Edit در صفحه  Master Properties ،  می توان پیکربندی عمومی  خصلت های مربوط به وب سایت( وب سایت ها )  را انجام داد . در صفحه فوق، گزینه های متفاوتی وجود دارد . چهار گزینه به خصلت هائی مربوط می گردد که دارای تاثیر امنیتی در رابطه با عملکرد یک وب سایت می باشند :

Web site ,Operators , Home Directory , Directory Security .  

  • Web site Tab . در این جعبه محاوره ای ،Enable Logging تنها آیتمی است  که با مسائل امنیتی مرتبط بوده و بصورت پیش فرض نیز فعال می باشد . با فعال بودن ( شدن ) گزینه فوق ، اطلاعات متفاوتی در رابطه با استفاده کنندگان از  تمام وب سایت های موجود بر روی سرویس دهنده ثبت می گردد .

  • Operators Tab . با استفاده از امکان فوق، می توان گروهها و یا account هائی با مجوز خاص را بمنظور انجام عملیات مدیریتی در رابطه با تمام سایت های موجود بر روی سرویس دهنده ، مشخص کرد .  در صورتیکه سرویس دهنده ، مسئولیت پشتیبانی از چندین وب سایت را برعهده داشته باشد،می بایست برای هر وب سایت، یک گروه مجزا بمنظور مدیریت محتویات ، ایجاد شود .

  • Home Directory Tab . در این محل می توان ، گزینه مربوط به ثبت (log)  ملاقات های انجام شده در رابطه با  سایت های موجود بر روی سرویس دهنده را فعال نمود . با فعال شدن  گزینه ثبت ملاقات کنندگان، می توان همواره این اطمینان را داشت که تمام سایت ها و حتی سایت هائی که بعدا" ایجاد می گردند ، بصورت پیش فرص قادر به ثبت ملاقات کنندگان خود، خواهند بود . ثبت ملاقات کنندگان، از اصول اولیه برای تشخیص رفتار مزاحمین در رابطه با وب سایت ها خواهد بود . با تنظیم گزینه فوق در این مکان ، مدیریت سرویس دهنده وب ضرورتی ندارد که برای هر سایتی که ایجاد می گردد،گزینه  ثبت ملاقات کنندگان را فعال نماید . مجوزهای Read , Write و Directory Browsing  می بایست به همان حالت پیش فرض باقیمانده و ضرورتی به  تنظیم آنها در این محل نخواهد بود . (برای هر سایتی که در آینده ایجاد می گردد ، می توان مجوزهای مربوطه را متناسب با سیاست های موجود تنظیم و پیکربندی کرد ) . مجوز Read  امکان مشاهده سایت را به ملاقات کنندگان ، مجوز Write امکان نوشتن اطلاعات در فهرستی که سایت نصب شده است و مجوز Directory Browsing  امکان مشاهده لیستی از تمام فایل های موجود در یک فهرست خاص را برای کاربر، فراهم می نماید.پیشنهاد می گردد ، در صفحه Master Properties ، تمام گزینه های فوق غیر فعال گردند ( عدم انتخاب ) . در صفحه Home Directory ، لیست مربوط به مجوزهای اجراء  نیز وجود دارد . پیشنهاد می گردد در این مقطع مقدار آن None در نظر گرفته شود . در صورت نیاز به اختصاص مجوزهای فوق ، می توان این عملیات را بصورت خاص برای برای هر یک از وب سایت های موجود بر روی سرویس دهنده انجام داد .

  • Directoty Security Tab . روش های تایید اعتبار با توجه به اینکه محدوده عملیاتی و مجاز کاربران  ( کنترل دستیابی به فایل هائی خاص ، فهرست ها و اسکریپت ها  )  را مشخص می نمایند، دارای  اهمیت زیادی می باشند .تنظیم و انتخاب روش های تایید اعتبار کاربران به نوع استفاده از سایت بر می گردد ( آیا سایت بر روی اینترنت و یا اینترانت است ؟) . بمنظور مشاهده صفحه مربوط به Authentication Methods  گزینه Edit  را از طریق ناحیه  Anonymouse access and authentications control ، انتخاب نمائید . مجوز Anonymous Access  ، می تواند  به بصورت پیش فرض در اختیار در تمام وب سایت های موجود بر روی سرویس دهنده قرارگرفته  و یا  این امکان از آنها سلب گردد. در صورتیکه سایت از طریق اینترانت و یا یک شبکه داخلی  ( یک شبکه مبتنی بر ویندوز)  استفاده می گردد، می بایست گزینه فوق، غیر فعال گردد . بدین ترتیب کاربران شبکه ، می بایست با استفاده از نام و رمز عبور مربوطه به شبکه وارد تا زمینه استفاده آنان از امکانات موجود فراهم گردد . در صورتیکه سرویس دهنده از طریق اینترنت استفاده می گردد، اکثر وب سایت ها امکان دستیابی بصورت  Anonymous را فراهم می نمایند . بجزء روش دستیابی Anonymouse ، از سه روش تایید اعتبار دیگر نیز می توان استفاده کرد :

توضیحات

روش

روش فوق، امکان حرکت و انتقال نام و رمز عبور در طول شبکه را بصورت کاملا" مشخص و متن شفاف فراهم می نماید . بدین ترتیب یک مزاحم اطلاعاتی قادر به شناسائی  account های معتبر، بمنظور نفوذ در سایت خواهد بود.

Basic Authentication

 روش فوق، برای سرویس دهندگان Windows Domain ، مشابه Basic Authentication با این تفاوت است که در مقابل استفاده از نام و رمز عبور بصور متن شفاف ، یک رمز عبور Hash شده  بمنظور ارتقاء سطح اعتبارسنجی ارسال می گرد .این روش صرفا" توسط مرورگرهائی  که HTTP 1.1 را حمایت می نمایند، قابل استفاده می باشد  ( نظیر مرورگر IE5 ) .جهت استفاده از روش فوق،  سرویس دهنده IIS  می بایست در یک Domain  ویندوز 2000 قرار داشته و رمزهای عبور در فایل های متنی و بر روی کنتترل کننده Domain  ذخیره گردند .بنابراین کنترل کننده Domain  ، می بایست بدرستی ایمن و حفاظت گردد .

Digest authentication

مشابه روش  Challange/Respones در IIS 4.0 مربوط به ویندوز NT است. روش فوق، صرفا" از طریق مرورگرهای وب شرکت ماکروسافت قابل استفاده خواهد بود .

Integrated windows authentication

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

سرویس FTP
صفحه اصلی مربوط به تنظیمات خصلت های FTP  ، دارای گزینه های بمراتب کمتری نسبت به سرویس WWW است . بمنظور فعال نمودن صفحه فوق ، از طریق IIS Server Properties  سرویس FTP را انتخاب و در ادامه دکمه Edit را فعال نمائید .

  • FTP Site Tab . پیشنهاد می گردد که امکان Logging در این بخش فعال تا اگر در آینده و در رابطه با یک سایت این موضوع فراموش گردید، با مشکلاتی مواجه نگردیم .با توجه به نوع سرویس FTP ، تعداد ارتباطات همزمان مجاز بهمراه زمان timeout را می توان در این بخش تنظیم کرد .

  • Security Tab . مشابه سرویس www ، می توان امکان دستیابی Anonymous را برای سرویس FTP در این بخش مشخص نمود . در صورتیکه سایت از طریق اینترنت استفاده می گردد وتمایل به فعال شدن مجوز دستیابی anonymous وجود داشته باشد ،  می توان آن را در این بخش تنظیم نمود . پیشنهاد می گردد که امکان Allow only anonymous connection  انتخاب گردد . عملکرد Allow IIS to control password مشابه گزینه Enable automatic password synchronization در نسخه شماره چهار IIS است . بدین ترتیب امکان یکسان سازی رمز عبور موجود در این صفحه با مقدار موجود در Computer Management ، بمنظور کنترل رمز عبور کاربران  و گروه ها انجام خواهد شد . account مربوط به IUSR_computername می بایست بر روی ماشینی که بر روی آن IIS نصب شده است موجود باشد .(وضعیت  فوق بصورت پیش فرض بوده و نباید آن را  تغییر داد)  . از یک نام و رمز عبور تعریف شده در Domain ویندوز بمنظور FTP استفاده نمی گردد . دومین بخش صفحه فوق، شامل لیستی بمنظور مشخص نمودن FTP site operators است . معرفی و مشخص نمودن گروه و یا  account  مربوطه با مجوزهای لازم بمنظور انجام عملیات مدیریتی برای تمام سرویس دهندگان FTP موجود بر روی سرویس دهنده در این بخش انجام می شود.در زمان پیکربندی یک سایت، گروه و account  ایجاد شده،  بصورت اتوماتیک مشمول سایت جدید شده  ( از لیست گروه و کاربران مجاز که قبلا" ایجاد شده اند ، می توان در رابطه با سایت جدید نیز استفاده کرد ) و می توان به لیست تعریف شده ، گروه و یا کاربران جدیدی را اضافه و یا حذف نمود . در صورتیکه سرویس دهنده ، مسئول پاسخگوئی به چندین سایت FTP است ، پیشنهاد می گردد  برای هر سایت،  یک گروه مدیریتی جداگانه ایجاد تا امکان مدیریت محتویات سایت برای مسئول مربوطه فراهم گردد .

  • Home Directory Tab . در این محل صرفا" یک گزینه مرتبط با مسائل امنیتی وجود دارد:  Log visits . گزینه فوق، خوشبختانه بصورت پیش فرض فعال است . پیشنهاد می گردد گزینه فوق به همین وضعیت باقی بماند . ثبت ملاقات کنندگان سایت روشی مناسب بمنظور تشخیص رفتار مزاحمین و سایر موارد مشابه در رابطه با مهاجمان اطلاعاتی است . .

  • Directory Security Tab . در این بخش امکان تعریف محدودیت دستیابی بر اساس  TCP/IP ،  وجود دارد .در این راستا می توان،  امکان دستیابی به سرویس دهنده را برای تمام کامپیوترها فراهم  و یا این امکان را از آنها سلب نمود. در صورتیکه سرویس دهنده از طریق اینترنت استفاده می گردد، مدیریت سایت می بایست امکان دستیابی به تمام کامپیوترها  را انتخاب نماید ( مقدار پیش فرض ) در صورتیکه سایت بصورت اینترانت استفاده می گردد ، می توان از رویکرد اشاره شده در رابطه با اینترنت استفاده و یا لیستی از کاربران و گروهها ی مجاز را بمنظور دستیابی به سایت مشخص نمود . در چنین حالتی، گزینه Denied Access انتخاب و در لیست مربوطه (Except ) ،  کاربران و گروه های مجاز مشخص می گردند .

Server Property Server Extensions 
دومین بخش صفحه Master Properties به Server Extensions بر می گردد . IIS ،امکان نشراطلاعات از راه دور را فراهم می نماید. ویژگی فوق،  برای برنامه FrontPage مناسب است . بدین ترتیب  یک مولف، قادر به ایجاد تغییرات لازم در رابطه با یک صفحه وب و ارسال آن بر روی سرویس دهنده ،از راه دور می باشد . وضعیت فوق از لحاظ امنیتی یک ریسک بشمار می رود . در این بخش می توان تنظیمات لازم را بمنظور  بهره برداری از ویژگی فوق، انجام داد . گزینه های موجود در این بخش که به مسائل امنیتی مرتبط می باشند، در ناحیه Permission قرار دارند.در صورت استفاده از  ویژگی فوق، می بایست گزینه های Log authoring actions  ,Require SSL for authoring و Manage Permissinos manually فعال گردند .

  • Log authoring actions . با انتخاب و فعال نمودن گزینه فوق ، اطلاعات متنوعی در رابطه با فرد ارسال کننده اطلاعات ، نظیر: نام ارسال کننده ، زمان ارسال،  نام وب میزبان از راه دور و موارد دیگر، ثبت می گردد .

  • Manage permissions manually . تنظیمات مربوط به ابزارهای مدیریتی FrontPage server extension ( نظیر FronPage MMC) را غیر فعال می نماید . بنابراین ابزارهای فوق ، قادر به تغییر و اصلاح تنظیمات امنیتی مربوط به سایت انتخاب شده نخواهند بود. بمنظور اطمینان از اینکه افراد دیگر ( مدیریت و یا سایر کاربران ) امکان تغییر تنظیمات امنیتی را نخواهند داشت ، توصیه می گردد حتما" گزینه فوق،  فعال تا امکان تنظیمات امنیتی سیستم از برنامه های مربوطه،  سلب گردد . 

  • Require SSL for authoring . با انتخاب گزینه فوق ، نشر اطلاعات برروی سایت، با استفاده از پروتکل SSL انجام و یک سطح امیدوارکننده از لحاظ امنیتی را شاهد خواهیم بود .

  • Allow authors to upload Executables . این امکان را به مدیران مربوطه  خواهد داد که اسکریپت ها و یا فایل های اجرائی را برای اجراء بر روی سرویس دهنده ، ارسال نمایند . گزینه فوق می بایست غیر فعال شده باقی بماند .

خلاصه
جدول زیر خلاصه تنظیمات Master Properties  در رابطه با سرویس WWW ,FTP و Server Extension را با رعایت مسائل ایمنی نشان می دهد :

تنظیمات پیشنهادی برای خصلت های اصلی WWW

Web site Tab

Enable logging

Home directory Tab

Disable  Read, Write, Directory browsing options
Enable Log visits
None = Execute Permissions drop down box

Directory security Tab

If  will NOT allow Anonymous access, Disable
Anonymous access Else Enable it.

تنظیمات پیشنهادی برای خصلت های اصلی FTP

FTP site Tab

Set  number of connections for max users on FTP server
Set maximum seconds for timeout , 600 seconds is reasonable
Enable logging

Home directory Tab

Enable  Log visits

Security Accounts  Tab

Enable  Allow Anonymous Connections
Enable  Allow only anonymous connections

تنظیمات پیشنهادی برای خصلت های اصلی Server Extensions

Enable Log authoring actions
Enable Require SSL for authoring
Enable manage permissions manually
Disable Allow authors to upload executable

 
منبع:srco.ir

پیکربندی IIS با رعایت مسائل امنیتی ( بخش اول )

استفاده از شبکه های کامپیوتری از چندین سال قبل رایج و در سالیان اخیر روندی تصاعدی پیدا کرده است .اکثر شبکه های پیاده سازی شده در کشور  مبتنی برسیستم عامل شبکه ای  ویندوز می باشند .  شبکه های کامپیوتری، بستر و زیر ساخت مناسب برای سازمان ها و موسسات را در رابطه با تکنولوژی اطلاعات فراهم می نماید . امروزه  اطلاعات  دارای ارزش خاص خود بوده و تمامی ارائه دهندگان اطلاعات با استفاده از شبکه های کامپیوتری زیر ساخت لازم را برای عرضه اطلاعات  بدست آورده اند . عرضه اطلاعات  توسط سازمان ها و موسسات می تواند بصورت محلی ویا  جهانی  باشد. با توجه به جایگاه والای اطلاعات از یکطرف و نقش شبکه های کامپیوتری ( اینترانت و یا اینترنت )  از طرف دیگر ، لازم است به مقوله امنیت در شبکه های کامپیوتری توجه جدی شده و هر سازمان با تدوین یک سیاست امنیتی مناسب ، اقدام به پیاده سازی  سیستم امنیتی نماید . مقوله تکنولوژی اطلاعات به همان اندازه که جذاب و موثر است ، در صورت عدم رعایت اصول اولیه  به همان میزان و یا شاید بیشتر ، نگران کننده و مسئله آفرین خواهد بود . بدون تردید امنیت در شبکه های کامپیوتری ، یکی از نگرانی های  بسیار مهم در رابطه با تکنولوژی اطلاعات بوده   که متاسفانه کمتر به آن  بصورت علمی پرداخته شده است . در صورتیکه دارای اطلاعاتی  با ارزش بوده  و قصد ارائه آنان  را بموقع  و در سریعترین زمان ممکن  داشته باشیم ،  همواره می بایست به مقوله امنیت، نگرشی عمیق  داشته و با یک فرآیند  مستمر آن را دنبال نمود .
اغلب سازمان های دولتی و خصوصی در کشور، دارای وب سایت اختصاصی  خود در اینترنت می باشند . سازمان ها و موسسات برای ارائه وب سایت ، یا خود امکانات مربوطه را فراهم نموده و با نصب تجهیزات سخت افزاری و تهیه پهنای باند لازم،  اقدام به عرضه سایت خود در اینترنت نموده و یا از امکانات مربوط به شرکت های ارائه دهنده خدمات میزبانی استفاده می نمایند . وجه اشتراک دو سناریوی فوق و یا سایر سناریوهای دیگر، استفاده از یک سرویس دهنده وب است  . بدون تردید سرویس دهنده وب یکی از مهمترین نرم افزارهای موجود در دنیای اینترنت محسوب می گردد . کاربرانی که به سایت یک سازمان و یا موسسه متصل  و درخواست اطلاعاتی را  می نمایند ، خواسته  آنان در نهایت در اختیار سرویس دهنده وب  گذاشته می شود . سرویس دهنده وب،  اولین نقطه ورود اطلاعات  و آخرین نقطه خروج اطلاعات از یک سایت  است . بدیهی است نصب و پیکربندی مناسب چنین نرم افزار مهمی ، بسیار حائز اهمیت بوده  و تدابیرامنیتی خاصی را طلب می نماید .در ادامه  به بررسی  نحوه پیکربندی سرویس دهنده وب IIS در شبکه های مبتنی بر ویندوز با تمرکز بر مسائل امنیتی ، خواهیم پرداخت .

IIS)Internet Information services) ، یکی از سرویس دهندگان وب است  که از آن برای برای نشر و توزیع سریع محتویات مبتنی بر وب ، برای مرورگرهای استاندارد استفاده می شود . نسخه پنج IIS ، صرفا" برای سیستم های  مبتنی بر ویندوز 2000 قابل استفاده است . نسخه های ویندوز 2000  Server و Advanced server  بمنظور نصب IIS  ، مناسب و بهینه می باشند . نسخه پنج برای  استفاده در نسخه های قدیمی ویندوز طراحی  نشده است . امکان نصب IIS نسخه پنج ،  بهمراه ویندوز Professional نیز وجود داشته  ولی برخی از امکانات آن نظیر : میزبان نمودن چندین وب سایت ،  اتصال به یک بانک اطلاعاتی ODBC و یا محدودیت در دستیابی از طریق IP   در آن لحاظ نشده است .
نسخه پنج IIS ، سرویس های  WWW ، FTP، SMTP و NNTP را ارائه می نماید . سه نرم افزار و سرویس دیگر نیز با IIS در گیر می شوند : Certificate Server , Index server و Transaction server .
امنیت در  IIS  متاثر از سیستم عامل است . مجوزهای فایل ها ،  تنظیمات ریجستری ،  استفاده از رمزعبور،  حقوق کاربران و سایر موارد مربوطه ارتباط مستقیم و نزدیکی با امنیت در IIS دارند .
قبل از پیکربندی مناسب IIS ،  لازم است که نحوه استفاده از سرویس دهنده دقیقا" مشخص گردد . پیکربندی دایرکتوری های IIS ، فایل ها ،  پورت های TCP/IP  و Account کاربران نمونه هائی در این زمینه بوده که پاسخ مناسب به سوالات زیر در این رابطه راهگشا خواهد بود :

  • آیا سرویس دهنده از طریق اینترنت قابل دستیابی است ؟

  • آیا سرویس دهنده از طریق اینترانت قابل دستیابی است ؟

  • چه تعداد وب سایت بر روی سرویس دهنده میزبان خواهند شد ؟

  • آیا وب سایت ها  نیازمند استفاده از محتویات  بصورت اشتراکی می باشند ؟

  • آیا سرویس دهنده امکان دستیابی را برای افراد ناشناس ( هر فرد ) فراهم نموده و یا صرفا" افراد مجاز حق استفاده از سرویس دهنده را خواهند داشت ؟ و یا هر دو ؟

  • آیا امکان استفاده و حمایت از SSL)Secure Socket Layer) وجود دارد ؟

  • آیا سرویس دهنده صرفا" برای دستیابی به وب از طریق HTTP استفاده می گردد ؟

  • آیا سرویس دهنده ، سرویس FTP را حمایت می نماید ؟

  • آیا کاربرانی وجود دارد که نیازمند عملیات خاصی نظیر کپی، فعال  نمودن، حذف و یا نوشتن فایل هائی بر روی سرویس دهنده  باشند ؟

موارد زیر در زمان نصب IIS پیشنهاد  می گردد :

  • کامپیوتری که IIS بر روی آن نصب شده است را در یک محل امن فیزیکی قرار داده و صرفا" افراد مجاز قادر به دستیابی فیزیکی به سرویس دهنده باشند .

  • در صورت امکان،  IIS را بر روی یک سرویس دهنده Standalone نصب نمائید. در صورتیکه IIS بر روی یک سرویس دهنده از نوع Domain Controller نصب گردد و سرویس دهنده وب مورد حمله قرار گیرد، تمام سرویس دهنده بهمراه اطلاعات موجود در معرض آسیب قرار خواهند گرفت . علاوه بر مورد فوق،  نصب IIS بر روی یک سرویس دهنده از نوع Domain controller ، باعث افزایش حجم عملیات سرویس دهنده و متعاقبا" کاهش کارآئی سیستم در ارائه سرویس های مربوط به وب خواهد شد .

  •  برنامه های کاربردی و یا ابزارهای پیاده سازی نمی بایست بر روی سرویس دهنده IIS نصب گردند .

  • کامپیوتر مربوط به نصب IIS را بگونه ای مناسب پارتیشن نموده تا هر یک از سرویس ها نظیر www و یا FTP بر روی پارتیشن های مجزاء قرار گیرند .

  • IIS امکان نصب برنامه ها را در مکانی دیگر بجز پارتیشن C فراهم نمی نماید ( مگراینکه یک نصب سفارشی داشته باشیم )  .موضوع فوق به  عملکرد سیستم عامل مرتبط می گردد . مجوزهای پیش فرض در رابطه با %Systemdrive%   اعمال می گردد ( مثلا" درایو C)  . موضوع فوق می تواند باعث عدم صحت کارکرد مناسب برخی از سرویس های IIS گردد. می بایست مطمئن شد که مجوزهای سیستم عامل با عملیات مربوط به سرویس های IIS ، رابطه ای  ندارند .

  • تمام پروتکل های پشته ای (Stack) غیر از TCP/IP را از روی سیستم حذف نمائید. ( در مواردیکه برخی از کاربران اینترانت نیازمند برخی از این نوع پروتکل ها می باشند می بایست با دقت اقدام به نصب و پیکربندی مناسب آن نمود ) .

  • روتینگ IP ، بصورت پیش فرض غیرفعال است و می بایست به همان حالت باقی بماند . در صورت فعال شدن  روتینگ ، این امکان وجود خواهد داشت که داده هائی از طریق کاربران اینترانت به اینترنت ارسال گردد .

  • نصب Client for Microsoft networking ، بمنظور اجرای سرویس های HTTP,FTP,SMTP و NNTP ضروری خواهد بود . در صورتیکه ماژول فوق نصب نگردد، امکان اجرای سرویس های فوق   بصورت دستی و یا اتوماتیک وجود نخواهد داشت .

  • در صورتیکه  تمایل به نصب سرویس های NNTP و SMTP ، می بایست سرویس File and Print Sharing for Microsoft نیز نصب گردند .

عملیات قبل از نصب IIS
در زمان نصب IIS ، یک account پیش فرض به منظور ورود کاربران گمنام ( ناشناس ) به شبکه ایجاد می گردد . نام پیش فرض برای account فوق ، IUSER_computername بوده که computername  نام کامپیوتری است که IIS بر روی آن نصب شده است . account فوق ، می بایست دارای کمترین حقوق و مجوزهای مربوطه بوده  و  گزینه ها ی user cannot change password و password Never Expires  فعال شده باشد. account فوق همچنین می بایست از نوع local account بوده و domain-wide account را شامل نگردیده و دارای مجور ورود به شبکه بصورت محلی باشد (log on locally) . مجوزهای  Access this computer from the network و یا log on as a batch job در رابطه با account ، فوق می بایست غیر فعال گردند .  در صورتیکه سیاست ارتباط با وب سایت ، صرفا" کاربران مجاز باشد، پیشنهاد می گردد account فوق ، غیر فعال گردد . بدین ترتیب تمام کاربران با استفاده از نام و رمز عبور مربوطه  قادر به ورود به سایت خواهند بود . 

گروه هائی برای فایل دایرکتوری و اهداف مدیریتی
حداقل دو گروه جدید که در IIS قصد استفاده از انان را داریم، می بایست ایجاد گردد : گروه WebAdmin  ( نام فوق کاملا" اختیاری است ) . در گروه فوق،  کاربرانی که مسئولیت مدیریت محتویات WWW/FTP را دارند، تعریف می گردند . در صورتیکه سرویس دهنده ،  چندین سایت را میزبان شده است، برای هر سایت یک گروه مدیریتی ایجاد می گردد .  گروه WebUser ( نام فوق کاملا" اختیاری است ) . در گروه فوق لیست account افراد  مجاز برای ارتباط با  سایت ، تعریف می گردد. در حالت اولیه ، گروه فوق صرفا" شامل IUSER_computername  است . از گروه های فوق برای تنظیمات مربوط به مجوزهای NTFS استفاده می گردد . IUSER_computername نباید عضو گروهی دیگر باشد . بصورت پیش فرض IUSER_computername عضو گروه های Guests، Everyone  و Users است  . پیشنهاد  می گردد account فوق ، از گروه Guests حذف و به گروه WebUsers اضافه گردد .( امکان حذف account فوق از سایر گروهها وجود ندارد ) . دقت گردد که تمام افراد  موجود در گروه WebUsers می بایست صرفا" برای دستیابی به وب سایت تعریف شده باشند و نباید عضوی از سایر گروهها باشند .  
مدیریت IIS با چندین گروه
نسخه  شماره چهار IIS ، امکان تعریف گروههای محلی بمنظور پیکربندی و تعریف گروههای مدیریتی متفاوت برای سرویس های IIS را فراهم می نمود . رویکرد فوق در نسخه شماره پنج IIS ، تغییر یافته است . گروهها ی محلی می توانند و می بایست برای گروههای مدیریتی متفاوت ایجاد گردند . تفاوت موجود بین گروههای محلی برای سرویس www و FTP صرفا"  استفاده از  مجوزهای NTFS  خواهد بود . سرویس های SMTP و NNTP ، قابلیت تنظیم گروههای محلی را بعنوان اپراتورهای مدیریتی برای سرویس دهنده  IIS فراهم می نماید .
نصب تمام Patch ها برای سیستم عامل و IIS
مدیران IIS ،  می بایست همواره بررسی های لازم در خصوص آخرین نسخه های  fixes و  patch  را انجام داده  و پس از تهیه ، اقدام به نصب آنان نمایند . بدین منظور می توان از بخش Security سایت ماکروسافت ملاقات و برنامه های جدید را اخذ و نصب نمود .
دایرکتوری پیش فرض نصب IIS
پس از نصب IIS ، می بایست تغییرات لازم در خصوص مجوزهای دستیابی NTFS را در رابطه با دایرکتوری هائی که IIS نصب شده است ، انجام داد .  گروه های Everyone و Guests بهمراه account  مربوط به Guest می بایست  حذف گردند . گروه Everyone بصورت پیش فرض دارای تمامی مجوزهای لازم در رابطه با دایرکتوری Inetpub است . کاربران غیر مجاز با استفاده  از ویژگی گروه فوق قادر به دستیابی به سیستم خواهند بود، بنابراین لازم است در این راستا اقدام لازم ( حذف )  صورت پذیرد . دایرکتوری Inetpub ،  بر روی درایو پیش فرض نصب می گردد . ( مثلا" درایو C ) . دایرکتوری جدید و یا ساختار موجود می بایست به پارتیشن دیگر منتقل و عملا" تمایزی بین سایت های در دسترس از محل سیستم های عملیاتی را بوجود آورد  . پیشنهاد  می گردد Inetpub به نام دلخواه دیگری تغییر یابد .
دایرکتوری های  IIS نسخه پنج  را می توان در یک محل خاص ( سفارشی ) دیگر نیز نصب نمود( تحقق خواسته فوق صرفا" از طریق یک نصب سفارشی  میسر می گردد ) . بدین منظور از یک فایل پاسخ استفاده می شود. فایل پاسخ ( مثلا" iis5.txt) می بایست دارای اطلاعات زیر باشد :

اطلاعات ضروری در فایل پاسخ بمنظور تغییر محل نصب IIS

[Components]
iis_common = on
iis_inetmgr = on
iis_www = on
iis_ftp = on
iis_htmla = on
iis_doc = on
iis_pwmgr = on
iis_smtp = on
iis_smtp_docs = on
mts_core = on
msmq = off
[InternetServer]
PathFTPRoot={put your drive and install location here, i.e. f:FTPROOT}
PathWWWRoot={put your drive and install location here, i.e. f:WWWRoot}

در ادامه از دستور زیر برای نصب استفاده می گردد . ( از طریق خط دستور )

Sysocmgr/I:%windir%infsysoc.inf /u:a:iis5.txt

جدول زیر مجوزهای لازم NTFS و IIS در رابطه با دایرکتوری های مربوطه را نشان می دهد :

Type of
Data

Example Directories

Data Examples

NTFS File Permissions

IIS 5.0
Permissions

Static Content

Inetpubwwwrootimages
Inetpubwwwroothome
Inetpubftprootftpfiles

HTML, images, FTP
downloads, etc.

Administrators (Full Control)
System (Full Control)
WebAdmins (Read & Execute
,Write, Modify)
Authenticated Users (Read)
Anonymous (Read)

Read
FTP Uploads
(if required)

Inetpubftprootdropbox

Directory used as a
place for users to store
documents for review
prior to the Admin
making them available
to everyone

Administrators (Full Control)
WebAdmins or FTPAdmins
(Read & Execute, Write, Modify)
Specified Users (Write)

Write
Script Files

Inetpubwwwrootscripts

.ASP

Administrators (Full Control)
System (Full Control)
WebAdmins(Read & Execute,
Write, Modify)
Authenticated Users: special
access (Execute)
Anonymous: special access
(Execute)

Scripts only
Other
Executable and
Include Files

WebScriptsexecutables
WebScriptsinclude

.exe, .dll, .cmd, .pl
.inc, .shtml, .shtm

Administrators (Full Control)
System (Full Control)
WebAdmins (Read & Execute,
Write, Modify)
Authenticated Users: special
access (Execute)
Anonymous: special access
(Execute)

Scripts only
Or
Scripts and
Executables**
**(Depending on
necessity)

Metabase

WINNTsystem32inetsrv

MetaBase.bin

Administrators (Full Control)
System (Full Control)

N/A

دایرکتوری ها ئی  که شامل فایل های فقط خواندنی هستند ( فایل های Html ، تصاویر،  فایل های آماده برای Download توسط FTP و ... ) ، می بایست دارای مجوز فقط خواندنی بمنظور دستیابی گروه WebUsers باشند . هر نوع از فایل های فوق می تواند  دارای دایرکتوری اختصاصی خود با مجوز فقط خواندنی باشند  . مجوزهای لازم Read&Execute write و Modify را می بایست به گروهی که مسئولیت مدیریت محتویات وب را برعهده دارد اعطاء گردد ( مثلا" گروه WebAdmin) . برای فایل های اجرائی ( اسکریپت ها ، فایل های batch و ... ) ، می بایست  یک دایرکتوری اختصاصی ایجاد کرد . دایرکتوری های فوق  صرفا" دارای مجوز Travesr Folder/Execute مربوط به NTFS برای کاربرانی می باشند  که مجوز لازم بمنظور دستیابی به سایت را دارا می باشند ( کاربر IUSER_computername و سایر کاربران تعریف شده در گروه WebUsers ) . دایرکتوری فوق همچنین می بایست دارای مجوز های مربوط به IIS و از نوع Script only باشد. مجوز Scripts and Executables مربوط به IIS ، می بایست صرفا" به دایرکتوری هائی که به این مجوز نیاز دارند اعطاء گردد. مثلا" یک دایرکتوری که شامل فایل های باینری بوده و می بایست این فایل ها توسط سرویس دهنده وب اجراء گردند .
تمام دایرکتوریهائی که دارای نمونه مثال هائی بوده و یا هر اسکریپت استفاده شده بمنظور اجرای برنامه های نمونه را می بایست حذف و یا انتقال داد . در زمان نصب IIS دایرکتوری های متعددی ایجاد که در آنها فایل های نمونه بهمراه اسکریپت ها قرار می گیرد. پیشنهاد می گردد دایرکتوری های فوق حذف و یا مکان آنها تغییر یابد .  دایرکتوری های زیر نمونه هائی در این زمینه می باشند :

InetPubiissamples
InetPubAdminScripts

سرویس های IIS
در زمان نصب IIS ، چهار سرویس بر روی سیستم نصب خواهد شد  :

  • www . سرویس فوق،بمنظور ایجاد یک سرویس دهنده وب  و سرویس دهی لازم به درخواست سرویس گیرندگان برای صفحات وب استفاده می گردد .

  • FTP . سرویس فوق، بمنظور ارائه خدمات  لازم در خصوص ارسال و دریافت فایل بر روی سرویس دهنده برای کاربران استفاده می گردد .

  • SMTP . سرویس فوق،امکان ارسال و دریافت نامه الکترونیکی برای سرویس گیرندگان را در پاسخ به فرم ها و برنامه های خاص دیگر فراهم می نماید .

  • NNTP . سرویس فوق، بمنظور میزبانی یک سرویس دهنده خبری USENET  استفاده می گردد .

در زمان نصب IIS ، می توان تصمیم به نصب برخی از سرویس ها  و یا همه  آنها گرفت . پس از نصب IIS ، در صورتیکه به وجود برخی از سرویس ها نیاز نباشد، می توان آنها را غیر فعال نمود. بدین منظور می بایست مراحل زیر را  دنبال کرد :

  • انتخاب گزینه Services از طریق مسیر زیر :

Programs => Administrative Tools => Services

  • انتخاب سرویسی  که قصد غیر فعال کردن آن را داریم . در ادامه با فعال کردن کلید سمت راست موس ،  گزینه Stop را بمنظور توقف سرویس فعال نمائید .

  • بمنظور اطمینان از عدم اجرای سرویس غیر فعال شده در زمان راه اندازی مجدد سیستم،  سرویس را مشخص و پس از فعال کردن کلید سمت راست موس،  گزینه Properties را انتخاب ودر بخش Startup type  وضعیت اجرای سرویس را از حالت Automatic به Disable تغییر دهید . شکل زیر نحوه غیر فعال نمودن سرویس www  را نشان می دهد .

ایمن سازی متابیس
متابیس (Metabase) ،  مقادیر مربوط به پارامترهای  پیکربندی برنامه IIS  را  ذخیره می نماید . متابیس بمنظور استفاده  در  IIS طراحی و بمراتب سریعتر و انعطاف پذیرترنسبت به ریجستری ویندوز 2000 است . هر گره در ساختار متابیس ،  یک کلید (key) نامیده شده و می تواند دارای یک و یا چندین مقدار مربوط به پیکربندی بوده که خصلت نامیده می شوند . کلیدهای متابیس IIS به عناصر و قابلیت های مربوط به IIS اختصاص داده شده و هر کلید شامل خصلت هائی است که تاثیر مستقیمی  بر روی سرویس و پتانسیل  مربوطه ، خواهد داشت . ساختار استفاده شده در متابیس بصورت سلسله مراتبی بوده و تصویری مناسب از ساختار IIS است که بر روی سیستم نصب شده است . اکثر کلیدهای پیکربندی IIS بهمراه مقادیر مربوطه در نسخه های قبلی  IIS ، در ریجستری سیستم ذخیره می گردیدند. در نسخه پنج ، تمام مقادیر فوق در متابیس ذخیره می گردند . کلیدهای دیگری نیز  بمنظور افزایش کنترل انعطاف پذیری IIS  در متابیس ذخیره می گردد . یکی از مزایای ساختار استفاده شده در متابیس ، اختصاص تنظمیات متفاوت یک خصلت خاص برای  نمونه های متفاوتی از کلید ها ی مشابه  است . مثلا" خصلت MaxBandwidth ،حداکثر پهنای باند قابل دسترس را برای یک سرویس دهنده مشخص و می تواند به تراکنش های متعدد وب تعمیم یابد . متابیس ، قادر به نگهداری مقادیر متفاوت MaxBandwidth برای هر یک از سایت های وب می باشد .
متابیس در یک فایل خاص با نام Metabase.bin و در آدرس winntsystem32ineterv   ذخیره می گردد . پس از استقرار  IIS در حافظه ، متابیس نیز از روی دیسک خوانده شده و در حافظه مستقر می گردد . پس از غیرفعال شدن IIS ، متابیس مجددا" بر روی دیسک ذخیره خواهد شد . ( متابیس بدفعاتی که IIS اجراء خواهد شد بر روی دیسک ذخیره  می گردد) . با توجه به نقش حیاتی فایل فوق برای برنامه IIS  ، حفاظت  و کنترل دستیابی به آن دارای اهمیت فراوان است . در صورتیکه فایل فوق ،  با یک فایل دیگر ( نامعتبر)  جایگزین گردد، عملکرد صحیح برنامه IIS بمخاطره خواهد افتاد . برنامه IIS سریعا" متاثر از تغییرات خواهد شد . (اولین مرتبه ای که IIS پس از اعمال تغییرات اجراء می گردد ) . در چنین مواردی ممکن است  سرویس مربوطه از طریق سرویس دهنده ، اجراء نشود. پیشنهاد  می گردد که فایل Metabsat.bin   بر روی پارتیشننی از نوع NTFS ذخیره  و با استفاده از امکانات امنیتی ویندوز 2000 آن را حفاظت کرد . مجوزهای پیش فرض برای فایل فوق ،  System و Administrator Full Access می باشد . محدودیت دستیابی به System و local Administrators  امنیتی قابل قبول در رابطه با فایل فوق را ایجاد و ضرورتی به تغییر و یا اضافه نمودن تنظیمات جدیدی نخواهد بود . 
بمنظورایجاد پوسته حفاظتی مطلوبتر امنیتی در رابطه با فایل فوق ،  پیشنهاد  می گردد  فایل فوق  برای کاربران غیر مجاز  مخفی شود . انتقال و یا تغییر نام فایل نیز می تواند امنیت فایل فوق ر ا مضاعف نما ید . بدین منظور می بایست در ابتدا برنامه IIS متوقف و پس از تغییر نام و یا انتقال فایل فوق ،  تغییرات لازم را در کلید ریجستری  زیر اعمال نمود . 

HKEY_LOCAL_MACHINESOFTWAREMicrosoftInetMgrParameters

در ادامه یک مقدار جدید REG_SZ  برای کلید فوق با نام MetadataFile  ایجاد و مسیر کامل فایل  را که شامل نام درایو و نام فایل است  ، بعنوان نام جدید فایل متابیس معرفی  نمائیم . بدین ترتیب برنامه IIS آگاهی لازم در خصوص نام و آدرس فایل متابیس را پیدا و در زمان را اندازی از آن استفاده خواهد کرد .

پیشنهادات تکمیلی در رابطه با امنیت برنامه IIS

  • بر روی سرویس دهنده IIS صرفا" IIS و عناصر مورد نیاز را نصب و از نصب برنامه ها و ابزارهای پیاده سازی ممانعت بعمل آید .

  • تمام سرویس های غیر ضروری را غیر فعال نمائید .

  • در رابطه با IUSER_Computername  account  ،  گزینه های User cannot change password و Password Never Expires را انتخاب و فعال نمائید .

  • در صورتیکه تمایلی  به ورود افراد گمنام (anonymous) به شبکه وجود نداشته باشد ،  می بایست account مربوطه را غیر فعال نمود (IUSER_Computername) .

  • برای هر وب سایت local admin groups ایجاد و account مربوطه را مشخص نمائید .

  • برای کاربران وب یک local group ایجاد و صرفا" account های مورد نیاز و مجاز نظیر IUSER_Computername را در آن فعال نمائید .

  • از تمام گروه های دیگر، account مربوط به IUSER_Computername را حذف نمائید .

  • تمام مجوزهای NTFS مربوط به دایرکتوری Inetpub را حذف و صرفا" گروه ها و account های مجاز را به آن نسبت دهید .

  • یک ساختار منطقی برای دایرکتوری ایجاد نمائید . مثلا" برای  محتویات ایستا ، فایل های  asp  ، scripts  و Html  ، اسامی دایرکتوری دیگری ایجاد و با یک ساختار مناسب بیکدیگر مرتبط گردند.

  • مجوزهای لازم NTFS بر روی ساختار دایرکتوری ها  را در صورت نیاز اعمال نمائید .

  • تمام دایرکتوری های نمونه و اسکریپت هائی که نمونه برنامه هائی را اجراء می نمایند ،  حذف نمائید .

  • مجوز Log on locally به کاربر اعطاء و امکان log on as a batch service  و  Access this computer from the  network از کاربر سلب گردد .

فارسی تو لینوکس

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

به چه چیزهایی نیاز داریم؟

خوب برای اینکه عملیات فارسی نویسی برای لینوکس موفقیت آمیز باشد، به برنامه های زیر نیاز دارید:

- محیط گرافیکی GNOME نسخه 2 و بالاتر یا KDE نسخه 3 و بالاتر

- XFree86 نسخه 4.2.0 و بالاتر

- بسته فارسی برای لینوکس که در بخش دانلود سایت موجود است.

لازم به ذکر است که نسخه های محیطهای GNOME و KDE که در بالا ذکر شدند، از Unicode پشتیبانی میکنند که میتوانند کاراکترهای فارسی را به درستی نشان دهند. ضمنا برنامه Xfree86 نسخه 4.2.0 دارای بهبودهایی در بارگزاری فونت ها و پشتیبانی از antialiasing است.

چگونه شروع کنیم ؟

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

$ gunzip farsi_pack.tar.gz

$ tar -xf farsi_pack.tar

حاصل کار 3 فایل خواهد بود که دو تای آنها قلم Tahoma و یکی صفحه کلید فارسی است.

مراحل بعدی به صورت زیر است:

- یک پنجره ترمینال باز کرده، سپس با تایپ دستور su بصورت کاربر ریشه وارد سیستم شوید. سپس دستور vi /etc/X11/XF86Config را تایپ کنید تا برنامه ویرایشگر vi اجرا شده و فایل پیکربندی Xfree86 را برایتان باز کند.

- در برنامه vi در متن فایل بازشده، به دنبال Section InputDevice گشته و پس از پیدا کردن آن، در یک فضای خالی کاید insert را فشار داده و فرمانهای زیر را تایپ کنید:

Option "XkbOptions" "grp:ctrl_shift_toggle"

Option "XkbLayout" "fa"

کار کردن با vi مشابه ویرایشگرهای متنی دیگر است. خط نخست به Xfree86 می گوید که با فشرده شدن، Ctrl+Shift زبان صفحه کلید عوض شود و خط دوم، زبان دوم را که فارسی است به آن معرفی میکند.

پس از اتمام تایپ خطوط بالا، کلید Esc را فشار دهید، سپس کلید : را فشار داده و تایپ کنید wq و کلید Enter را فشار دهید. این کار تغییرات انجام شده را ذخیره کرده وبه خط فرمان باز میگردد.

- در این مرحله باید دایرکتوری مربوط به فونتهای TrueType را به Xfree86 معرفی کنید. برای این کار، مجددا در خط فرمان دستور vi /etc/fonts/fonts.conf را تایپ کنید. این کار فایل پیکربندی قلمها را باز میکند. به دنبال خط زیر که در ابتدای صفحه است بگردید:

 

/usr/X11R6/lib/X11/fonts/Type1

 

و مجددا با فشار دادن کلید insert خط زیر را زیر آن اضافه کنید:

 

/usr/X11R6/lib/X11/fonts/TTF

 

پس از اتمام کلید Esc و سپس : را فشار داده و تایپ کنید wq تا تغییرات ذخیره شده و از برنامه vi خارج شوید.

- خوب بخشهای مشکل کار را به اتمام رساندید. در مرحله بعدی باید فایل هایی را که باز کرده اید به مسیرهای مربوطه کپی کنید.برای این کار فرامین زیر را تایپ کنید:

$ cp *.ttf /usr/X11R6/lib/X11/fonts/TTF/

پس از اتمام کار، کلیدهای Alt+Ctrl+Backspace را فشار دهید تا Xserver مجددا راه اندازی شود و تغییراتی که ایجاد کردید در سیستم اعمال شود. مجددا در سیستم login کرده و این بار در منوی اصلی قسمت Preferences بخش Font را انتخاب کرده و برای قسمتهایی  فونت Tahoma را انتخاب کنید :

 


- خوب تبریکات مرا بپذیرید. اکنون میتوانید در بخشهای مختلف و برنامه هایی که با استفاده از GTK 2.0 طراحی شده اند، فارسی تایپ کنید. میتوانید در مرورگر اینترنت خود نیز از زبان فارسی استفاده کنید.

آیا در مجموعه برنامه های اداری OpenOffice امکان تایپ فارسی وجود دارد؟

استفاده از امکانات فارسی در محیطهای متفرقه امکان خوبی است، ولی این هنگامی تکمیل میشود که بتوان در محیطهای اداری نیز از امکانات فارسی استفاده کرد. بله شما میتوانید در مجموعه برنامه های اداری OpenOffice فارسی تایپ کنید. البته این بستگی به نسخه ای دارد که شما در حال استفاده از آن هستید. این امکان در نسخه 1.00 وجود ندارد، زیرا در آن پشتیبانی از CTL فعال نمی باشد. برای استفاده از امکانات فارسی باید نسخه های دارای پشتیبانی از CTL مانند نسخه 1.1 را دانلود کنید. کافی است به آدرس http://www.openoffice.org مراجعه کنید. البته دانلود کردن این مجموعه کمی جرات می خواهد که البته به آن می ارزد.واقعا مجموعه OpenOffice جانشین خوبی برای MS-Office به شمار میرود. این مجموعه هم فایلهای MS-Office را میخواند و هم به فرمت آن Save میکند. (حتی بهتر از خود مایکروسافت!) حجم آن حدود 74 مگابایت است. البته برای دانلود با مودم عدد بزرگی است ولی در مقایسه با 700 -800 مگابایت MS-Office یک شاهکار به شمار میرود. این مجموعه محصول یکی از دشمنان مایکروسافت یعنی Sun Microsystems است و بصورت کد باز ارائه میشود و تماما با Java نوشته شده است.