محمدرضا خوانساري
كارشناس شبكه 1- ارائه و مراحل امنيتي
1 - 1 ) عموم حملات بر عليه امنيت: در طي صدها سال، مردم براي دروازههاي شهرشان محافظ قرار ميدادند، تا از رفت و آمد و ورود و خروج اجناس گرانبها و با ارزش مطلع باشند.يك اشتباه گاه باعث شكلگيري غارتها، قرباني شدن جوامع و حتي كشتار ميشد.اين اشتباهات نه تنها جالب نبود، بلكه زيانهاي زيادي به همراه داشت.در عصر امروز مديران IT در صدد هستند تا كليه ارتباطات شبكه را چه از داخل و چه از خارج كنترل كنند، و اين حملات مديران را بر آن داشت كه كنجكاو باشند كه چرا حملاتي مانند موارد ذكر شده در زير شكل ميگيرند:
1) ضبط كردن اطلاعات: كه شايد هدف آن دستيابي به كلمههاي عبور و متنهاي سالم (Clear TEXT) باشد.
2) جعل هويت: كه شايد براي دسترسي بياجازه به دادهها و ارسال نامهها يا پيغامها باشد.
3) اختلال در سرويسها: كه شايد براي ايجاد اختلال و بينظمي در منابع شبكه باشد.
4) پيامها: براي دستيابي به اطلاعات و تغيير آن در حين انتقال.
5) حدس زدن پسورد: براي دسترسي به اطلاعات و سرويسها كه در حالت عادي دسترسي عمومي به آنها مسدود ميباشد.
6) حدس زدن كليدها: براي دسترسي به اطلاعات كد شده و پسوردها.
7) ويروس ها: براي نابودي بستهها.
البته اين حملات تنها مختص شبكههايTcp/IP نميباشند، بلكه تمام شبكهها ميتوانند در موارد بالا دچار مشكل شوند.اما بحث عمده ما به دليل فراگيري Tcp/IP حل مشكلات و مسائل اين پروتكل ميباشد.
1 - 2 ) راه حلهايي براي مشكلات امنيتي در شبكه:
دارندگان شبكهها با شور و علاقه زيادي براي حل مشكلاتي از قبيل موارد بالا تلاش ميكنند تا بتوانند راهي براي حفظ شبكه پيدا كنند، تا انتهاي بحث ما روشهايي براي جلوگيري از نفوذ در شبكهها را پيش روي شما ميگذاريم.برخي از حملات بالا تنها به دليل ضعف در يكي ار بخشهاي امنيتي ميباشد و تركيب مجموعي از ساختارها ميتواند تضميني براي سلامتي و امنيت بالا در شبكه باشد.
اين راه حلها عبارتند از:
1) رمز گذاري: براي حفاظت از داده ها و پسوردها.
2) سنديت از طريق امضاها و مجوزهاي الكترونيكي: تا معلوم شود چه كسي داده را در شبكه ارسال ميكند.
3) اجازه: براي جلوگيري از دسترسيهاي بدون اجازه.
4) چك كردن درستي پيغامها و كدهاي دسترسي: براي حفاظت در مقابل پيغامهاي غيرمجاز.
5) رد انكار: براي جلوگيري تكذيب انجام عملي از طرف شخصي كه آن را انجام داده.
6) پسورد لحظهاي و توافق دوطرفه: براي برقراري امنيت در هر لحظه يك ارتباط دوطرفه.
7) بازسازي دائمي كليدها: براي جلوگيري از اختلال در كار كليد.
8) مخفي كردن آدرسها: براي جلوگيري از جعل هويت.
1 - 3 ) پياده سازي راه حلهاي امنيتي:
امروز پيشنهاد متخصصين IT اين است كه بايد يك محافظ قوي در مقابل خارج شبكه قرار داد، اما به يك چشم هميشه بيدار هم درون شبكه نيازمنديم.
مواردي كه در بخش قبل ذكر شد درجههاي بالايي از امنيت را در شبكههاي امروزي پشتيباني ميكنند. ميتوان پروتكلها و سرويسهاي زير را براي راه حلهاي بالا ذكر كرد:
IP Filtering , NAT , Ipsec , Socks , SSL , Proxies , Set , Firewalls , Kerberos , ....
به طور كلي امنيت تنها با پشتيباني از تركيبي از موارد بالا ميتواند قابل اعتماد باشد. درجات بالاي امنيتي تنها با به كارگيري يكي از موارد مانند Firewall نميتواند مهيا شود.
1 - 4 ) سياست امنيت شبكه:
ميزان امنيت بايد با استفاده از آناليزي روي نوع شغل و سطح امنيت يك سازمان طراحي شود، شايد براي يك سازمان تنها نصب يك Firewall بتواند مشكل را حل كند و در يك سازمان به درجات بالاتري از امنيت نياز باشد. سياست امنيت شبكه معلوم ميكند كدام سرويسها نياز به فعاليت دارند و چگونه بايد آنها را پيادهسازي و از آنها بهرهگيري كرد.
در اصطلاحات اطلاعاتي و امنيتي، عباراتي مشابه اين كه: "دوست دشمن شما، دوست شماست" و يا "دشمن دوست شما، دشمن شماست" كاربرد زيادي دارد، امروز در سياست شبكه، عناويني مشابه را داريم:
1) هر چيزي كه لزومأ داراي دسترسي نيست، دسترسيش بسته است.
2) هر چيزي كه لزومأ دسترسيش بسته نيست، دسترسيش باز است.
شرح 1: سرويسها و پروتكلهايي كه در اين قانون كاربرد دارند، چنين ترافيكهايي را از خودشان عبور نميدهند، هيچ سرويسي در اين روش، اگر دسترسيش باز نباشد، قادر به انجام كار نيست.
شرح 2: سرويسها و پروتكلهايي كه از اين قانون پيروي ميكنند كليه سرويسهايي كه دسترسيشان باز است عبور ميدهند و هر اتصال نامطمئن با اين قانون دسترسي ندارد.
سرويسهاي اتصال از راه دور نيازمند شناسايي كاربر و سپس ارائه سرويسها به كاربر ميباشند.
2-پيشزمينهاي در باره رمزنويسي (Cryptography)
1 - 1 ) اصطلاحات فني:
رمز نويسي: رمزنويسي يك روش علمي براي نگهداري از دادهها و امنيت اطلاعات شماست. براي رسيدن به اين مهم، ابزاري چون رمزگذاري، رمزگشايي و شناسايي كاربرد دارد.
كليه الگوريتمهايي كه دادههايي را به صورتي درآورند كه فهم آن غيرممكن باشد، يا حداقل اين گونه به نظر آيد. ميتواند يك رمزگذار باشد. اين روش چون الگوريتمهاي رمزگذاري زيادي وجود دارد، روش مناسبي است و براي نفوذ، فرد نفوذگر بايد در همه زمينههاي رمزنويسي و رمزگذاري اطلاعات داشته باشد كه ناممكن است. يك رمزنويسي قوي زماني معنا ميگيرد كه از ابزار مختلف كامپيوتري براي تبديل يك متن غيرسالم به يك متن سالم وقابل فهم، بدون همراه داشتن كليد ناتوان باشيم.
رمزگذاري و رمزگشايي و الگوريتم رمزنويسي: رمزگذاري يعني يك متن تميز به يك متن غيرقابل فهم؛ عمليات برعكس آن را رمزگشايي گويند و توابع و الگوريتمهايي را كه براي رمزگذاري و رمزگشايي استفاده ميشود مجموعأ الگوريتم رمزنويسي گويند.
امنيت يك رمز در اين است كه نبايد توابع و مراحل ايجاد آن فاش شود، در غير اينصورت و فاش شدن الگوريتم، اين رمز رمزي باطل و بيارزش است و اين بسيار دشوار است كه الگوريتم رمزي كه در دسترسي همه ميباشد را بتوان مخفي نگه داشت، اما امروزه براي جلوگيري از اين كار، از كليدهايي با مبناي عددي استفاده ميشود كه در صورت فاش شدن آن به دليل بازسازي لحظهاي اين كليدها مشكلي ايجاد نميشود.
شناسايي: متدي است براي معلوم كردن فرستنده يك پيام كه واقعأ اين فرد كيست ؟! و آيا اين شخص ديگري است؟ اينها همه از وظايف سرويس شناسايي ميباشد.
2 - 2 ) كليد متقارن و كليد مخفي:
الگوريتم متقارن الگوريتمي است كه كليد رمزگذاري آن همان كليد رمزگشايي است. در اين الگوريتم، فرستنده و گيرنده قبل از هر ارتباط براي توليد كليد توافق ميكنند.
متن رمزآلود يا همانClipher Text متني است كه رمز شده است و معمولاً بسته هايي 64بيتي مي باشد كه بر طبق منطق رياضي اين متن را مي توان 2 به توان 64 حالت آن را رمزگشايي كرد، افرادي كه كليد ندارند بررسي اين تعداد حالت براي رمزگشايي تقريبأ غيرممكن مينمايد.
يك بلوك دياگرام قابل مثال، DES ميباشد. كه اين الگوريتم توسعه داده شده توسط شركت IBM ميباشد. توسط اين الگوريتم، كليدي به طول 56 بيت ايجاد ميشود، كه بستههاي 64 بيتي اطلاعات را كد ميكند.براي هر 8 بيت يك بيت كنترلي Parity ايجاد ميكند. با اين كليد 16 الگوريتم كليدسازي ايجاد ميشود كه ميتواند بين طرفين توافق شود. نكته جالب اين الگوريتم اين است كه طول بسته كد شده عينأ با بسته كد نشده برابر ميباشد و هيچ تغيري ديده نميشود. اين الگوريتم رفته رفته با مشكلاتي روبرو شد، از اين جمله ميتوان گفت زماني كه دادهها با حمله دستجمعي و موازي نفوذگران روبرو ميشود به دليل كم بودن طول كليد، با 330 كامپيوتر، بسته ارسالي بررسي شود( اين كامپيوترها همه سيستمهاي بالاي 2 Ghz) طي مدتي حدود 75 ثانيه بسته رمزگشايي ميشودو اين سببي بود كه نسخه ديگري از DES محبوبيت پيدا كند و به 3Des معروف شود، اين الگوريتم در هر لحظه از 2 يا 3 كليد 40 بيتي براي رمزگذاري استفاده ميكند.( البته در الگوي CDMF اين كليد 40 بيتي است).
2 - 3 ) كليد نامتقارن و الگوريتم كليد عمومي:
نياز به تغيير كليدها باعث ايجاد اين كليد و الگوريتم شد، ما اينجا 2 نوع كليد داريم:
1 - كليد عمومي: كليدي است كه در دست همه قرار دارد
2 - كليد اختصاصي: كليدي است براي حفظ اطلاعات كه نميتوان آن را از روي كليد عمومي ساخت. بسته توسط كليد عمومي رمزگذاري و توسط كليد اختصاصي متناظر با آن باز ميشود.
3- Kerberos Security
برخي تعريفات براي امنيت:
1 - Authentication : معلوم ميكند كه اين كاربر قابل اعتماد هست يا خير، اگر قابل اعتماد نباشد مظنون تلقي ميشود، اين سرويس پايه رمزگذاريست.
2 - Integrity : اين سرويس معلوم ميكند كه آيا دادهها اصل است يا در طول مسير انتقال تغييراتي روي آن ايجاد شده است. اگر داده در طول مسير تغييري كرده باشد داده مظنون ميباشد.
3 - Anti Reply: سرويسي است براي جلوگيري از ارسال مجدد، به عبارتي سادهتر جلوگيري از برداشتن داده توسط فرد غيرقابل اعتماد از روي خط، تغيير آن و ارسال مجدد آن.
4 - Secret Key : كليدي است براي ارسال دادهها بين هر كاربر و سرور ارائه دهنده Kerberos.
5 - KDC: به سرور ارائه دهنده سرويس Kerberos گويند.
6 - Realm: اطلاعات در مورد كاربر شامل كدكاربري، پسورد و IP
7 principal -: اختصاري براي كاربر، سرويس، يا كامپوتر در شبكه ميباشد.
8 - Session key : كليدي است براي بر قراري ارتباط بين كاربر و سرور مورد ارتباط كاربر.
حال با دانستن تعريفات بالا زمان مناسبي براي بحث در مورد Kerberos ميباشد.
براي ارتباط يك كامپيوتر و يك سرور بايد KDC اجازه صادر كند و سپس كليد اين ارتباط را منتشر كند، پس براي ارتباط مراحل زير را داريم:
1 - AS Request
2 - AS Reply
3 - TGS Request
2 - TGS Reply
3 - Connection Request
4 - Reply
در مرحله اول كاربر از سرور KDC تقاضاي دادن دسترسي براي يك سرور را ميكند و طي آن Realm خود را اعلام ميكند.
در مرحله دوم سرور KDC تقاضاي كاربر را بررسي كرده و كليدي براي صحبت كاربر با خودش و حفظ امنيت به او ارسال ميكند.
در مرحله سوم كاربر TGT , Target را به سرور ارسال ميكند.
در مرحله چهارم سرور KDC كليد ارتباط با سرور مورد نظر و بليط ارتباط را به او ميدهد. و در مراحل بعدي ارتباط كاربر با سرور مورد نظرش ميباشد كه چون تمامي سرورهاي شبكه به KDC اعتماد كامل دارند، كاربري را كه بليطي از طرف آن دارد معتمد ميدانند و اينگونه ارتباط بين يك كاربر و سرور مورد درخواستش برقرار ميشود.
منابع و مراجع:
1 ) Microsoft Windows 2000 Network Infrastructure
2 ) Microsoft Windows 2000 Advance Server
3 ) Microsoft Windows 2000 Design Security For MSW
4 ) RFC 1510: The kerberos Network Authentication Service
5 ) RFC 3022: Network Address Translator
6 ) RFC 2402: IP Authentication Header