برقرار كردن امنيت براي يك شبكه درون يك ساختمان كار ساده اي است . اما هنگامي كه بخواهيم از نقاط دور رو ي داده هاي مشترك كار كنيم ايمني به مشكل بزرگي تبديل مي شود . در اين بخش به اصول و ساختمان يك VPN براي سرويس گيرنده هاي ويندوز و لينوكس مي پردازيم .
اصول VPN
فرستادن حجم زيادي از داده از يك كامپيوتر به كامپيوتر ديگر مثلا” در به هنگام رساني بانك اطلاعاتي يك مشكل شناخته شده و قديمي است . انجام اين كار از طريق Email به دليل محدوديت گنجايش سرويس دهنده Mail نشدني است .
استفاده از FTP هم به سرويس دهنده مربوطه و همچنين ذخيره سازي موقت روي فضاي اينترنت نياز دارد كه اصلا” قابل اطمينان نيست .
يكي از راه حل هاي اتصال مستقيم به كامپيوتر مقصد به كمك مودم است كه در اينجا هم علاوه بر مودم ، پيكر بندي كامپيوتر به عنوان سرويس دهنده RAS لازم خواهد بود . از اين گذشته ، هزينه ارتباط تلفني راه دور براي مودم هم قابل تامل است . اما اگر دو كامپيوتر در دو جاي مختلف به اينترنت متصل باشند مي توان از طريق سرويس به اشتراك گذاري فايل در ويندوز بسادگي فايل ها را رد و بدل كرد . در اين حالت ، كاربران مي توانند به سخت ديسك كامپيوترهاي ديگر همچون سخت ديسك كامپيوتر خود دسترسي داشته باشند . به اين ترتيب بسياري از راه هاي خرابكاري براي نفوذ كنندگان بسته مي شود .
شبكه هاي شخصي مجاري يا VPN ( Virtual private Network ) ها اينگونه مشكلات را حل مي كند . VPN به كمك رمز گذاري روي داده ها ، درون يك شبكه كوچك مي سازد و تنها كسي كه آدرس هاي لازم و رمز عبور را در اختيار داشته باشد مي تواند به اين شبكه وارد شود . مديران شبكه اي كه بيش از اندازه وسواس داشته و محتاط هستند مي توانند VPN را حتي روي شبكه محلي هم پياده كنند . اگر چه نفوذ كنندگان مي توانند به كمك برنامه هاي Packet sniffer جريان داده ها را دنبال كنند اما بدون داشتن كليد رمز نمي توانند آنها را بخوانند .
-4.1.1 VPN چيست ؟
VPN دو كامپيوتر يا دو شبكه را به كمك يك شبكه ديگر كه به عنوان مسير انتقال به كار مي گيرد به هم متصل مي كند . براي نمونه مي توان ب دو كامپيوتر يكي در تهران و ديگري در مشهد كه در فضاي اينترنت به يك شبكه وصل شده اند اشاره كرد . VPN از نگاه كاربر كاملا” مانند يك شبكه محلي به نظر مي رسد . براي پياده سازي چنين چيزي ، VPN به هر كاربر يك ارتباط IP مجازي مي دهد .
داده هايي كه روي اين ارتباط آمد و شد دارند را سرويس گيرنده نخست به رمز در آورده و در قالب بسته ها بسته بندي كرده و به سوي سرويس دهنده VPN مي فرستد . اگر بستر اين انتقال اينترنت باشد بسته ها همان بسته هاي IP خواهند بود .
سرويس گيرنده VPN بسته ها را پس از دريافت رمز گشايي كرده و پردازش لازم را روي آن انجام مي دهد . در آدرس http://www.WOWN.COM\W-baeten\gifani\vpnani.gif شكل بسيار جالبي وجود دارد كه چگونگي اين كار را نشان مي دهد . روشي كه شرح داده شد را اغلب Tunneling يا تونل زني مي نامند چون داده ها براي رسيدن به كامپيوتر مقصد از چيزي مانند تونل مي گذرند . براي پياده سازي VPN راه هاي گوناگوني وجود دارد كه پر كاربرد ترين آنها عبارتند از
Point to point Tunneling protocol يا PPTP كه براي انتقال NetBEUI روي يك شبكه بر پايه IP مناسب است .
Layer 2 Tunneling protocol يا L2TP كه براي انتقال IP ، IPX يا NetBEUI روي هر رسانه دلخواه كه توان انتقال Datagram هاي نقطه به نقطه ( Point to point ) را داشته باشد مناسب است . براي نمونه مي توان به IP ، X.25 ، Frame Relay يا ATM اشاره كرد .
IP Security protocol يا Ipsec كه براي انتقال داده هاي IP روي يك شبكه بر پايه IP مناسب است .
-4.1.2 پروتكل هاي درون تونل
Tunneling را مي توان روي دو لايه از لايه هاي OSI پياده كرد . PPTP و L2TP از لايه 2 يعني پيوند داده استفاده كرده و داده ها را در قالب Frame هاي پروتكل نقطه به نقطه ( PPP ) بسته بندي مي كنند . در اين حالت مي توان از ويژگي هاي PPP همچون تعيين اعتبار كاربر ، تخصيص آدرس پويا ( مانند DHCP ) ، فشرده سازي داده ها يا رمز گذاري داده ها بهره برد.
با توجه به اهميت ايمني انتقال داده ها درVPN ، دراين ميان تعيين اعتبار كاربر نقش بسيار مهمي دارد . براي اين كار معمولا” از CHAP استفاده مي شود كه مشخصات كاربر را در اين حالت رمز گذاري شده جابه جا ميكند . Call back هم دسترسي به سطح بعدي ايمني را ممكن مي سازد . در اين روش پس از تعيين اعتبار موفقيت آميز ، ارتباط قطع مي شود . سپس سرويس دهنده براي برقرار كردن ارتباط جهت انتقال داده ها شماره گيري مي كند . هنگام انتقال داده ها ، Packet هاي IP ، IP X يا NetBEUI در قالب Frame هاي PPP بسته بندي شده و فرستاده مي شوند . PPTP هم Frame هاي PPP را پيش از ارسال روي شبكه بر پايه IP به سوي كامپيوتر مقصد ، در قالب Packet هاي IP بسته بندي مي كند . اين پروتكل در سال 1996 از سوي شركت هايي چون مايكرو سافت ، Ascend ، 3 com و Robotics US پايه گذاري شد . محدوديت PPTP در كار تنها روي شبكه هاي IP باعث ظهور ايده اي در سال 1998 شد .L2TP روي X.25 ،Frame Relay يا ATM هم كار مي كند . برتري L2TP در برابر PPTP اين است كه به طور مستقيم روي رسانه هاي گوناگون WAN قابل انتقال است .
4.1.3 - VPN-Ipsec فقط براي اينترنت
Ipsec برخلافPPTP و L2TP روي لايه شبكه يعني لايه سوم كار مي كند . اين پروتكل داده هايي كه بايد فرستاده شود را همراه با همه اطلاعات جانبي مانند گيرنده و پيغام هاي وضعيت رمز گذاري كرده و به آن يك IP Header معمولي اضافه كرده و به آن سوي تونل مي فرستد .
كامپيوتري كه در آن سو قرار دارد IP Header را جدا كرده ، داده ها را رمز گشايي كرده و آن را به كامپيوتر مقصد مي فرستد .Ipsec را مي توان با دو شيوه Tunneling پيكر بندي كرد . در اين شيوه انتخاب اختياري تونل ، سرويس گيرنده نخست يك ارتباط معمولي با اينترنت برقرار مي كند و سپس از اين مسير براي ايجاد اتصال مجازي به كامپيوتر مقصد استفاده مي كند . براي اين منظور ، بايد روي كامپيوتر سرويس گيرنده پروتكل تونل نصب شده باشد . معمولا” كاربر اينترنت است كه به اينترنت وصل مي شود . اما كامپيوترهاي درون LAN هم مي توانند يك ارتباط VPN برقرا كنند . از آنجا كه ارتباط IP از پيش موجود است تنها برقرار كردن ارتباط VPN كافي است . در شيوه تونل اجباري ، سرويس گيرنده نبايد تونل را ايجاد كند بلكه اين كار ار به عهده فراهم ساز (Service provider ) است . سرويس گيرنده تنها بايد به ISP وصل شود . تونل به طور خودكار از فراهم ساز تا ايستگاه مقصد وجود دارد . البته براي اين كار بايد همانگي هاي لازم با ISP انجام بگيرد .ٍ
ويژگي هاي امنيتي در IPsec
Ipsec از طريق Authentication Header ( AH ) مطمئن مي شود كه Packet هاي دريافتي از سوي فرستنده واقعي ( و نه از سوي يك نفوذ كننده كه قصد رخنه دارد ) رسيده و محتويات شان تغيير نكرده . AH اطلاعات مربوط به تعيين اعتبار و يك شماره توالي (Seguence Number ) در خود دارد تا از حملات Replay جلوگيري كند . اما AH رمز گذاري نمي شود . رمز گذاري از طريق Encapsulation Security Header يا ESH انجام مي گيرد . در اين شيوه داده هاي اصلي رمز گذاري شده و VPN اطلاعاتي را از طريق ESH ارسال مي كند .
ESH همچنين كاركرد هايي براي تعيين اعتبار و خطايابي دارد . به اين ترتيب ديگر به AH نيازي نيست . براي رمز گذاري و تعيين اعتبار روش مشخص و ثابتي وجود ندارد اما با اين همه ، IETF براي حفظ سازگاري ميان محصولات مختلف ، الگوريتم هاي اجباري براي پياده سازي Ipsec تدارك ديده . براي نمونه مي توان به MD5 ، DES يا Secure Hash Algorithm اشاره كرد . مهمترين استانداردها و روش هايي كه در Ipsec به كار مي روند عبارتند از :
• Diffie-Hellman براي مبادله كليد ها ميان ايستگاه هاي دو سر ارتباط .
• رمز گذاري Public Key براي ثبت و اطمينان از كليدهاي مبادله شده و همچنين اطمينان از هويت ايستگاه هاي سهيم در ارتباط .
• الگوريتم هاي رمز گذاري مانند DES براي اطمينان از درستي داده هاي انتقالي .
• الگوريتم هاي درهم ريزي ( Hash ) براي تعيين اعتبار تك تك Packet ها .
• امضاهاي ديجيتال براي تعيين اعتبارهاي ديجيتالي .
4.1.5 - Ipsec بدون تونل
Ipsec در مقايسه با ديگر روش ها يك برتري ديگر هم دارد و آن اينست كه مي تواند همچون يك پروتكل انتقال معمولي به كار برود .
در اين حالت برخلاف حالت Tunneling همه IP packet رمز گذاري و دوباره بسته بندي نمي شود . بجاي آن ، تنها داده هاي اصلي رمزگذاري مي شوند و Header همراه با آدرس هاي فرستنده و گيرنده باقي مي ماند . اين باعث مي شود كه داده هاي سرباز ( Overhead ) كمتري جابجا شوند و بخشي از پهناي باند آزاد شود . اما روشن است كه در اين وضعيت ، خرابكاران مي توانند به مبدا و مقصد داده ها پي ببرند . از آنجا كه در مدل OSI داده ها از لايه 3 به بالا رمز گذاري مي شوند خرابكاران متوجه نمي شوند كه اين داده ها به ارتباط با سرويس دهنده Mail مربوط مي شود يا به چيز ديگر .
4.1.6 – جريان يك ارتباط Ipsec
بيش از آن كه دو كامپيوتر بتوانند از طريق Ipsec داده ها را ميان خود جابجا كنند بايد يكسري كارها انجام شود .
• نخست بايد ايمني برقرار شود . براي اين منظور ، كامپيوترها براي يكديگر مشخص مي كنند كه آيا رمز گذاري ، تعيين اعتبار و تشخيص خطا يا هر سه آنها بايد انجام بگيرد يا نه .
• سپس الگوريتم را مشخص مي كنند ، مثلا” DEC براي رمزگذاري و MD5 براي خطايابي.
• در گام بعدي ، كليدها را ميان خود مبادله مي كنند .
Ipsec براي حفظ ايمني ارتباط از Security Association (SA ) استفاده مي كند . SA چگونگي ارتباط ميان دو يا چند ايستگاه و سرويس هاي ايمني را مشخص مي كند . SA ها از سوي SPI ( Security parameter Index ) شناسايي مي شوند . SPI از يك عدد تصادفي و آدرس مقصد تشكيل مي شود . اين به آن معني است كه همواره ميان دو كامپيوتر دو SPI وجود دارد :
يكي براي ارتباط A و B و يكي براي ارتباط B به A . اگر يكي از كامپيوترها بخواهد در حالت محافظت شده داده ها را منتقل كند نخست شيوه رمز گذاري مورد توافق با كامپيوتر ديگر را بررسي كرده و آن شيوه را روي داده ها اعمال مي كند . سپس SPI را در Header نوشته و Packet را به سوي مقصد مي فرستد .
4.1.7 - مديريت كليدهاي رمز در Ipsec
اگر چه Ipsec فرض را بر اين مي گذارد كه توافقي براي ايمني داده ها وجود دارد اما خودش براي ايجاد اين توافق نمي تواند كاري انجام بدهد .
Ipsec در اين كار به IKE ( Internet Key Exchange ) تكيه مي كند كه كاركردي همچون IKMP ( Key Management Protocol ) دارد. براي ايجاد SA هر دو كامپيوتر بايد نخست تعيين اعتبار شوند . در حال حاضر براي اين كار از راه هاي زير استفاده مي شود :
• Pre shared keys : روي هر دو كامپيوتر يك كليد نصب مي شود كه IKE از روي آن يك عدد Hash ساخته و آن را به سوي كامپيوتر مقصد مي فرستد . اگر هر دو كامپيوتر بتوانند اين عدد را بسازند پس هر دو اين كليد دارند و به اين ترتيب تعيين هويت انجام مي گيرد .
• رمز گذاري Public Key : هر كامپيوتر يك عدد تصادفي ساخته و پس از رمز گذاري آن با كليد عمومي كامپيوتر مقابل ، آن را به كامپيوتر مقابل مي فرستد .اگر كامپيوتر مقابل بتواند با كليد شخصي خود اين عدد را رمز گشايي كرده و باز پس بفرستد برا ي ارتباط مجاز است . در حال حاضر تنها از روش RSA براي اين كار پيشنهاد مي شود .
• امضاء ديجيتال : در اين شيوه ، هر كامپيوتر يك رشته داده را علامت گذاري ( امضاء ) كرده و به كامپيوتر مقصد مي فرستد . در حال حاضر براي اين كار از روش هاي RSA و DSS ( Digital Singature Standard ) استفاده مي شود . براي امنيت بخشيدن به تبادل داده ها بايد هر دو سر ارتبا طنخست بر سر يك يك كليد به توافق مي رسند كه براي تبادل داده ها به كار مي رود . برا ي اين منظور مي توان همان كليد به دست آمده از طريق Diffie Hellman را به كاربرد كه سريع تر است يا يك كليد ديگر ساخت كه مطمئن تر است .
4.1.8 – خلاصه
تبادل داده ها روي اينرنت چندان ايمن نيست . تقريبا” هر كسي كه در جاي مناسب قرار داشته باشد مي تواند جريان داده ها را زير نظر گرفته و از آنها سوء استفاده كند . شبكه هاي شخصي مجازي يا VPN ها كار نفوذ را برا ي خرابكاران خيلي سخت مي كند .
هر کسی اشتراک VPN خواست به این آدرس ایمیل بزنه :
ii_devilhell_ii@yahoo.com
ماهیانه ۶۰۰۰ تومان = مبارزه با تحریمات سایتهایی که به ایرانیان خدمات نمی دهند
+ نوشته شده در پنجشنبه دوم فروردین 1386ساعت 12:6  توسط DevilHell
|
+ نوشته شده در پنجشنبه پنجم بهمن 1385ساعت 18:41  توسط DevilHell
|
+ نوشته شده در یکشنبه بیست و چهارم دی 1385ساعت 2:2  توسط DevilHell
|
به زبان شیرین انگلیسی بخونید:
Be afraid. Threats to corporate security are everywhere. Just when you
thought your network was safe from hackers, along came wi-fi - or your
iPod-wielding workforce - and opened a whole new can of worms.
Security is by its nature ever-evolving. Just as one threat is apparently
locked down, another springs up to take its place - or an old one rears its
head in a new form. Grappling with this malicious hydra it's no wonder the
security space spawns new terms and phrases at a rate of knots - and you're
supposed to keep up with them all.
A is for Antivirus
B is for Botnets
C is for CMA
D is for DDoS
E is for Extradition
F is for Federated identity
G is for Google
H is for Hackers
I is for IM
J is for Jaschan (Sven)
K is for Kids
L is for Love Bug
M is for Microsoft (Micro$hit)
N is for Neologisms
O is for Orange
P is for Passwords
Q is for Questions
R is for Rootkits
S is for Spyware
T is for Two-factor authentication
U is for USB sticks/devices
V is for Virus variants
W is for Wi-fi
X is for OS X
Y is for You
Z is for Zero-day
And while the rise of the net has opened many doors, it has also kicked down
a few that really should be locked. Google is an undeniably wonderful tool
for helping people find anything and everything, but such power, especially
when rolled onto desktop PCs in a corporate setting, can be abused as well.
And it is the human urge to misuse technology that keeps security
professionals working in overdrive.
Human failings of a less malicious kind are yet another headache for IT
departments - from poor choice of passwords to dodgy downloads.
If the business of securing computers and networks is a lucrative one -
something Microsoft has become keen to capitalise on of late - so too is the
international business of high-tech cyber crime that underpins it. Cyber
crime is a hot political potato too: the UK government has just updated the
Computer Misuse Act to close a loophole regarding denial of service attacks
and provide for stiffer penalties for hacking offences.
The rise of wi-fi, remote working and mobile technology has taken security
concerns out of the office. Threats follow the data and if the data is out
there somewhere, you can guarantee the threats won't be far behind...
امیدوارم به زبان انگلیسی عادت کنید. چون بزودی اتفاقات خوبی قراره بیافته.
+ نوشته شده در یکشنبه سوم دی 1385ساعت 11:19  توسط DevilHell
|
اشاره :
از زمان ارایه سیستمعامل شبكهای ویندوز 0.4NT، وب سرورIIS یكی از اجزای سیستمعاملهای سرور مایكروسافت بوده كه نصب یا عدم نصب آن از طرف كاربر به صورت دلخواه و به راحتی در هر زمانی قابل انجام بوده است. به عنوان مثال ویندوز 0.4 NT همراه 4IIS ، ویندوز 2000 همراه 5 IIS و ویندوز XP به همراه 1.5 IIS به بازار ارایه شدند. تا قبل از ویندوز 2003، كلیه ویرایشها و نسخههای مختلف IIS بسیار مشابه هم بودند و میشد آنها را جزء یك خانواده به حساب آورد، اما پس از آن و با به میان آمدن ویندوز 2003، كه نسخه ششم IIS را به همراه خود داشت، قضیه كاملاً متفاوت شد. در این نسخه كه میتوان آن را یك بازنویسی كامل از وب سرور قدیمی دانست، بسیاری از مدلهای اجرای كد، تسهیلات مربوط به مدیریت و سرعت و كارایی آن، دچار تغییرات و بهبودهای قابل ملاحظهای شدهاست. از طرف دیگرآپاچی با سابقهای بیشتر كه براساس كدینگ http كار میكرد، همواره به عنوان سمبل وب سرورهای دنیای یونیكس مطرح بود. نسخه1.3 x آپاچی كه تا سال 2002 مورد استفاده قرار میگرفت، با استفاده از ترفندهای تكنیكی خاصی برروی سایر سیستمعاملها و حتی ویندوز هم قابل نصب و اجرا بود. اما با پیدایش آپاچی نسخه 2، همین معادلات هم دچار تحولی بزرگ گردید. این نسخه كه دارای محیطی كاملاً تغییر یافته بوده و توابع درون آن با ظرافت هر چه تمامتر استقلال خود را از سیستمعامل تثبیت كرده بودند، توانست بر روی كلیه سیستمعاملهای ویندوز، یونیكس، لینوكس، مكOSX و حتی سیستمعاملهای دیگری چونVMS و Be OS نصب و اجرا شود.
مقایسه
در مقام مقایسه IIS و آپاچی میتوان گفت كه هر كدام دارای مزایا و معایبی نسبت به یكدیگر هستند. IIS فقط برای اجرا در ویندوز ساخته شده است بهخصوص نسخه ششم آن فقط در ویندوز 2003 قابلاجرا میباشد. اگر چه بسیاری از كارشناسان، این مسئله را نوعی نقطهضعف در ساختار IIS میدانند، برخی دیگر هماهنگی بسیار دقیق میان آن و ویندوز 2003 و سرویسهای دیگر سیستمعامل را كه باعث آسانتر بودن مدیریت IIS شده است، از نقاط برتری آن به حساب میآورند. بهخصوص در نسخه ششم جدا شدن ماژول مخصوص دریافت درخواستها(Request) از ماژول ویژه پردازش آنها، سهم بهسزایی در افزایش كارایی آن داشته است. در این روش ماژول Listener كه در كرنل مستقر شده است (Http.sys)، درخواستهای ارسالی از طرف كلاینتها را دریافتكرده و آنها را به ترتیب در داخل یك یا چند صف درخواست قرار میدهد. سپس IIS به این درخواستها با اختصاص حداقل یك پروسه كاری (Worker Process) به هر درخواست، پاسخ میدهد. این ویژگی باعث میشود حتی زمانی كه IIS به شدت مشغول پاسخدهی به درخواستهای قبلی است، ماژول جداگانهای كه در كرنل مستقر است، بتوانند درخواستهای جدید را دریافت كرده و حداقل آنها را در انتظار پاسخ قرار دهند. همچنین با این وضعیت، سیستمعامل میتواند كنترل بهتری را در اختصاص پروسههای لازم به IIS جهت پردازش درخواستها انجام دهد. در آپاچی هم جریان تا حدودی مشابه همین روال است. در این جا تعدادی ماژول با قابلیت انجام چند پردازش در واحد زمان (Multi Processing module) وظیفه دریافت و پاسخ به درخواستها را برعهده دارند. این ماژولها كه با استفاده از تكنولوژی APR یا Apache Portable Runtime برروی بسیاری از سیستمعاملهایی كه از كدهای كامپایل شده زبان C پشتیبانی میكنند، قابل اجرا هستند، با استفاده از امكانات و قابلیتهایMultithreading همان سیستمعامل میزبان به سرعت و به صورت همزمان درخواستهای رسیده از طرف كلاینتها را دریافت و پردازش میكنند.
امنیت
یكی از مزایای، IIS ارتباط تنگاتنگ موجود بین آن و سیستمعامل است. این عامل سبب میشود تا IIS با توجه به اینكه سیستمعامل بسیاری از موارد امنیتی را قبل از رسیدن درخواست به وب سرور مورد بررسی قرار میدهد و هویت كاربران متصل را ارزیابی (Authentication) میكند، با اطمینان بیشتری به كار خود ادامه دهد. ضمن اینكه مدیر سیستم هم به دلیل اشتراك روشی كه در تأمین امنیت بین سیستمعامل و وب سرور وجود دارد، مجبور به دوباره كاری نمیشود. به عنوان مثال اگر شما در اكتیودایركتوری ویندوز 2003 دسترسی به یك یا چند فایل خاص را برای یك گروه از كاربران مجاز و برای گروهی دیگر غیرمجاز تعریف كرده باشید، این كاربران از هر روشی كه بخواهند به آن فایلها دسترسی پیدا كنند (حتی از طریق وب سرور) باید تابع قواعد تنظیم شده در اكتیودایركتوری باشند و این قوانین در IIS نیز حكمفرما است.
در مورد آپاچی نسخه دوم، مسئله به این سادگی و روانی نیست و قاعدتاً مدیریت امنیت در مورد آن پیچیدهتر و وقتگیرتر از IIS است. البته اكنون ماژولها و آداپتورهای جدیدی در آپاچی تعبیه شده كه امكان ارتباط بین آن و اكتیودایركتوری ویندوز یا Password یونیكس را بهوجود میآورد، اما باز هم میتوان گفت كه اصولاً با وجود این ارتباط هم در آپاچی، سیستمعامل و وب سرور هر كدام ساز خود را میزنند و آپاچی چندان از قواعد امنیتی تعریف شده در سیستمعامل تبعیت نمیكند. البته بسیاری از طرفداران آپاچی این مسئله را نوعی نقطه قوت آپاچی دانسته و با ذكر این نكته كه اولاً هر درخواست از طرف خارج باید از دو سد محكم سیستمعامل و وب سرور عبور كند و ثانیاً حفرههای امنیتی در سیستمعاملهای یونیكس و آپاچی بسیار كمتر از ویندوز و IIS است، استفاده از آپاچی را از لحاظ امنیتی دارای ریسك كمتری نسبت به IIS میدانند.
از لحاظ پروتكلهای امنیتی، هر دو وب سرور كلیه پروتكلها از جمله SSL ،IPsec و مكانیسمهای هویتسنجی Basic Digest LDAP را پشتیبانی میكنند.
كارایی
مقایسه كارایی آپاچی و IIS همواره از مشكلترین بحثهای تكنیكی دنیای وب سرورها بوده است؛ چرا كه این نوع مقایسه مستلزم بهوجود آوردن شرایط یكسان آزمایش به صورت منصفانه برای دو طرف رقابت است كه دست یافتن به این شرایط، كاری آسان و صددرصد قابل انجام نمیباشد. شاید به تصور خیلیها میتوان زمان دریافت، پردازش و پاسخ هر دو وب سرور به یك صفحه CGI یا JSP (كه مورد پشتیبانی هر است) را برروی یك سرور با مشخصات سختافزاری یكسان به معرض آزمون گذاشت، اما این هم به نمیتواند تنهایی پاسخگوی معمای كارایی باشد. چرا كه اولاً شاید هر دو وب سرور ادعای بهترین كارایی خود در تكنولوژی مشتركی مثل JSP را نداشته باشند. مثلاً شاید مایكروسافت ASP.NET را كه فعلا در آپاچی پشتیبانی نمیشود، بهترین عرصه برای نمودارشدن كارایی IIS بداند. ثانیاًٌ نباید فراموش كرد كه آپاچی، یك وب سرور چند سكویی میباشد و این باعث میشود تا صورت مسئله كمی پیچیدهتر شود و كسانی كه میخواهند به داوری مسابقه كارایی این دو وب سرور بنشینند را با سؤالی جدیدتر روبرو كند و آن هم این است كه IIS ویندوز را با آپاچی كدام سیستمعامل مقایسه كنیم ؟ آیا اصولاً آپاچی ادعایی بر ارایه بهترین كیفیت و كارایی خود برروی سیستمعامل مشترك ویندوز را دارد یا اینكه كماكان به سرعت خود برروی سیستمعاملهای یونیكس و لینوكس میبالد؟
در IIS 6 وجود مدلهای متعدد پردازشی كه ویژه كار در محیطهای چند پردازندهای در نظر گرفته شدهاند، سرعت اجرای برنامههای ASP و یا ISAPI را تا حد بسیار مطلوبی بالا بردهاند. همچنین درایور HTTP.sys در این نسخه قادر است به صورت مستقیم به اطلاعات موجود در cache (چه هارددیسك و چه حافظه اصلی) دسترسی پیدا كند بدون آنكه نیازمند وجود واسطهای مثل پروسههای كاری برای انجام این كار باشد. IIS همچنین قادر است صفحاتی را كه توسط عناصر دینامیك وب به صورت RunTime ساخته میشوند را در cache ذخیره كند تا در صورتی كه كلاینت بعدی هم بخواهد همین صفحه را تولید كند، به جای ساختن دوباره آن، از محل cache اطلاعات را بدون پردازش خاصی به سمت كلاینت مذكور بفرستد.
در آپاچی نیز اوضاع به همین گونه است. ماژولهای modperl وmodphp با استفاده از همان مكانیسم cache سرعت تولید صفحات دینامیك را همانند صفحات استاتیك به حداكثر خود میرسانند. همچنین دقیقاً مشابه فیلترهای ASP و ISAPI در IIS، در این جا هم ماژولهای Perl و PHP مستقیماً درخواستهای كلاینتها را مورد بررسی قرار داده و پاسخ لازم را ارسال میكنند و بدین وسیله از ارجاع درخواستها به محیط خارج آپاچی و كند شدن روند پاسخ جلوگیری میكنند.
مدیریت
در مورد مدیریت وب سرور، اختلافاتی بین دو وب سرور مذكور وجود دارد. آپاچی در نسخههای اولیه خود، وب سروری كاملا TextBased به نظر میرسید كه صرفاً با دستكاری مستقیم در فایلهای پیكربندی، تنظیم وب سرور و یا با استفاده از دستورات خط فرمان مدیریت آن امكانپذیر بود. اما اكنون بسیاری از واسط كاربرهای گرافیكی مثل Comanche قادرند یك محیط گرافیكی كاربرپسند و در واقع یك لایه بیرونی برای كار با آپاچی فراهم كنند. در این زمینه لیستی از واسط كاربرهای گرافیكی تهیه شده در سایت آپاچی به نشانی http://gui.apache.org موجود و قابل داونلود است. البته بسیاری از كاربران وجود مدیریت و تنظیمات Text Based را برای آپاچی یك مزیت عنوان میكنند. به عقیده این افراد، با این نوع پیكربندی آپاچی میتوان به سادگی و صرفاً با كپی كردن چند فایل از كامپیوتری به كامپیوتر دیگر همه تنظیمات یك سرور آپاچی را به سرور دیگر منتقل و از صرف وقت برای تنظیم دستی آن خلاص شد. این مسئله برای وب سروری مثل IIS كه تنظیمات خود را در قالب فایلهای باینری نگهداری میكند، قابل انجام نیست. البته در IIS 6 تنظیمات وب سرور در قالب فایلهای XML قابل دسترسی است. و بدینوسیله و با روش Import و Export میتوان تنظیمات یك وبسرور را به دیگری منتقل كرد. همچنین اینكه علاوه بر این كار، IIS 6 امكان مدیریت راهدور را از طریق دستورات خط فرمان و اجرای آن با پروتكل Telnet را مشابه آپاچی به كاربران خود داده است. در ضمن هر دو وب سرور، امكان مدیریت از طریق وب را به كاربران دادهاند. IIS از طریق Web Based Administration و آپاچی با استفاده از ابزاری به نام Webmin این تسهیلات را مهیا كردهاند.
قابلیت اطمینان
IIS 6 با جدا كردن حافظه و محل اجرای برنامههای وب از یكدیگر، باعث شده است در صورت بروز یك مشكل در هر یك از برنامههای در حال اجرا، این مشكل به سایر برنامهها و پردازشهای در حال اجرا سرایت نكند. در آپاچی نسخه دوم این عمل تا حدودی قابل انجام است. بدینمعنی كه اصولاً آپاچی با مكانیسمهای تشخیص و ترمیم خطا، از سرایت مشكل به قسمتها و پردازشهای دیگر جلوگیری میكند، اما به طور كلی نمیتواند همانند IIS عمل جداسازی برنامهها از یكدیگر را انجام دهد و در برخی موارد، بروز یك مشكل در یكی از پردازشها، مدیر وب را ناچار به راهاندازی مجدد (Restart) وب سرور میكند.
نكته دوم در این مقایسه هم به نفع IIS تمام میشود. بدین صورت كه در نسخه ششم آن امكان پیكربندی مجدد سیستم حتی در زمان اجرای پردازشها و بدوننیاز به راهاندازی مجدد وبسرور امكانپذیر است. این امكان كه به آن Live Configuration گفته میشود، سبب میشود مدیر سیستم بتواند بدون آنكه وب سرور و در نتیجه بسیاری از پردازشهای در حال اجرا و درخواستهای در حال پاسخگیری را متوقف كند، تنظیمات IIS را تغییر دهد و وب سرور را Refresh كند. در صورتی كه در آپاچی نسخه دوم، این عمل بدون بوت كردن مجدد وب سرور میسر نیست.
Apache 2.1 Alpha
در نسخه 1/2 آپاچی كه نسخه ابتدایی آلفای آن اكنون قابل دریافت و نصب است، وعدههای بسیاری برای افزایش كارایی یا پوشاندن نقاط ضعف نسخههای قبلی داده شدهاست. بسیاری از ماژولهای مربوط به chaching Authn/Authz مورد بازبینی قرار گرفته و نسبت به نسخههای سابقشان از كارایی بهتری برخوردارند. پروتكل http در این نسخه قادر است فایلها یا درخواستهای با بیش از دو گیگابایت را دریافت و پردازش كند. مكانیسم smart Filtering در آپاچی 1/2 از یك شیوه جدید فیلترگذاری پویا برخوردار است كه باعث میشود تا هر فیلتر براساس نوع درخواست یا پاسخی كه قرار است كنترل شود، فعال یا غیرفعال عمل كند. همچنین در این نسخه ماژول جدیدی برای ثبت كردن خطاهایی كه در ارتباط با كلاینتها رخ میدهد، تعبیه شده است. مدیریت حافظه stack برای پردازشهای در حال اجرا تغییریافته و اكنون آپاچی قادر است براساس سكویی كه برروی آن در حال اجرا است، میزان این حافظه را افزایش دهد. از لحاظ امنیتی به غیر از تغییرات ایجاد شده در ماژولهای مربوط به هویتسنجی كه بیشتر باعث افزایش سرعت فرآیندهای مربوط به آنها شده است، ماژول modssl نیز اكنون با پشتیبانی از RFC7182، قادراست به جای برقراری ارتباط به روش متنی (chear text)، از روش كدگذاری TLS برای این كار استفاده كند.
منبع: http://www.ictna.ir
+ نوشته شده در شنبه دوم دی 1385ساعت 18:40  توسط DevilHell
|
امنيت اطلاعات و ايمن سازی کامپيوترها به يک ضرورت غيرقابل انکار در عصر اطلاعات تبديل شده است. پرداختن به مقوله امنيت اطلاعات با زبانی ساده بيش از هر زمان ديگر احساس می شود، چراکه هر يک از عوامل انسانی و غيرانسانی دارای جايگاه تعريف شده ای در نطام مهندسی امنيت اطلاعات می باشند. آشنائی اصولی و منطقی با اين نطام مهندسی و آگاهی از عناصر موجود در اين ساختار به همراه شناخت علمی نسبت به مسئوليت هر يک از عناصر فوق، امری لازم و حياتی است.
فايروال ها ، يکی از عناصر اساسی در نطام مهندسی امنيت اطلاعات می باشند که استفاده از آنان به يک ضرورت اجتناب ناپذير در دنيای امنيت اطلاعات و کامپيوتر تبديل شده است . بسياری از افرادی که جديدا" قدم در عرصه گسترده امنيت اطلاعات می گذارند ، دارای نگرانی و يا سوالات مفهومی خاصی در ارتباط با فايروال ها و جايگاه استفاده از آنان در جهت ايمن سازی شبکه های کامپيوتری می باشند .
در اين مطلب قصد داريم به برخی از مفاهيم و نکات مهم و اساسی در خصوص فايروال ها اشاره ای داشته باشيم تا از اين رهگذر بتوانيم دانش لازم به منظور بکارگيری و مديريت بهينه فايروال ها را بدست آوريم .

NAT ( برگرفته از Network Address Translation )
اولين و در عين حال مهم ترين وظيفه يک فايروال ، جداسازی شبکه داخلی يک سازمان از اينترنت است . يکی از فنآوری های موجود که ما را در جهت نيل به خواسته فوق کمک می نمايد ، جداول NAT می باشند ( NAT ، همچنين کمک لازم در جهت حل معضل کمبود آدرس های IP را ارائه می نمايد ) . مهمترين ايده مطرح شده توسط NAT ، عدم دستيابی به اکثر کامپيوترهای موجود در يک شبکه خصوصی از طريق اينترنت است . يکی از روش های نيل به خواسته فوق ، استفاده از آدرس های IP غيرمعتبر ( Invalid ) می باشد .
در اکثر موارد بکارگيری NAT ، صرفا" آدرس IP معتبر (Valid ) به فايروال نسبت داده می شود و تمامی کامپيوترهائی که مسئوليت حفاظت از آنان به فايروال واگذار شده است ، از آدرس های IP که صرفا" بر روی شبکه داخلی معتبر می باشد ، استفاده می نمايند . با تبعيت از چنين رويکردی ، زمانی که يک کامپيوتر موجود در شبکه داخلی نيازمند برقراری ارتباط با دنيای خارج است ، اقدام به ارسال درخواست خود برای فايروال می نمايد . در ادامه فايروال به نمايندگی از کامپيوتر متقاضی ، درخواست مورد نظر را ارسال می نمايد . در زمان مراجعت درخواست ارسالی ، پاسخ مربوطه به فايروال رسيده و در نهايت ، فايروال آن را برای کامپيوتر موجود در شبکه داخلی ارسال می نمايد .
فرض کنيد ، کاربری قصد داشته باشد که يک وب سايت خاص را از طريق کامپيوتر موجود بر روی يک شبکه داخلی ملاقات نمايد .پس از درج آدرس وب سايت مورد نظر در بخش آدرس برنامه مرورگر ، درخواست وی به يک درخواست HTTP ترجمه شده و برای فايروال ارسال می گردد . در ادامه ، فايروال از آدرس IP مختص به خود در ارتباط با درخواست HTTP و به نمايندگی از کاربر ارسال کننده درخواست ، استفاده می نمايد . پس از پاسخ به درخواست ، پاسخ مربوطه برای فايروال ارسال شده و در نهايت فايروال آن را برای کاربر مربوطه ارسال می نمايد .
فيلترينگ پورت ها
فيلترينگ پورت ها از جمله مهمترين عملياتی است که توسط فايروال ها انجام می شود و شايد به همين دليل باشد که اکثر مردم بر اين اعتقاد هستند که فايروال ها صرفا" به همين دليل خاص طراحی و پياده سازی شده اند و اغلب ، آنان را به عنوان ابزاری در جهت فيلترينگ پورت ها تصور می نمايند . همانگونه که می دانيد ، مبادلات اطلاعات مبتنی بر پروتکل TCP/IP با استفاده و محوريت پورت ها انجام می گردد . در اين رابطه 65،535 پورت TCP و به همين اندازه پورت UDP جداگانه وجود دارد که می توان از آنان به منظور مبادله اطلاعات استفاده نمود .
به منظور آشنائی با جايگاه پورت ها و نقش آنان در مبادله اطلاعات در پروتکل TCP/IP ، می توان آنان را نظير ايستگاه های راديوئی تصور نمود . فرض کنيد TCP به عنوان موج FM و UDP به عنوان موج AM باشد . در چنين وضعيتی ، می توان يک پورت در پروتکل TCP/IP را همانند يک ايستگاه راديوئی تصور نمود . همانگونه که يک ايستگاه راديوئی با اهداف خاصی طراحی شده است ، پورت های TCP و UDP نيز چنين وضعيتـی را داشته و با اهداف خاصی طراحی شده اند . يکی از مهمترين دلايل ضرورت استفاده از فايروال ها و فيلترينگ پورت ها ، استفاده غيرمتعارف از پورت ها به منظور نيل به اهدافی ديگر است . مثلا" پورت 21 مربوط به پروتکل TCP بطور سنتی به منظور FTP استفاده می گردد و مهاجمان می توانند از پورت فوق و با استفاده از برنامه هائی نظير Telnet سوء استفاده نمايند ( با اين که پورت فوق به منظور استفاده توسط برنامه Telnet طراحی نشده است ) .
پويش پورت ها و آگاهی از پورت های باز ، از جمله روش های متداولی است که توسط مهاجمان و به منظور يافتن يک نقطه ورود مناسب به يک سيستم و يا شبکه کامپيوتری ، مورد استفاده قرار می گيرد . مهاجمان پس از آگاهی از پورت های باز ، با بکارگيری برنامه هائی نظير Telnet زمينه ورود غير مجاز به يک سيستم را برای خود فراهم می نمايند .
وضعيت فوق و تهديدات امنيتی مرتبط با آن ، ضرورت فيلترينگ پورت ها را به خوبی نشان می دهد . با فيلترينگ پورت ها ، اين اطمينان ايجاد خواهد شد که هيچ چيزی نمی تواند از طريق يک پورت باز ارسال گردد مگر پروتکل هائی که توسط مديريت شبکه به آنان اجازه داده شده است . مثلا" در صورتی که فيلترينگ پورت بر روی پورت 21 مربوط به پروتکل TCP اعمال گردد ، صرفا" به مبادلات اطلاعات مبتنی بر FTP اجازه داده خواهد شد که از اين پورت استفاده نمايند و مبادله اطلاعات به کمک ساير پروتکل ها و بکارگيری پورت فوق ، امکان پذير نخواهد بود .
محدوده عملياتی فيلترينگ پورت ها می تواند از موارد اشاره شده نيز تجاوز نموده و در سطح هدر يک بسته اطلاعاتی و حتی محتويات آن نيز تعميم يابد . در چنين مواردی ، هدر بسته اطلاعاتی بررسی و با مشاهده اطلاعاتی نظير آدرس مبداء ، مقصد ، شماره پورت و ساير موارد ديگر در رابطه با آن اتخاذ تصميم می گردد . مشکل موجود در اين رابطه به وجود اطلاعات جعلی و يا نادرست در هدر بسته های اطلاعاتی برمی گردد . مثلا" فرستنده می تواند آدرس های IP و ساير اطلاعات ذخيره شده در هدر بسته های اطلاعاتی را جعل نمايد . به منظور غلبه بر مشکل فوق ، نوع ديگری از فيلترينگ که برخی فايروال ها به آن stateful packet inspections و يا فيلترينگ پويای بسته های اطلاعاتی می گويند ، ايجاد شده است . در مدل فوق ، در مقابل بررسی هدر بسته های اطلاعاتی ، محتويات آنان مورد بازبينی قرار می گيرد . بديهی است با آگاهی از اين موضوع که چه چيزی در بسته اطلاعاتی موجود است ، فايروال ها بهتر می توانند در رابطه با ارسال و يا عدم ارسال آن برای يک شبکه داخلی تصميم گيری نمايند .
ناحيه غيرنطامی ( Demilitarized Zone )
نواحی غيرنظامی ( DMZ ) ، يکی ديگر از ويژگی های ارائه شده توسط اکثر فايروال ها می باشد . DMZ ، ناحيه ای است که تحت قلمرو حفاظتی فايروال قرار نمی گيرد . فايروال های مختلف ، نواحی DMZ را با روش های متفاوتی پياده سازی می نمايند . مثلا" برخی از فايروال ها ، صرفا" شما را ملزم به معرفی آدرس IP ماشينی می نمايند که قصد استقرار آن در ناحيه DMZ وجود دارد .برخی از فايروال ها دارای يک پورت شبکه ای اختصاصی می باشند که می توان از آن برای هر نوع دستگاه شبکه ای که قصد استقرار آن در ناحيه DMZ وجود دارد ، استفاده گردد .
پيشنهاد می گردد ، حتی المقدور از نواحی DMZ استفاده نگردد ، چراکه ماشين های موجود در اين نواحی از امکانات حفاظتی و امنيتی فايروال استفاده نخواهند کرد و تنها گزينه موجود در اين رابطه امکانات ارائه شده توسط سيستم عامل نصب شده بر روی ماشين و ساير توصيه هائی است که با رعايت و بکارگيری آنان ، وضعيت امنيتی سيستم بهتر می گردد .
در صورتی که برای ايجاد يک ناحيه DMZ دلايل موجه و قانع کننده ای وجود دارد ، می بايست با دقت و برنامه ريزی صحيح توام با رعايت مسائل امنيتی اقدام به انجام چنين کاری گردد. در صورتی که ماشين مستقر در ناحيه DMZ دارای يک اتصال به شبکه داخلی نيز باشد ، مهاجمان با تمرکز بر روی ماشين فوق می توانند نقطه مناسبی برای ورود به شبکه را پيدا نمايند . پيشنهاد می گردد به عنوان يک قانون و اصل مهم ، ماشين های موجود در ناحيه DMZ دارای اتصالاتی به غير از پورت DMZ فايروال نباشند .
فورواردينگ پورت ها
در بخش قبل به نحوه عملکرد فيلترينگ پورت ها به منظور بلاک نمودن استفاده از يک پروتکل بجزء يک آدرس IP خاص، اشاره گرديد . فورواردينگ پورت نيز بر اساس همين مفاهيم مطرح و در سازمان هائی که در ارتباط با NAT می باشند ، کارساز خواهد بود .
برای آشنائی با مفهوم فورواردينگ پورت ها ، يک مثال نمونه را بررسی می نمائيم .
فرض کنيد ، سازمانی دارای يک سرويس دهنده وب است که از آدرس IP: 192.168.0.12 ( يک آدرس معتبر نمی باشد ولی فرض کنيد که چنين واقعيتی وجود ندارد ) استفاده می نمايد و می بايست امکان دستيابی عمومی به آن فراهم گردد . در صورتی که سرويس دهنده وب فوق تنها سرويس دهنده موجود در سازمان است که می بايست امکان دستيابی عمومی به آن فراهم گردد ، می بايست يک قانون فيلترينگ بسته های اطلاعاتی در سطح فايروال تعريف گردد که تمامی درخواست های HTTP بر روی پورت 80 و به مقصد هر آدرس موجود در شبکه بجزء آدرس IP:192.168.0.12 ، بلاک گردد . پس از تعريف قانون فوق ، در صورتی که کاربری يک درخواست HTTP را برای آدرس های ديگری ارسال نمايد ، با پيامی مبنی بر اين که وب سايت درخواستی وجود ندارد ، مواجه خواهد شد .
در مثال فوق ، اين فرض نادرست را کرديم که امکان دستيابی عمومی به آدرس IP:192.168.0.12 وجود دارد . آدرس فوق صرفا" بر روی يک شبکه خصوصی معتبر بوده و امکان دستيابی آن از طريق اينترنت وجود نخواهد داشت . بديهی است در چنين وضعيتی می بايست آدرس سرويس دهنده وب خصوصی خود را با يک آدرس عمومی جايگزين نمائيد . ( با اين که يک گزينه مطلوب در اين رابطه نمی باشد ) . برخی از مراکز ارائه دهنده خدمات اينترنت ( ISP ) ، صرفا" امکان استفاده از يک آدرس IP عمومی را در اختيار شما قرار داده و بديهی است که در چنين مواردی ما دارای گزينه های متعددی برای اختصاص اين آدرس نخواهيم بود و می بايست آن را به فايروال اختصاص داد .
يکی از موارد استفاده سنتی از NAT به مواردی نظير آنچه اشاره گرديد ، بر می گردد . سازمان فرضی دارای صرفا" يک آدرس IP معتبر است و آن را به فايروال نسبت داده و از NAT به منظور تسهيل در مبادله اطلاعات بين ماشين های موجود در شبکه داخلی و اينترنت استفاده می نمايد . در چنين مواردی يک مشکل همچنان باقی می ماند . NAT به منظور بلاک نمودن ترافيک تمامی ارتباطات ورودی بجزء آنانی که درخواست آنان از طرف يکی از ماشين های موجود در شبکه داخلی ارسال شده است ، طراحی شده است و ما همچنان دارای يک سرويس دهنده وب می باشيم که می خواهيم امکان دستيابی عمومی به آن را نيز فراهم نمائيم .
به منظور حل مشکل فوق می توان از فورواردينگ پورت استفاده نمود . در واقع فورواردينگ پورت ، قانونی است که به فايروال می گويد در صورتی که درخواست های خاصی بر روی يک پورت خاص برای وی ارسال شده باشد ، می بايست درخواست مربوطه را برای يک ماشين طراحی شده بدين منظور بر روی شبکه داخلی، ارجاع نمايد . در مثال اشاره شده ، ما قصد داريم امکان دستيابی عمومی به سرويس دهنده وب را فراهم نمائيم . بدين منظور می بايست يک قانون فورواردينگ پورت بدين منظور تعريف که به فايروال اعلام نمايد هر درخواست HTTP بر روی پروتکل TCP و پورت 80 را به آدرس IP:192.168.0.12 تغيير مسير داده و برای آن ارسال نمايد. پس از تعريف قانون فوق ، شخصی که قصد دستيابی به وب سايت سازمان شما را داشته باشد ، پس از فعال نمودن برنامه مرورگر ، اقدام به درج آدرس سايت سازمان شما دربخش مربوطه می نمايد. مرورگر کاربر مورد نظر به منظور آگاهی از آدرس domain سايت سازمان شما ، اقدام به ارسال يک درخواست DNS می نمايد تا از اين طريق نسبت به آدرس IP نسبت داده شده به domain آگاهی لازم را پيدا نمايد . بديهی است آدرسی که پيدا خواهد شد و به عنوان مرجع در اختيار مرورگر قرار خواهد گرفت، همان آدرس IPعمومی است که شما آن را به فايروال نسبت داده ايد . مرورگر در ادامه ، درخواست HTTP را برای آدرس IP عمومی شما ارسال می نمايد که در حقيقت اين درخواست برای فايروال ارسال می گردد . فايروال درخواست را دريافت و آن را برای سرويس دهنده وب ارسال می نمايد ( فورواردينگ ) .
منبع: سخا روش
+ نوشته شده در شنبه دوم دی 1385ساعت 18:23  توسط DevilHell
|