بایگانی دسته بندی ها: شبکه

سمت کلاینت Client-Side

سمت کلاینت یا Client-Side چیست؟

سمت کلاینت (Client-Side) اصطلاحی در مورد اعمالی است که در یک ارتباط کلاینتسرور توسط کلاینت انجام می‌شود.

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

به عنوان نمونه در مورد صفحات وب، جاوا اسکریپت یکی از مهم‌ترین زبان‌هایی به شمار می‌رود که دستوراتش در سمت کلاینت اجرا می‌شود. به این معنا که ابتدا فایل حاوی کد جاوا اسکریپت از سرور دانلود می‌شود و سپس توسط کلاینت (در اینجا مرورگر وب که روی سیستم کاربر نصب شده است) اجرا می‌شود. HTML و CSS نیز از جمله دیگر زبان‌های وب هستند که محتوای آن‌ها توسط کلاینت رندر و اجرا می‌شود.

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

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

شبکه تحویل محتوا Content Delivery Network – CDN

شبکه تحویل محتوا یا Content Delivery Network – CDN چیست؟

شبکه تحویل محتوا (Content Delivery Network به اختصار CDN) شبکه ای از پروکسی سرورها و مراکز داده‌ای است که در نقاط مختلف جغرافیایی توزیع شده‌اند. هدف از CDN ها توزیع سرویس در مکان‌های مختلف متناسب با کاربران است تا کارایی و دسترسی به سرویس افزایش یابد. گفتنی است به این شبکه ها، شبکه توزیع محتوا (Content Distribution Network) نیز گفته می‌شود.

امروزه CDN ها محتواهای مختلفی را روی اینترنت عرضه می‌کنند؛ از تصاویر و اسکریپت ها گرفته تا فایل‌های قابل دانلود اسناد و نرم افزارها و حتی محتوای چندرسانه ای پخش زنده، شبکه های اجتماعی و … برای فراهم آوردن امکان دسترسی آسانتر و سریعتر می‌توانند روی CDN ها نگهداری شوند. محتوای سایت های بزرگ و منابعی که به صورت گسترده و در نقاط مختلف جهان مورد نیاز مخاطبان است از جمله بهترین گزینه‌ها برای قرار گرفتن روی این نوع شبکه ها به شمار می‌روند.

گره‌های ارائه دهنده سرویس در CDN معمولا در مکان‌های مختلفی قرار می‌گیرند و به این ترتیب علاوه بر کاهش هزینه‌های مربوط به پهنای باند، زمان ارائه سرویس نیز کاهش یافته و درنتیجه سرعت دسترسی به محتوا در نقاط مختلف نیز افزایش می‌یابد. درخواست برای محتواهایی که روی CDN نگهداری می‌شود معمولا براساس یک الگوریتم به گره‌هایی محول می‌شود که به مکان کلاینت (درخواست کننده) نزدیک‌تر باشد. در این حالت هر گره دارای یک محدوده پوششی (نظیر یک قاره یا منطقه جغرافیایی) مشخص می‌باشد و هر درخواست نیز بسته به مبدأ خود (که در محدوده پوشش کدام گره قرار می‌گیرد) توسط گره مناسب پاسخ داده می‌شود. در برخی موارد نیز وجوه دیگری نظیر کارایی و دسترس پذیری سرور یا هزینه و … در تعیین گره انتخابی مورد توجه قرار می‌گیرد.

CDN ها برای بهینه سازی توزیع محتوا از روش‌های مختلفی بهره می‌برند. وب کش ها (Web Cache) محتواهای متداول و پر درخواست کاربران را نگه‌داری می‌کنند و به این ترتیب میزان بار روی سرور اصلی و مصرف پهنای باند را کاهش می‌دهند و سرعت لود صفحات نیز افزایش می‌یابد. در روش‌های توازن بار سرور (Server Load Balancing)، ترافیک دریافتی روی سوئیچ میان سرورهای اصلی تقسیم می‌شود.

در شبکه‌های تحویل محتوای یکتا به یکتا (Peer to Peer) علاوه بر این که کلاینت ها از منابع استفاده می‌کنند فراهم کننده منابع نیز هستند. طبیعتا در این CDN ها هرچه تعداد کاربران بیشتر باشند کیفیت سرویس بالاتر می‌رود و از سوی دیگر راه اندازی سرویس برای توزیع کننده نیز بسیار کم هزینه‌تر خواهد بود. ممکن است صاحبان محتوا برای ارائه بهتر خدمات به جای استفاده از CDN های مرسوم، اقدام به راه اندازی شبکه تحویل محتوای اختصاصی (Private CDN) نمایند.

در برخی از ارائه دهندگان CDN مفهوم توزیع محتوا با تأمین موارد امنیتی نظیر جلوگیری از حملات منع سرویس ترکیب شده است. از جمله مشهورترین شبکه های تحویل محتوا می‌توان به Google Cloud CDN، Cloudflare، MaxCDN و Akamai اشاره نمود.

شبکه تحویل محتوا Content Delivery Network - CDN
توزیع با کمک یک سرور (سمت چپ) در مقایسه با توزیع با کمک شبکه تحویل محتوا (سمت راست)

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

پروکسی سرور Proxy Server

پروکسی سرور یا Proxy Server چیست؟

پروکسی سرور (Proxy Server) سروری میانجی برای درخواست‌هایی است که از سوی کلاینت ها به منظور دریافت منابع از سرورهای دیگر ارسال می‌شود.

به عبارت بهتر، کلاینت به جای ارتباط مستقیم با سرور اصلی به پروکسی سرور متصل شده و منبعی (نظیر صفحه وب، فایل و …) که روی سرور اصلی قابل دسترسی است را تقاضا می‌کند. Proxy Server در صورت موافقت پس از انجام اعمال خاصی درخواست را برای سرور اصلی ارسال کرده، منبع را دریافت و در نهایت برای کلاینت ارسال می‌کند.

مفهوم Forward Proxy و Reverse Proxy

واژه Proxy در زبان انگلیسی به معنای نماینده یا وکیل می‌باشد. Proxy Server ها نیز مشابه همان کاری را انجام می‌دهند که یک نماینده در زندگی معمولی برای شما انجام می‌دهد. در میان عامه مردم زمانی که سخن از پروکسی ها به میان می‌آید غالبا منظور نوع متداول آن‌ها یعنی فوروارد پروکسی (Forward Proxy یا پروکسی ارسال کننده) می‌باشد. این نوع Proxy ها به عنوان یک نماینده یا واسطه برای کلاینت به شمار می‌روند. کلاینت درخواست خود را که مربوط به یک سرور معین است برای فوروارد پروکسی ارسال می‌کند. Proxy نیز در نقش یک کلاینت، درخواست را برای سرور مدنظر می‌فرستد و پس از دریافت پاسخ، نتیجه را به کلاینت خود تحویل می‌دهد. در این حالت کلاینت باید برای استفاده از Proxy به شکل مناسبی تنظیم شده باشد؛ این تنظیمات معمولا توسط یک نرم افزار ویژه به صورت خودکار انجام می‌شود.

نوع دیگری از Proxy ها نیز تحت عنوان پروکسی های معکوس (Reverse Proxy) وجود دارد که برخلاف Forward Proxy ها به عنوان میانجی برای یک یا چند سرور معین عمل می‌کنند. در واقع در این مدل، Proxy Server بخشی از شبکه داخلی سرورهای اصلی است و درخواست‌های دریافتی از کلاینت‌های خارجی را به سروری که باید آن را پاسخ دهد ارسال می‌کند و سپس پاسخ دریافتی را به شکلی که گویا مستقیما از سرور اصلی دریافت می‌شود برای کلاینت برمی‌گرداند. کلاینت معمولا در چنین حالتی متوجه وجود سرور اصلی (که در پشت Proxy پنهان شده است) و ویژگی‌های آن نخواهد شد و تصور می‌کند درخواست خود را برای سرور اصلی ارسال کرده است. به عبارت بهتر برخلاف فوروارد پروکسی ها که هویت کلاینتشان را مخفی می‌کنند (گمنامی)، پروکسی معکوس هویت سرور را پنهان می‌کند. صاحبان این پروکسی ها می‌توانند با پیکربندی مناسب آن‌ها، سرورهای اصلی خود را در مقابل حملاتی نظیر DDoS محافظت کرده و از مزایای دیگری نظیر توزیع و توزین بار (Load Balancing) روی چند سرور اصلی نیز بهره ببرند.

وب پروکسی

از لحاظ نوع خدمات، وب پروکسی (Web Proxy) ها از رایج‌ترین انواع Proxy ها به شمار می‌روند که امکان دسترسی به محتوای وب را با اهدافی نظیر گمنامی (یا ناشناس بودن) و عبور از فرایندهای مسدودسازی مبتنی بر نشانی IP فراهم می‌کنند. اغلب این Proxy ها از طریق تمامی کاربران اینترنت در دسترس هستند و به آن‌ها اجازه می‌دهند نشانی IP خود را هنگام استفاده از خدمات اینترنت پنهان کنند.

از Web Proxy ها می‌توان برای کنترل، نظارت و فیلتر نمودن منابع و محتوای قابل استفاده توسط کاربران بهره برد. علاوه بر این ممکن است این Proxy ها محتوای دریافتی از سرور اصلی را از نظر امنیتی و بدافزارهای مختلف (با کمک آنتی ویروس ها و دیوارهای آتش) بررسی نموده و سپس در اختیار کاربر قرار دهند. در بسیاری از سازمان‌ها، مدارس و حتی دولت‌های سراسر جهان نیز معمولا با کمک پروکسی های محدودکننده محتوا و استفاده از روش‌هایی نظیر لیست سیاه نشانی های وب یا وجود کلمات کلیدی خاص، دسترسی به منابع نامناسب یا خلاف قوانین را محدود می‌کنند.

پروکسی سرور Proxy Server
Proxy Server به عنوان واسطی میان کلاینت و سرور اصلی عمل می‌کند.

سایر کاربردهای رایج پروکسی

علاوه بر مواردی که به آن اشاره شد از Proxy ها برای اهداف دیگری نیز استفاده می‌شود. تصور کنید سرور یک وبسایت، بنابه دلایلی (نظیر تحریم) دسترسی به محتوا را براساس مبدأ درخواست کننده مسدود کرده باشد. غالبا این کار با مسدودسازی دسترسی براساس بازه‌ای از نشانی‌های IP که متعلق به یک کشور می‌باشد انجام می‌گیرد. استفاده از Proxy Server هایی که در منطقه‌ای دیگر واقع شده‌اند می‌تواند برای عبور از چنین محدودیت‌هایی مفید واقع شود.

این نکته را نیز همیشه به خاطر داشته باشید؛ ممکن است از فوروارد پروکسی ها برای گزارش گیری و استراق سمع داده‌هایی که میان کلاینت و سرور اصلی رد و بدل می‌شود استفاده شود. در چنین شرایطی کاربر به اشتباه تصور می‌کند به دلیل ناشناس بودن در مقابل سرور اصلی از نظر حفظ حریم خصوصی موفق‌تر بوده است در حالی که کلیه اطلاعاتش از جمله کلمه عبور (در صورتی که از ارتباطات رمزنگاری شده نظیر SSL استفاده نشود) توسط اپراتورهای Proxy به راحتی قابل مشاهده و تجزیه و تحلیل می‌باشد.

کشینگ پروکسی (Caching Proxy) ها نیز نوع رایج دیگری از این سرورها هستند که با نگه‌داری نسخه‌ای از منابع که با درخواست بیشتری مواجه بوده‌اند قادر هستند پاسخگویی به درخواست‌ها را سرعت بخشیده و مصرف پهنای باند را نیز کاهش دهند.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

پیام رسانی فوری Instant Messaging – IM

پیام رسانی فوری یا Instant Messaging چیست؟

پیام رسانی فوری (Instant Messaging به اختصار IM) به نوعی گفتگوی برخط (Online) گفته می‌شود که طی آن متون با کمک اینترنت یا سایر شبکه‌های رایانه‌ای به صورت بلادرنگ منتقل می‌شود. در نرم‌افزارهای پیام رسان فوری (Instant Messenger) معمولا کاربر پس از نوشتن متن موردنظر خود با کمک گزینه‌ای به نام ارسال (Send)، پیام خود را برای مخاطب یا مخاطبین ارسال می‌کند.

یکی از اهداف اصلی سرویس‌های پیام رسانی فوری، تسهیل ارتباط میان کاربرانی است که به نوعی یکدیگر را می‌شناسند. این در حالی است که کاربرانی که در یک اتاق گفتگو (Chat Room) با یکدیگر مکالمه می‌کنند معمولا از یکدیگر شناخت خاصی ندارند. از سوی دیگر در پیام رسانی فوری (بر خلاف ذات ارسال پیام از طریق ایمیل) امکان دریافت سریع پاسخ از سوی مخاطب فراهم می‌باشد.

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

ویژگی‌ها و امکانات سیستم‌های پیام رسانی فوری

از نظر فنی، پیام رسانی فوری می‌تواند به شکل همتا به همتا (Peer-to-Peer) یا مبتنی بر مدل کلاینتسرور (Client-Server) پیام کاربران را مبادله نماید. در پیام رسان‌های نوع اول، بدون وجود هیچ واسطه‌ای پیام به صورت مستقیم از فرستنده برای گیرنده ارسال می‌شود. اما در حالت دوم، پیام ابتدا برای یک سرور ارسال می‌شود و سپس سرور آن را برای گیرنده ارسال می‌کند. در این حالت در کنار فوایدی نظیر امکان ارسال پیام برای کاربرانی که هم اکنون آنلاین نیستند و نگه‌داری پیام‌ها در مکانی ایمن، بحث اعتماد کاربران به سرور نیز به موضوعی تأمل‌برانگیز تبدیل می‌شود.

هرچند قابلیت اصلی یک پیام رسان فوری، ارسال متن است اما بسیاری از اپلیکیشن‌های امروزی در این حوزه، امکان گفتگوی صوتی و ویدیویی را با کمک میکروفن و وبکم رایانه یا دوربین گوشی‌های هوشمند فراهم کرده‌اند. نگه‌داری لیست مخاطبین (Contact List)، ارسال تصویر، ویدیو و انواع مختلف فایل‌ها با حجم محدود نیز از دیگر امکاناتی است که اغلب پیام رسان‌های فوری به صورت رایگان در اختیار کاربران خود قرار می‌دهند.

مسائل امنیتی در پیام رسانی فوری

رشد استفاده از پیام رسان‌های رایگان در میان افراد و حتی شرکت‌ها و سازمان‌ها و وجود امکان ارسال پیوند و فایل‌های مختلف در این اپلیکیشن‌ها کاربران را با نوع جدیدی از ریسک‌های امنیتی روبرو کرده است. تشویق کاربران برای ورود به سایت‌های جعلی (فیشینگ) و یا هدایت آن‌ها برای دانلود ویروس‌ها و کرم‌های رایانه‌ای از طریق ارسال پیوندها به حجم عظیمی از مخاطبین و همچنین ارسال مستقیم بدافزارها از جمله روش‌هایی است که هکرها و سودجویان در پیام رسان‌های فوری برای رسیدن به اهداف خود دنبال می‌کنند.

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

پیام رسان‌های رایج

اسکایپ (Skype)، واتس اپ (Whatsapp)، فیس بوک مسنجر (Facebook Messenger)، Windows Live Messenger، گوگل تاک (Google Talk)، تلگرام (Telegram)، AIM، وی چت (WeChat)، یاهو مسنجر (Yahoo Messenger)، لاین (Line)، وایبر (Viber) و … از جمله مشهورترین پیام‌رسان‌های فوری هستند که دارای قابلیت‌ها و امکانات متنوع و قدرتمندی هستند.

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

پیام رسانی فوری Instant Messeaging
بخش‌های گفتگوی متنی و ویدیویی در پیام رسان فوری اسکایپ

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

وب تاریک Dark Web

وب تاریک یا Dark Web چیست؟

وب تاریک یا دارک وب (Dark Web) به محتوایی از وب جهان گستر گفته می‌شود که روی شبکه‌های تاریک (Darknet) قرار گرفته است. شبکه‌های تاریک گونه‌ای از شبکه‌های هم‌پوشان (شبکه‌ای که بر روی یک شبکه‌ی دیگر ساخته می‌شود) به شمار می‌روند که از اینترنت استفاده می‌کنند اما دسترسی به آن‌ها نیازمند نرم‌افزار، پیکربندی یا مجوزهای مخصوصی می‌باشد.

تفاوت وب عمیق و وب تاریک

برخلاف تفکر عامه، وب تاریک و وب عمیق (Deep Web) دو مفهوم معادل یکدیگر نیستند. در واقع بخش اعظم وب که توسط موتورهای جستجوی متداول قابل ایندکس (فهرست) شدن نیست وب عمیق نامیده می‌شود. با چنین تعریفی می‌توان گفت وب تاریک تنها بخش کوچکی از وب عمیق به شمار می‌رود.

به عبارت بهتر محتوای Dark Web را هم نمی‌توانید با کمک موتورهای جستجوی عمومی نظیر گوگل پیدا کنید. در عین حال وب عمیق تنها به وب تاریک خلاصه نمی‌شود. محتواهای پویا، محتواهایی که دسترسی به آن‌ها از طریق روش‌های مختلف محدود شده است، محتواهای اختصاصی و … همگی بخش‌هایی از وب عمیق به شمار می‌روند که الزاما در مفهوم وب تاریک جای نمی‌گیرند. از جمله شبکه‌های تاریک رایج که محتوای Dark Web را تشکیل می‌دهند می‌توان به Tor و Freenet اشاره نمود.

محتوای Dark Web

بیشترین محتوای تاریکی که در چنین شبکه‌هایی ارائه می‌شود شامل سایت‌های عرضه تصاویر غیراخلاقی و غیرقانونی، بازارهای سیاه (Black Market) مربوط به فروش داروها و کالاهای غیرقانونی و … می‌باشد. انجمن‌های سیاسی، سرویس‌های مرتبط با کلاه‌برداری، گروه‌های هک، سایت‌های جعلی و کپی شده بانکی که لینک‌هایشان در بازارهای سیاه قرار گرفته (برای تحقق حملات فیشینگ) و سایت‌های تروریستی از دیگر مصادیق محتوای Dark Web هستند.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

کلاینت Client

کلاینت یا Client چیست؟

کلاینت (Client) یا سرویس گیرنده به یک نرم افزار یا دستگاه رایانه‌ای گفته می‌شود که از خدمات ارائه شده توسط یک سرور (Server) استفاده می‌کند. سرور معمولا روی دستگاهی متمایز از کلاینت قرار می‌گیرد و کلاینت نیز برای دریافت خدمات مورد نیاز خود از طریق یک شبکه با سرور ارتباط برقرار می‌کند. این خدمات می‌تواند شامل اشتراک گذاری داده‌ها، اشتراک منابع سخت افزاری نظیر پردازنده، فضای ذخیره سازی و … باشد.

معماری مورد استفاده در ارتباط مابین Server و Client، مبتنی بر ساختاری است که از آن با عنوان مدل کلاینت – سرور یاد می‌شود. در رایج‌ترین نوع سناریوی ارتباطی، ابتدا Client درخواستی را برای Server ارسال می‌کند و سرور نیز پس از انجام عمل مورد نظر، پاسخی را برای Client ارسال می‌کند که معمولا در آن نتیجه انجام عمل درخواستی نیز گنجانده شده است.

به عنوان نمونه، مرورگرهای وب کلاینت‌هایی هستند که برای دریافت محتوای یک صفحه وب درخواست خود را به یک وب سرور ارسال کرده و سپس محتوای دریافت شده را در قالب یک صفحه وب به کاربر نمایش می‌دهند و یا یک کلاینت ایمیل (نظیر نرم افزار Mozilla Thunderbird) برای دریافت یا ارسال نامه‌های جدید به سرورهای ایمیل متصل می‌شود.

ذکر این نکته ضروری است که الزاما تمام اعمال مورد نیاز Client توسط Server انجام نمی‌شود. به عنوان مثال ممکن است یک Client پس از آنکه پاسخ موردنیاز خود را از Server دریافت نمود اقدام به انجام پردازش‌ها یا اعمالی روی این پاسخ نماید یا حتی نتیجه پردازش‌های خود را برای سرور ارسال نماید.

انواع کلاینت

بسته به اینکه چه حجم از کل عملیات توسط Client انجام می‌شود می‌توان آن‌ها را به سه دسته تقسیم نمود:

  • کلاینت فربه (Fat Client) یا ضخیم (Thick Client): به کلاینتی گفته می‌شود که بدون وابستگی شدید و بدون نیاز به ارتباط مداوم با سرور نیز قابلیت‌های فراوانی داشته باشد و حجم عمده‌ی فرایند پردازشی را خودش انجام دهد. برای مثال در یک برنامه کاربردی وب ممکن است پس از لود شدن برنامه، تمام اعمال مورد نیاز توسط Client و بدون آنکه داده‌ای با سرور رد و بدل کند انجام شود و در انتها نتیجه روی سرور ذخیره و با دیگران به اشتراک گذاشته شود. عدم نیاز به برقراری ارتباط مداوم و کاهش ترافیک مورد نیاز از یک سو و از سوی دیگر به کارگیری سرورهایی با سخت افزارهای ساده‌تر از مزیت‌های این مدل به شمار می‌رود.
  • کلاینت لاغر (Thin Client): کوچکترین و ساده‌ترین نوع Client هاست و بخش عمده‌ی اعمال مورد نیازش توسط سرور انجام می‌شود. برخلاف نوع فربه در کلاینت‌های لاغر وابستگی شدید به سرور وجود دارد و از لحاظ سخت افزاری باید سرور قدرتمندتری در اختیار داشته باشیم. برای مثال ممکن است یک Thin Client تنها به نمایش نتیجه دریافتی از سرور خود بپردازد و حتی نگه‌داری نتیجه نیز برعهده سرور باشد.
  • کلاینت مرکب (Hybrid Client): ترکیبی میانه از دو حالت پیشین در این نوع مشاهده می‌شود. چنین کلاینتی ممکن است پردازش‌ها را همانند Fat Client به صورت داخلی انجام دهد و از سوی دیگر برای نگه‌داری داده‌ها به سرور وابسته باشد.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

سرور Server

سرور یا Server چیست؟

سرور (Server) یا سرویس دهنده به یک برنامه یا دستگاه رایانه‌ای گفته می‌شود که برای سایر برنامه‌ها یا دستگاه‌ها که کلاینت (Client یا سرویس گیرنده) نامیده می‌شوند خدمات (یا سرویس‌هایی) را ارائه می‌کند. این خدمات می‌تواند شامل اشتراک داده، اشتراک منابع سخت‌افزاری، انجام محاسبات و … باشد.

معماری مورد استفاده در ارتباط Server و Client، مبتنی بر ساختاری است که از آن با عنوان مدل کلاینت – سرور یاد می‌شود. در رایج‌ترین نوع سناریوی ارتباطی، ابتدا کلاینت درخواستی را برای سرور ارسال می‌کند و سرور نیز پس از انجام عمل مورد نظر، پاسخی را برای کلاینت ارسال می‌کند که معمولا در آن نتیجه انجام عمل درخواستی نیز گنجانده شده است.

هرچند از نظر فنی اصطلاح Server به یک برنامه یا فرایند رایانه‌ای اطلاق می‌شود اما در فرهنگ عامه دستگاهی که برای اجرای برنامه‌های Server مورد استفاده قرار می‌گیرد نیز Server نامیده می‌شود. با توجه به اینکه دسترسی به سرورها معمولا از طریق شبکه رخ می‌دهد عملا اکثر آن‌ها به نمایشگر، ماوس، کیبورد، ورودی و خروجی صوتی و … مجهز نیستند و حتی سیستم عامل آن‌ها معمولا فاقد واسط کاربری گرافیکی (GUI) می‌باشد.

سخت افزارهایی که برای اجرای برنامه‌های Server طراحی می‌شوند معمولا در مقایسه با یک رایانه شخصی قوی‌تر و قابل اعتمادتر هستند. اجرای این برنامه‌ها باید بدون وقفه و با دسترس‌پذیری بالایی همراه باشد. استفاده از منابع برق بدون قطعی، خنک کننده‌های قدرتمند، بک آپ گیری متناوب و … از جمله ویژگی‌هایی است که برای یک Server نقشی حیاتی را ایفا می‌کند. در حال حاضر سیستم عامل‌های مبتنی بر UNIX و Windows Server بازار سرورها را در دست دارند.

انواع رایج سرورها

امروزه سرورهای گوناگونی بسته به کاربردهای مختلف در حال سرویس‌دهی هستند. از جمله رایج‌ترین Server ها می‌توان به موارد زیر اشاره نمود:

  • سرور وب (Web Server): این Server ها برای میزبانی صفحات وب مورد استفاده قرار می‌گیرند. هر وبسایتی به حداقل یک وب سرور نیاز دارد.
  • سرورهای محاسباتی: این نوع سرویس‌دهنده‌ها امکان انجام پردازش‌های سنگین را با به اشتراک‌گذاری منابعی همچون پردازنده و حافظه RAM بر بستر یک شبکه برای کلاینت‌ها فراهم می‌آورند. سیستم‌های رایانه‌ای و نرم‌افزارهایی که به پردازش‌های سنگینی نیاز دارند از چنین سرورهایی خدمات دریافت می‌کنند.
  • سرور پایگاه داده (Database Server): نگه‌داری و به اشتراک‌گذاری پایگاه داده بر بستر یک شبکه توسط این Server ها انجام می‌شود.
  • سرورهای فکس و پرینت: این سرورها با به اشتراک‌گذاری دستگاه‌های فکس و پرینتر این امکان را فراهم می‌آورند که یک رایانه کلاینت بدون اینکه به صورت فیزیکی و از طریق کابل‌های واسط به دستگاه دسترسی داشته باشد از طریق شبکه، نیازهای خود به این دستگاه‌ها را برطرف نماید. به این ترتیب لازم نیست در یک اتاق اداری برای هر سیستم رایانه‌ای یک دستگاه پرینتر یا فکس مجزا تهیه شود.
  • سرورهای ایمیل (Mail Server): این نوع از Server ها امکان ارسال و دریافت ایمیل را فراهم می‌آورند. دریافت کنندگان و ارسال کنندگان ایمیل کلاینت‌های این دسته به شمار می‌روند.
  • سرور فایل (File Server): اشتراک فایل و فضای ذخیره‌سازی فایل خدماتی است که توسط این Server ها ارائه می‌شود.
  • سرور اپلیکیشن (Application Server): نوعی سرور که به کلاینت‌های خود اجازه می‌دهد برنامه‌های کاربردی تحت وب را از طریق یک مرورگر وب اجرا نمایند.
سرور Server
مجموعه‌ای از  Server ها در کنار یکدیگر

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

حمله مرد میانی Man in The Middle Attack – MITM

حمله مرد میانی یا Man in The Middle Attack چیست؟

حمله مرد میانی (Man in The Middle Attack یا به اختصار MITM) در امنیت رایانه به نوعی حمله سایبری گفته می‌شود که در آن فرد متجاوز در میان یک ارتباط دونفره قرار می‌گیرد و احتمالا اقدام به دستکاری ارتباط میان آن‌ها می‌کند در حالی که دو طرف نهایی ارتباط از حضور شخص ثالث بی‌اطلاع بوده و تصور می‌کنند به طور مستقیم در حال ارتباط با یکدیگر هستند.

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

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

حمله مرد میانی Man in The Middle Attack
نمایش مفهومی حمله مرد میانی (Man in The Middle Attack) و مقایسه آن با حالت طبیعی ارتباط – فرد متجاوز با قرار گرفتن در میان جریان ارتباطی میان کلاینت و سرور می‌تواند داده‌های رد و بدل شده را مشاهده کند و آن‌ها را با داده‌ای جعلی جایگزین نماید.

چنین حملاتی معمولا زمانی موفق خواهند بود که در آن فرد حمله کننده بدون آنکه دو طرف ارتباط متوجه شوند بتواند خود را به عنوان یک یا هر دو طرف جابزند. توجه داشته باشید بسیاری از سایت‌هایی که در آن‌ها نیاز به لاگین یا وارد کردن اطلاعات حساس می‌باشد (به خصوص سامانه‌های مالی) می‌تواند گزینه‌ای مناسب برای حملات مرد میانی باشد.

مقابله با حمله مرد میانی

روش‌های مختلفی برای مقابله و تشخیص حملات MITM وجود دارد. تأیید اعتبار (Authentication) از جمله این روش‌هاست که تا حدودی می‌تواند شما را مطمئن سازد طرف مقابل ارتباط شما، همان فرد یا سیستمی است که انتظارش را دارید. استفاده از پروتکل‌های توافق براساس کلید و انتقال کلید همراه با پیام‌ها از طریق یک کانال ایمن رویکردی است که می‌تواند تا حد زیادی مانع از وقوع این حملات شود. عدم اتصال به روترهای عمومی (و بدون کلمه عبور) Wi-Fi، ساده‌ترین نکته‌ای است که لازم است برای جلوگیری از افتادن در دام این نوع حملات به خاطر بسپارید.

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

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

ارتباط حوزه نزدیک Near Field Communication – NFC

ارتباط حوزه نزدیک یا Near Field Communication – NFC چیست؟

ارتباط حوزه نزدیک (Near Field Communication یا به اختصار NFC) به مجموعه‌ای از پروتکل‌های ارتباطی گفته می‌شود که دو ابزار الکترونیکی را هنگامی که در مجاورت یکدیگر قرار می‌گیرند (در حدود چند سانتی‌متری) قادر به ارتباط با یکدیگر می‌سازد. معمولا یکی از این ابزارها یک دستگاه قابل حمل نظیر گوشی هوشمند است.

ریشه‌های NFC را باید در فناوری RFID (شناسایی با امواج رادیویی) جستجو کرد. به مرور زمان ان‌اف‌سی توانست به یک استاندارد عمومی تبدیل شود و روز به روز بر تعداد دستگاه‌هایی که از آن پشتیبانی می‌کنند افزوده می‌شود. گفتنی است در ان اف سی از القای الکترومغناطیسی بین دو آنتن استفاده می‌شود.

از مشخصه‌های NFC می‌توان به سرعت پایین ارتباط و راه‌اندازی (Setup) ساده اشاره نمود. ان اف سی (با نرخ انتقال 106 تا 424 کیلوبیت بر ثانیه) حتی در مقایسه با بلوتوث هم از سرعت پایین‌تری برخوردار است و در بازه کوتاهتری عمل می‌کند. این فناوری که روی فرکانس 13.56 مگاهرتز عمل می‌کند به انرژی بسیار اندکی نیاز دارد.

در ارتباط حوزه نزدیک همواره با یک آغازگر ارتباط و یک هدف سر و کار داریم. دیوایس آغازگر می‌تواند انرژی لازم برای یک هدف غیرفعال (یا Passive که فاقد منبع تغذیه می‌باشد) را فراهم آورد؛ از اینرو در سال‌های اخیر استفاده از قطعات ارزان قیمتی همچون برچسب (تگ) و استیکرهای NFC با استقبال فراوانی روبرو بوده است.

دستگاه‌های مجهز به این فناوری می‌توانند همانند یک کارت هوشمند به منظور انجام تراکنش‌های مالی مورد استفاده قرار گیرند، اطلاعات ثبت شده در تگ‌های NFC (که به عنوان مثال در یک پوستر هوشمند جاسازی شده است) را بخوانند و (حتی در برخی نمونه‌ها روی آن‌ها بنویسند) یا به صورت ارتباطات همتا به همتا (Peer to Peer) به تبادل اطلاعات با یک دستگاه NFC دیگر بپردازند.

امنیت NFC

هرچند بازه فعالیت ان اف سی به فاصله‌ای بسیار کوتاه (چیزی کمتر از 10 سانتی‌متر) محدود می‌شود اما NFC ساده به خودی خود ارتباطی ایمن را تضمین نمی‌کند و مطابق استاندارد ISO هیچ راهکاری جهت جلوگیری از استراق سمع حین برقراری ارتباط ارائه نمی‌کند. از آن جایی که دستگاه‌های غیرفعال، فیلدهای RF (فرکانس رادیویی) مختص خودشان را تولید نمی‌کنند ایمن‌تر هستند. با اینحال فرد متجاوز می‌تواند از فواصل حدود 10 متری برای دستگاه‌های فعال و 1 متری برای دستگاه‌های غیرفعال اقدام به استراق سمع یک ارتباط NFC نماید. بنابراین در مورد دستگاه‌های غیرفعال، ضرورت حضور هکر در فاصله‌ای بسیار نزدیک به شما می‌تواند خیالتان را از نظر امنیتی تا حدی آسوده نماید.

کاربردهای NFC

از دستگاه‌های مجهز به ان اف سی می‌توان در سامانه‌های پرداخت بدون تماس (Contact-less Payment) به عنوان جایگزینی برای کارت‌های اعتباری و بلیط‌های الکترونیک جهت پرداخت موبایلی (Mobile Payment) و انجام تراکنش‌های مالی استفاده نمود.

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

ارتباط حوزه نزدیک - ان اف سی NFC
پرداخت موبایلی از طریق NFC

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

یو اس اس دی Unstructured Supplementary Service Data – USSD

یو اس اس دی یا USSD چیست؟

یو اس اس دی (USSD) کوتاه‌شده‌ی عبارت Unstructured Supplementary Service Data (به معنای داده خدمات تکمیلی بدون ساختار) می‌باشد و عنوان پروتکلی است که توسط تلفن‌های مبتنی بر شبکه‌های سلولی GSM به منظور ارتباط با سیستم‌های رایانه‌ای فراهم‌کننده سرویس استفاده می‌شود. از کدهای USSD با عناوینی همچون “کدهای سریع” (یا Quick Codes) و “کدهای ویژگی” (یا Feature Codes) نیز یاد می‌شود.

کدهای یو اس اس دی دارای حداکثر طول 182 کاراکتر می‌باشند. این کدها (یا پیام‌ها) با علامت ستاره (*) آغاز می‌شوند، با تعدادی رقم که نشان‌دهنده‌ی یک دستور یا داده است ادامه یافته و با علامت Hash یا مربع (#) نیز به پایان می‌رسند. ارقام تشکیل‌دهنده یک پیام USSD ممکن است در قالب گروه‌هایی با استفاده از علامت ستاره از یکدیگر جدا شوند. برای اینکه کاربر، آغاز کننده یک ارتباط USSD باشد کافی است کد موردنظر را همانند رویه‌ی متداول شماره‌گیری نماید. به عنوان مثال در زمان انتشار این مطلب با شماره‌گیری کد *555*1*2# روی سیم‌کارت‌های اعتباری یکی از اپراتورهای ایرانی می‌توان میزان باقی‌مانده‌ی موجودی را مشاهده نمود.

در بسیاری از موارد به منظور تسهیل ارتباط، با شماره‌گیری یک کد اصلی منویی نمایش داده می‌شود که کاربر می‌تواند متناسب با خواسته‌ی خود عدد گزینه موردنظر را در پاسخ ارسال نماید.

کاربردهای یو اس اس دی

یکی از رایج‌ترین کاربردهای USSD اطلاع از میزان موجودی باقی‌مانده در سیم‌کارت‌های اعتباری (یا پیش پرداختی) است. بسیاری از فراهم‌کننده‌های سرویس‌های همراه پس از آن که کاربر پیامکی ارسال یا تماسی برقرار می‌کند با نمایش یک پیام USSD میزان باقی‌مانده‌ی موجودی و هزینه‌ی آخرین عمل انجام شده را به اطلاع کاربر می‌رسانند.

افزایش موجودی (شارژ) در طرح‌های اعتباری، فعالسازی بسته‌های مقرون به صرفه برای مکالمه، پیام کوتاه و اینترنت همراه، شرکت در نظرسنجی‌ها، انجام فعالیت‌های خیرخواهانه، استفاده از خدمات بانکی و … از جمله کاربردهای رایجی هستند که به مدد یو اس اس دی میسر شده است. برخی اپراتورها از USSD برای ارسال محتواهای منتشر شده در شبکه‌های اجتماعی، خبرها و حتی مقالات سایت‌های مشهور نیز بهره می‌برند.

تفاوت USSD و SMS به زبان ساده

USSD در مقایسه با سرویس پیام کوتاه از واکنش‌گرایی بالاتری برخوردار است. در واقع به هنگام مبادله‌ی پیام‌های یواس‌اس‌دی نوعی ارتباط آنی (Real Time) در طول یک نشست (Session) به وجود می‌آید و این ارتباط تا پایان نشست باز می‌ماند. این در حالیست که به هنگام ارسال SMS از روش ارتباطی “ذخیره و ارسال” (Store and forward) استفاده می‌شود، به این معنا که اطلاعات ارسال شده از طریق SMS ابتدا روی یک سیستم میانی ذخیره می‌شود و سپس برای مقصد ارسال می‌گردد.

برخی اوقات USSD و SMS در کنار یکدیگر به کار می‌روند. برای مثال کاربر یک کد USSD را شماره‌گیری می‌کند و پاسخ اصلی این درخواست پس از پردازش از طریق یک پیام کوتاه برای وی ارسال می‌شود.

یو اس اس دی USSD
نمونه‌ای از کدهای USSD در یک گوشی اندرویدی

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا