#موبایل پروتکل (MTProto) چیست؟
قبل ازینکه پیامی در #شبکه با استفاده از پروتکل انتقال ارسال شود، به روش معینی رمزنگاری میگردد و یک Header خارجی به ابتدای پیام اضافه میگردد که شامل یک شناسهی تعیین هویت ۶۴ بیتی auth_key_id (که به صورت یکتا یک کلید احراز هویت را برای سرور و همچنین کاربر تعیین میکند) و یک کلید پیام ۱۲۸ بیتی msg_key میشود.
کلید احراز هویت که با کلید پیام ترکیب شده، یک کلید واقعی aes_key و یک بردار اولیهی ۲۵۶ بیتی aes_iv تولید میکند که برای رمزنگاری پیام با استفاده از رمزنگاری AES-256 در مد infinite garble extension یا اصطلاحا (IGE) استفاده میشود. باید دقت داشت، بخش ابتدایی پیام که باید رمز شود شامل دادههای قابل تغییر (session، شناسهی پیام، شمارهی دنباله و Server salt) است که به طور واضحی روی کلید پیام (و در نتیجه کلیدهای AES و iv) تاثیر میگذارد. در MTProto 2.0، کلید پیام به عنوان بیتهای میانی ۱۲۸ تایی از SHA- 256 از بدنهی پیام تعریف میشود که بوسیلهی ۳۲ بایت که از کلید هویت گرفته شده، اضافه میگردد. در واقع پیامهای چند تکهای به عنوان یک پیام رمزنگاری میشوند.
لایهی پایهای پروتکل MTProto ورژن ۲ (چتهای تحت ابر، رمزنگاری کلاینت- سرور) تفاوتهای عمدهای با ورژن یک خود دارد:
- استفاده از SHA- 256 به جای SHA- 1.
- چسباندن بایتهایی که در محاسبهی کلید پیام شرکت دارند.
- کلید پیام که نه تنها به پیام، بلکه به کلید احراز هویت هم وابسته است.
- استفاده از ۱۲ تا ۱۰۲۴ بایت چسبیده به جای ۰ تا ۱۵ بایت در ورژن ۱.
قطعا خواندن این متن گیجتان کرد اما در شکل زیر میتوانید دقیقا نحوهی کار این پروتکل را متوجه شوید.
در ادامه باید به نکات زیر در مورد این پروتکل بطور خلاصه اشاره کنم :
۱- کلید احراز هویت شما که نقش تعیینکنندهای روی رمزنگاری دارد یک کلید ۲۰۴۸ بیتی است که توسط تجهیز کاربر و سرور مربوطه به اشتراک گذاشته میشود و به ازای هر کاربر مستقیما روی تجهیز کاربر توسط مبادلهی کلیدهای دیفی-هلمن ایجاد میگردد و هرگز روی شبکه ارسال نمیشود. پس این کلید اهراز هویت مختص هر کاربر است.
۲- یک کلید سرور ۲۰۴۸ بیتی RSA که توسط سرور استفاده میشود تا پیامهایش را در حین ثبت و تولید کلید احراز هویت امضا کند. اپلیکیشن تلگرام به طور خاص، یک کلید سرور ساخته شده دارد که میتواند جهت تائید امضا استفاده شود ولی نمیتواند پیامها را امضا کند. کلید سرور روی سرور ذخیره میشود و دائما تغییر داده میشود.
۳- سرور میتواند وضعیت session را نگه دارد. تحت هیچ شرایطی یک پیام از یک session به sessionهای دیگر ارسال نمیشود.
۴- با روشهای مختلفی از سرور سالت گرفته تا msg_id از حملات reply جلوگیری شده است. برای نمونه ۳۲ بیت پایینی msg_id که توسط کاربر ارسال میشود نباید خالی باشد و باید بخشی از زمانی که پیام تولید شده است را ارائه نماید.
#ناظمی
قبل ازینکه پیامی در #شبکه با استفاده از پروتکل انتقال ارسال شود، به روش معینی رمزنگاری میگردد و یک Header خارجی به ابتدای پیام اضافه میگردد که شامل یک شناسهی تعیین هویت ۶۴ بیتی auth_key_id (که به صورت یکتا یک کلید احراز هویت را برای سرور و همچنین کاربر تعیین میکند) و یک کلید پیام ۱۲۸ بیتی msg_key میشود.
کلید احراز هویت که با کلید پیام ترکیب شده، یک کلید واقعی aes_key و یک بردار اولیهی ۲۵۶ بیتی aes_iv تولید میکند که برای رمزنگاری پیام با استفاده از رمزنگاری AES-256 در مد infinite garble extension یا اصطلاحا (IGE) استفاده میشود. باید دقت داشت، بخش ابتدایی پیام که باید رمز شود شامل دادههای قابل تغییر (session، شناسهی پیام، شمارهی دنباله و Server salt) است که به طور واضحی روی کلید پیام (و در نتیجه کلیدهای AES و iv) تاثیر میگذارد. در MTProto 2.0، کلید پیام به عنوان بیتهای میانی ۱۲۸ تایی از SHA- 256 از بدنهی پیام تعریف میشود که بوسیلهی ۳۲ بایت که از کلید هویت گرفته شده، اضافه میگردد. در واقع پیامهای چند تکهای به عنوان یک پیام رمزنگاری میشوند.
لایهی پایهای پروتکل MTProto ورژن ۲ (چتهای تحت ابر، رمزنگاری کلاینت- سرور) تفاوتهای عمدهای با ورژن یک خود دارد:
- استفاده از SHA- 256 به جای SHA- 1.
- چسباندن بایتهایی که در محاسبهی کلید پیام شرکت دارند.
- کلید پیام که نه تنها به پیام، بلکه به کلید احراز هویت هم وابسته است.
- استفاده از ۱۲ تا ۱۰۲۴ بایت چسبیده به جای ۰ تا ۱۵ بایت در ورژن ۱.
قطعا خواندن این متن گیجتان کرد اما در شکل زیر میتوانید دقیقا نحوهی کار این پروتکل را متوجه شوید.
در ادامه باید به نکات زیر در مورد این پروتکل بطور خلاصه اشاره کنم :
۱- کلید احراز هویت شما که نقش تعیینکنندهای روی رمزنگاری دارد یک کلید ۲۰۴۸ بیتی است که توسط تجهیز کاربر و سرور مربوطه به اشتراک گذاشته میشود و به ازای هر کاربر مستقیما روی تجهیز کاربر توسط مبادلهی کلیدهای دیفی-هلمن ایجاد میگردد و هرگز روی شبکه ارسال نمیشود. پس این کلید اهراز هویت مختص هر کاربر است.
۲- یک کلید سرور ۲۰۴۸ بیتی RSA که توسط سرور استفاده میشود تا پیامهایش را در حین ثبت و تولید کلید احراز هویت امضا کند. اپلیکیشن تلگرام به طور خاص، یک کلید سرور ساخته شده دارد که میتواند جهت تائید امضا استفاده شود ولی نمیتواند پیامها را امضا کند. کلید سرور روی سرور ذخیره میشود و دائما تغییر داده میشود.
۳- سرور میتواند وضعیت session را نگه دارد. تحت هیچ شرایطی یک پیام از یک session به sessionهای دیگر ارسال نمیشود.
۴- با روشهای مختلفی از سرور سالت گرفته تا msg_id از حملات reply جلوگیری شده است. برای نمونه ۳۲ بیت پایینی msg_id که توسط کاربر ارسال میشود نباید خالی باشد و باید بخشی از زمانی که پیام تولید شده است را ارائه نماید.
#ناظمی
نسخه ی دوم SNMP برای رفع برخی ضعف های امنیتی و نگرانی ها بوجود اومد.
بطور مثال در SNMP V1 شمارنده ی متغییر (Variable Counters) یکم معنی کردنشون سخته :) 32 بیتی بود که در SNMP V2 به 64 بیت تغییر کرد.
علاوه بر این SNMP V2 یک Request یعنی Bulk Request را نیز عرضه میکند که در SNMP V1 وجود نداشت و با استفاده از آن میتوان متغییر های MIB را با یک Request مجزا در یک فرم بزرگ بازیابی کرد. همچنین Event های ارسال شده از یک SNMP Agent میتواند به شکل SNMP Trap و یا Inform Request اطلاع رسانی شوند.(توجه داشته باشید که Inform Request نیاز به Ack از سمته SNMP Manager دارد که تایید کند پیام دریافت شده)
نکته : در SNMP V2 هیچ یک از مشکلات امنیتی در SNMP V1 رفع نشده است. همچنین پیاده سازی های دیگری از SNMP V2 وجود داشت که با SNMP V2C ناسزگار بودند که این دو مانع از گسترش این ورژن و دلیلی برای عرضه ی ورژن جدید تر شدند.
SNMP Version 3 :
اخرین ورژن SNMP که در حال حاضر از آن استفاده میشود SNMP V3 می باشد.
در این ورژن تمامی مشکلات امنیتی که در ورژن های قبل موجود بود را رفع شده است.
ورژن 3 SNMP میتواند با استفاده از Username (نام کاربری) SNMP Manager هارا Authenticate (تایید) کند.
هنگامی که بر روی SNMP Agent ها Username کانفیگ شود میتوان آنهارا در گروه های SNMP V3 سازماندهی کرد.
همچنین دسترسی به اطلاعات هر MIB را میتوان بر اساس هر گروه کنترل کرد.میتوان تایید کرد که کدام مقدار های MIB از Tree را میتوان خواند یا نوشت.
هر گروه SNMPv3 با یک سطح امنیتی تعریف شده است که از میزان مشخصی از داده های SNMP محافظت می کند.
پکت های داده ها میتوانند Authenticate شوند برای حفظ یکپارچگی و همچنین میتوانند Encrypt شوند برای رمزگذاری داده ها و یا هردوی آنها.
ممکن است در دیدن نام آنها گیج شوید در طرح نام گذاری Auth همان Authentication و Priv همان Encryption می باشد.
حال نگاهی به این سطح های امنیتی بی اندازیم :
noAuthNoPriv :
پکت های SNMP نه Authenticate و نه Encrypt میشوند.
AuthNoPriv :
پکت های SNMP احراز هویت Authenticate میشوند اما Encrypt نمیشوند.
AuthPriv :
پکت های SNMP هم Authenticate و هم Encrypt میشوند.
به عنوان Best Practice باید از SNMP V3 برای استفاده از ویژگی های امنیتی استفاده شود.
خب دوستان این هم یک بررسی اجمالی در رابطه با پروتکل SNMP امیدوارم مفید بوده باشه.
#SNMP
بطور مثال در SNMP V1 شمارنده ی متغییر (Variable Counters) یکم معنی کردنشون سخته :) 32 بیتی بود که در SNMP V2 به 64 بیت تغییر کرد.
علاوه بر این SNMP V2 یک Request یعنی Bulk Request را نیز عرضه میکند که در SNMP V1 وجود نداشت و با استفاده از آن میتوان متغییر های MIB را با یک Request مجزا در یک فرم بزرگ بازیابی کرد. همچنین Event های ارسال شده از یک SNMP Agent میتواند به شکل SNMP Trap و یا Inform Request اطلاع رسانی شوند.(توجه داشته باشید که Inform Request نیاز به Ack از سمته SNMP Manager دارد که تایید کند پیام دریافت شده)
نکته : در SNMP V2 هیچ یک از مشکلات امنیتی در SNMP V1 رفع نشده است. همچنین پیاده سازی های دیگری از SNMP V2 وجود داشت که با SNMP V2C ناسزگار بودند که این دو مانع از گسترش این ورژن و دلیلی برای عرضه ی ورژن جدید تر شدند.
SNMP Version 3 :
اخرین ورژن SNMP که در حال حاضر از آن استفاده میشود SNMP V3 می باشد.
در این ورژن تمامی مشکلات امنیتی که در ورژن های قبل موجود بود را رفع شده است.
ورژن 3 SNMP میتواند با استفاده از Username (نام کاربری) SNMP Manager هارا Authenticate (تایید) کند.
هنگامی که بر روی SNMP Agent ها Username کانفیگ شود میتوان آنهارا در گروه های SNMP V3 سازماندهی کرد.
همچنین دسترسی به اطلاعات هر MIB را میتوان بر اساس هر گروه کنترل کرد.میتوان تایید کرد که کدام مقدار های MIB از Tree را میتوان خواند یا نوشت.
هر گروه SNMPv3 با یک سطح امنیتی تعریف شده است که از میزان مشخصی از داده های SNMP محافظت می کند.
پکت های داده ها میتوانند Authenticate شوند برای حفظ یکپارچگی و همچنین میتوانند Encrypt شوند برای رمزگذاری داده ها و یا هردوی آنها.
ممکن است در دیدن نام آنها گیج شوید در طرح نام گذاری Auth همان Authentication و Priv همان Encryption می باشد.
حال نگاهی به این سطح های امنیتی بی اندازیم :
noAuthNoPriv :
پکت های SNMP نه Authenticate و نه Encrypt میشوند.
AuthNoPriv :
پکت های SNMP احراز هویت Authenticate میشوند اما Encrypt نمیشوند.
AuthPriv :
پکت های SNMP هم Authenticate و هم Encrypt میشوند.
به عنوان Best Practice باید از SNMP V3 برای استفاده از ویژگی های امنیتی استفاده شود.
خب دوستان این هم یک بررسی اجمالی در رابطه با پروتکل SNMP امیدوارم مفید بوده باشه.
#SNMP
یکی از ساده ترین روش های تشخیص یک سیستم عامل (بدون استفاده از نرم افزارهای Scanner) استفاده از دستور ping و توجه به مقدار عددی TTL آن است. برای مثال اگر TTL=128 بود سیستم عامل ویندوز، اگر TTL=64 بود سیستم عامل مورد نظر یکی از توزیع های لینوکس و اگر TTL=254 بود سیستم عامل هدف سیستم عامل IOS بر روی یکی از تجهیزات شرکت سیسکو می باشد. جدول فوق مقدار TTL را برای تشخیص انواع سیستم عامل ها نشان می دهد.
برای دیدن تمام قسمتهای دورهی آموزش Gimp استاد عباس نیکزاد به یکی از لینکهای زیر مراجعه کنید:
https://m.youtube.com/playlist?list=PL9KHRBVQQhJeaSVWHURUozaMhoGyTar-m
https://avasam.ir/product/60
https://m.youtube.com/playlist?list=PL9KHRBVQQhJeaSVWHURUozaMhoGyTar-m
https://avasam.ir/product/60
آواسام
دوره ی آموزش GIMP استاد نیک زاد | آواسام
دوره ی آموزش فارسی نرم افزار گرافیکی GIMP توسط استاد نیک زاد بصورت کاملا رایگان بصورت ویدیویی با کیفیت HD مورد نیاز اکثر برنامه نویسان ، طراحان و توسعه دهندگان
پیشنهاد میکنم از دست ندید.
https://www.linkedin.com/learning/comptia-network-plus-n10-007-cert-prep-5-securing-tcp-ip?trk=share_android_course_learning
https://www.linkedin.com/learning/comptia-network-plus-n10-007-cert-prep-5-securing-tcp-ip?trk=share_android_course_learning
Linkedin
CompTIA Network+ (N10-007) Cert Prep: 5 Securing TCP/IP | LinkedIn Learning, formerly Lynda.com
Prepare to take and pass the CompTIA Network+ (N10-007) exam. Review key network security exam concepts as you learn how to secure TCP/IP.
GNU/Linux
پیشنهاد میکنم از دست ندید. https://www.linkedin.com/learning/comptia-network-plus-n10-007-cert-prep-5-securing-tcp-ip?trk=share_android_course_learning
اگر روی گوشی قصد دیدن دارید میتونید برنامه زیر رو دانلود کنید و کل دوره رو کامل دانلود کنید و ببینید.
https://play.google.com/store/apps/details?id=com.linkedin.android.learning
https://play.google.com/store/apps/details?id=com.linkedin.android.learning
Google Play
LinkedIn Learning - Apps on Google Play
Learn in-demand business, tech and creative skills from industry experts
VMware vSAN 7 is now generally available! Take a look at all the new exciting features and updates in this release: https://bit.ly/2xPuAa0