یکی از نقاط قوت لینوکس رویکردی است که نسبت به شبکه دارد که این موضوع عمدتا به خاطر میراثی است که از یونیکس به ارث برده است. به همین دلیل لینوکس سیستم عامل انتخابی  ما به عنوان سرور است.

اصلی ترین راه حل برای دسترسی به یک سرور لینوکسی از طریق SSH یا همان Secure Shell‌ است. هر دو راه حل مفید و امن هستند ولی مشکل اینجا است که هر دو قبل از دوره ای که فناوری وایفای و سلولار متداول بشوند طراحی شده اند. در نتیجه اگر به وایفای دیگری وصل شوید یا سیستم‌تان sleep شود، اتصال‌تان به سرور قطع خواهد شد.

 

Mosh و Tmux چیست؟

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

Mosh ابزاری است با این قابلیت که SSH را از تغییرات شبکه آگاه کند و Tmux به ترمینال شما اجازه می‌دهد که یک شل را بین لاگین‌های مختلف نگه دارید یا حتی آن را به اشتراک بگذارید.

برای معرفی از Mosh شروع کنیم. Mosh یه پروژه متن باز است که باعث میشود SSH بر روی رومینگ و اتصالات متناوب کار کند. با استفاده از Mosh شما می‌توانید کامپیوتر خود را از یک شبکه سیمی به یک شبکه بی سیم تغییر دهید و اتصال‌تون بر قرار خواهد ماند؛ حتی این امکان وجود داره که لپتاپ‌تون رو در حالی که به شبکه متصل هست در حالت sleep قرار بدید و وقتی که دوباره به شبکه متصل می‌شود، خواهید توانست از ترمینال استفاده کنید. اگر اتصال به شبکه را از دست بدهید Mosh به شما اطلاع خواهد داد. هم‌چنین اگر سرور به آرامی پاسخ می‌دهد، mosh تا زمانی که اتصال بهبود پیدا کند، دستوراتی که تایپ می‌کنید را برای‌تان به نوعی ذخیره میکند.

نصب Mosh تقریبا خیلی ساده است بوده و مدیریت پکیج توزیع های مختلف لینوکس،  Mosh را در خود جای داده اند. هم چنین Mosh بر روی گوگل کروم نیز موجود است.

 

نصب Mosh روی لینوکس

برای مثال، برای نصب روی اوبونتو طبق دستورهای زیر عمل می‌کنیم:

Sudo apt install mosh

البته سرور نیز بایستی Mosh server را نصب داشته باشد. مزیتی که در اینجا داریم این است که برای نصب می‌توان از حالت یوزر نیز استفاده کرد و لزومی برای روت بودن وجود ندارد.

 

استفاده از Mosh

وقتی که می‌خواهید به سرور وصل شوید کافی است دستور زیر را تایپ کنید:

mosh username@server

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

نصب و استفاده از Tmux

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

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

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

به وسیله تی‌ماکس شما میتوانید از یک session لاگ اوت شوید و بعد که بازمی‌گردید دوباره از همان جا شروع به کار کنید. می‌توانید چندین پنجره ترمینال داشته باشید. می‌توانید یک برنامه را در یک پنجره ادیت کنید و در یک پنجره دیگر آن را تست کنید.

نصب Tmux بسیار آسان است. برای مثال برای نصب روی اوبونتو کافی است طبق زیر عمل کنیم:

Sudo apt install tmux

وقتی که تی‌ماکس نصب شد تنها با دستور زیر آن را اجرا می‌کنیم:

tmux

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

برای مثال یکی از ویژگی‌های جالبی که تی ماکس ارائه می‌دهد امکان ترک session و بازگشت دوباره به آن است. برای این کار کافی است کلید ctrl+D را بزنید و برای بازگشت دوباره کافی است از دستور tmux attach استفاده کنید و می‌بینید که دوباره به همان session بازگشته اید.

ویژگی بالا این امکان را می‌دهد که تا زمانی که سرور ما روشن است session نیز همراه آن باشد و از بین نرود.

 

ترکیب Mosh‌ و Tmux

قدرت اصلی در یک session ریموتی وقتی به دست ما میرسد که این دو نرم افزار را با هم ترکیب کنیم.

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

ترکیب این دو با یکدیگر،‌ به ما بیشترین توان قابل اطمینان بودن و منعطف بودن در یک کانکشن ریموتی را خواهد داد.

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

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

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

۳ ابزار اصلی برای zabibx وجود دارند :
۱- سرور zabbix
۲- zabbix agent
۳- رابط وب zabbix
سرور زبیکس در‌واقع همان ابزاری است که اطلاعات مربوطه ای که شما میخواهید را از سرور اصلی جمع آوری و نظارت میکند.
سروری که میخواهید مانیتور کنید agent نام دارد، شما همچنین میتوانید بدون رابط وب zabbxi عمل مانیتورینگ را انجام دهید ولی ما توصیه میکنیم از رابط وب نیز استفاده کنید چرا که تجربه بهتری به شما میدهد.

اگر میخواهید قبل از نصب محیط کاربری zabbix را ببینید نیز این امکان فراهم است
با مراجعه به https://zabbix.org/zabbix/index.php این آدرس میتوانید بدون داشتن اکانت محیط مانیتورینگ را دیده و قسمت‌های مربوط به گزارش‌ها را نیز مشاهده کنید.

نصب:

 

در مورد نصب به ترتیب zabbix server ، zabbix agent و اضافه کردن هاست به سرور را در مقاله‌ای جدا بررسی خواهیم کرد،

باید بدانید که به طور پیش‌فرض رابط وب zabbix از آپاچی استفاده میکند، اگر میخواهید به جای آن از Nginx استفاده کنید باید تنظیماتی را به Nginx خود اضافه کنید که در ادامه خواهیم دید.

 

معرفی مختصر:

 

سرور زابیکس :
سرور اصلی است که همه چیز را رصد میکند، برای نصب این لینک را دنبال کنید.
معمولاً رابط وب نیز فقط بر روی این سرور نصب میشود، همینطور بهتر است که این سرور را از سرورهایی که قرار است مانیتور شوند جدا نگه دارید.
در این صورت حتی اگر سرور اصلی دچار خرابی شود میتوانیم زمان downtime و دلیل خرابی را متوجه شویم.

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

زبیکس هاست :
هاست سروری است که شما میخواهید مانیتور کنید، بنابراین اگر میخواهید ۳ سرور مختلف را مانیتور کنید
زبیکس ایجنت را بر روی تمام آن‌ها نصب میکنید.

قالب لینوکسی :

این قالب به طور پیش‌فرض با نصب زبیکس همراه است و بیشتر پارامترهای عمومی را ارائه میدهد مانند :
درصد استفاده از cpu و ram ، این قالب از قبل پیکربندی شده است و شما نیاز به تنظیمات خاص دیگری بر روی آن ندارید.

 

اشکال یابی:

 

با اینکه رابط وب به نظر کافی میرسد اما برای اشکال یابی بهتر است از کنسول استفاده کنید.

بر روی سروری که از آن مانیتورینگ انجام می‌شود دستور زیر را اجرا کنید:

telnet ip-of-your-agent 10050

و سپس :

zabbix_get -s ip-of-your-agent -k agent.hostname

بر روی سرورهایی که قرار است مانیتور شوند :

در پیکربندی اصلی سرور مانیتورینگ شما درخواست داده میکند، بنابراین اگر سرور شما میتواند به agent کانکت شود همه چیز درست عمل میکند.
اما اگر از حالت active agent استفاده میکنید باید اطمینان حاصل کنید که agent شما میتواند به سرور مانیتور متصل شود ومیتواند داده‌ها را push کند.

دستور زیر را اجرا کنید :
telnet ip-of-your-server 10050

با اجرای دستور بعدی zabbix-sender را نصب کنید :

sudo apt-get install zabbix-sender

سپس دستور زیر :

zabbix_sender -vv -z [serverIp] -p 10051 -s [clientName] -k traptest -o "Test value"

در پیکربندی agent configuration توجه داشته باشید که تمام داده‌هایی که به سرور منتقل می‌شوند باید از نوع Trapper باشند. بنابراین در مثال بالا باید یک آیتم از نوع trapper بر روی سرور با کلید trapest ایجاد کنید و همچنین اطمینان حاصل کنید که داده‌هایی که ارسال میکنید از نوع مشخص شده در هنگام ایجاد آیتم بر روی سرور است.

 

گزارشات:

 

dashboard قابلیت شخصی سازی دارد بنابراین میتوانید آن را به گونه‌ای تغییر دهدید که همه ی خطاها آنجا لیست شوند، ویژگی دیگری که ما دوست داشتیم نمایشگر ها بود، ما تمام نمودارهای اصلی سرورهایمان را به آن اضافه کردیم و به این وسیله میتوانیم نقاط بحرانی را شناسایی و ردیابی کنیم.

 

اعلان ها‌:

 

به نظر ما، اعلان ها در زبیکس بسیار عالی عمل میکنند چرا که به راحتی قابل تنظیم هستند، ما از sendgrid در زبیکس استفاده میکنیم، چون که اعلان های پیش‌فرض زبیکس برای ما خوب کار نمیکردند.

 

تجربه شما از استفاده از zabbix چگونه بوده است؟

آیا از ابزارهای مانیتورینگ برای سرور خود استفاده میکنید؟

تجربه خود را با ما به اشتراک بگذارید.

یکی از معیارهای مهم سایت‌ها، سرعت بارگذاری آن‌ها است. سرعت وبسایت نه تنها باعث رضایت بازدیدکنندگان از سایت می‌شود، بلکه به صورت مستقیم روی سئو سایت و رتبه سایت در موتورهای جستجو تاثیر می‌گذارد. یکی از روش‌هایی که تاثیر به سزایی در افزایش سرعت سایت دارد، پیاده‌سازی سیستم کش (cache) است. با توجه به استفاده فراوان از سایت‌های وردپرس (wordpress)، افزونه‌های زیادی برای کش کردن سایت وجود دارند. گرچه نصب افزونه‌های کش بسیار راحت بوده، اما کارایی آن در مقابل سیستم کش ngnix به مراتب پایین‌تر است.

اگر سایت شما دیر لود می‌شود و TTFB (time to first byte) بالایی دارد، استفاده از سیستم کش nginx تاثیر زیادی روی افزایش سرعت سایت وردپرس شما خواهد داشت. TTFB به معنای زمان دریافت اولین بایت از سرور است و گاها تا چند ثانیه طول کشیده و سایت شما را کند می‌کند. با نصب و پیکربندی سیستم کش، این زمان تا کمتر از ۳۰۰ میلی ثانیه کاهش پیدا می‌کند. در صورتی که سرور شما به میزان کافی حافظه رم دارد، می‌توانید با انتقال فضای کش از هارد به رم،‌ سرعت سایت خود را بیش از پیش افزایش دهید. استفاده از nginx cache در کنار php-fpm ترکیبی بسیار پرسرعت برای سایت شما خواهد بود.

اولین مرحله در کانفیک کش nginx (که از FastCGI استفاده می‌کند)‌، اضافه کردن کدهای زیر به به قسمت http در فایل nginx.conf است. این فایل معمولا در آدرس زیر قرار دارد.

vim /etc/nginx/nginx.conf

fastcgi_cache_path /etc/nginx-cache levels=1:2 keys_zone=phpcache:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";

در این تنظیمات، phpcache اسم key zone و 100m بیانگر میزان فضای اختصاص یافته به حافظه کش (به مگابایت) است. 60m هم مدت زمانی است که در صورت عدم تقاضای داده، آن‌ها از کش پاک می‌شوند. همچنین /etc/nginx-cache هم نشان‌دهنده محل ذخیره سازی فایل‌های کش nginx است.

مابقی تنظیمات باید در فایل nginx مربوط به سایت انجام شود.‍

vim /etc/nginx/sites-enabled/default

location ~ [^/]\.php(/|$) {
fastcgi_cache phpcache;
fastcgi_cache_valid 200 30m;
fastcgi_cache_methods GET HEAD;
add_header X-Fastcgi-Cache $upstream_cache_status;
}

در این مرحله می‌توانید سرویس nginx را ریستارت کنید. فراموش نکنید که قبل از آن حتما تنظیمات nginx را چک کنید.

nginx -t
service nginx restart

حالا سیستم کش سایت شما فعال شده و باید افزایش سرعت سایت را به طور محسوس ببینید. در سایت مورد بررسی شرکت پیشگامان، میانگین TTFB (یا همان Server response time) از بیش از ۵ ثانیه به کمتر از ۵۰۰ میلی ثانیه کاهش پیدا کرد و امتیاز سرعت سایت در ابزار سنجش سرعت سایت گوگل (PageSpeed Insights) از ۴۰ به ۸۶ افزایش داشت.

سیستم پیاده سازی شده فایل‌های کش را روی هارد دیسک ذخیره می‌کند. در صورتی که از SSD یا NVMe استفاده می‌کنید کارایی بالاتری خواهید داشت. در هر صورت استفاده از حافظه رم کارایی به مراتب بالاتری خواهد داشت. برای انتقال حافظه کش nginx به رم، کافی است خط زیر را به fstab اضافه کرده، فایل را ذخیره کرده و آن را مونت کنید.

vim /etc/fstab

tmpfs /etc/nginx/cache tmpfs defaults,size=100M 0 0

mount -a

برای مشاهده میزان استفاده از فضای تخصیص یافته به سیستم کشینگ سایت، از این دستور استفاده کنید:

df -h

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

برای چندین سال، احراز هویت دو مرحله‌ای به عنوان مهم‌‌ترین توصیه در امنیت فضای مجازی اشخاص به شمار می‌رفت، ابزاری که شرکت‌های فناوری اطلاعات دیر به اهمیت آن پی بردندالبته بعد از هک شدن حساب‌های توییتر، آمازون و اپل «مت هونان» در سال2012 [1]، جنبشی برای استفاده از این شیوه‌ی احراز هویت شکل گرفتدر آن زمان تعداد اندکی از شرکت‌های فناوری اطلاعات احراز هویت دو مرحله‌ای را ارائه می‌کردنددر نتیجه، کارزار عمومی بزرگی شکل گرفت که شرکت‌ها را مجبور به پیاده‌سازی احراز هویت دو مرحله‌ای برای جلوگیری از سرقت حساب کاربران می‌کرد.

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

در پنج سال گذشته، بیشترین تمرکز کارزار احراز هویت دو مرحله‌ای، سایت twofactorauth.org بوده استهدف این سایت رسواسازی سایت‌ها و محصولاتی است که از این نوع احراز هویت استفاده نمی‌کننداین سایت با معرفی شرکت‌هایی که احراز هویت دو مرحله‌ای ندارند، راه ساده‌ای برای کاربران فراهم می‌کند تا با ارسال توییت به این شرکت‌ها، از خجالتشان دربیاینداین سایت روزی چند صد هزار توییت برای خوار کردن این شرکت‌ها می‌فرستدبه نظر می‌رسد این کارزار جواب داده باشدتقریبا تمام شرکت‌ها نوعی از احراز هویت دو مرحله‌ای را ارائه می‌دهندشرکت‌هایی مثل آمازون و بیت باکت هم اخیرا خود را با این احراز هویت وفق دادند اما نتفلیکس شاید بزرگ‌ترین شرکتی باشد که هنوز در مقابل آن مقاومت می‌کندهمینطور تنها سرویس‌های ایمیل گمنام مثل میگادو وmail.com احراز هویت دو مرحله‌ای ندارندبخش‌هایی مثل شرکت‌های هواپیمایی و بانک‌ها هم ممکن است از قافله عقب باشند اما اکثر شرکت‌ها پیام کاربران را گرفته‌اند: «اگر احراز هویت دو مرحله‌ای ندارید، از سرویس دیگری استفاده می‌کنیم».

اما پیروزی کمی آشفته‌تر از آنیست که کسی گمان می‌کردده‌ها نوع مختلف از احراز هویت دو مرحله‌ای وجود دارد که امکان لیست کردن همه‌ی آن‌ها در این مطلب نیستبعضی از سرویس‌ها از پیامک برای ارسال کد تایید استفاده می‌کنند، برخی هم از طریق ایمیل.سرویس‌هایی هم هستند که از روش‌های سخت‌تری مثل برنامه‌ی احراز هویت گوگل (Google Auth) استفاده می‌کنندهمچنین با پرداخت 18 دلار می‌توانید درایو usbمخصوصی خریداری کنید که به عنوان مرحله‌ی دوم احراز هویت شما استفاده شود؛ این شیوه بوسیله‌ی اکثر سرویس‌ها پشتیبانی شده و از امن‌ترین روش‌های موجود می‌باشد (تا زمانی که usb را گم نکنید!). جدای از روش‌های سخت‌افزاری، اکثر سرویس‌ها رمز دوم را از طریق بسترهای مخابراتی ارسال می‌کنندبا توجه به امکان رهگیری (Intercept) پیام‌ها در میان راه، بعضی از این روش‌ها امنیت پایین‌تری نسبت به بقیه روش‌ها دارنداما آنقدر تعداد این روش‌ها زیاد است که حتی کاربران ماهر از روش‌های امن‌تر اطلاع ندارند چه رسد به مشتریان عادی.

از همان ابتدا وعده‌ی امنیت احراز هویت دو مرحله‌ای در سراشیبی قرار گرفتدر سال2014 هکرها با هدف قرار دادن سرویس‌های خدماتی بیت کوین، از طریق رهگیری توکن ها و استفاده از شیوه‌های بازیابی حساب، راهی برای دورزدن مرحله دوم احراز هویت پیدا کردنددر بعضی موارد هکرها مستقیما حساب اپراتور تلفن همراه را هدف قرار داده و با فعال‌سازی سرویس هدایت تماس (Call Forwarding) توانستند رمز دوم را دریافت کنند.این حمله‌ها معضلی جدی برای کاربران بیت کوین به وجود آورد چراکه تراکنش‌های چند هزار دلاری، هکرها را ترغیب می‌کرد تا از روش‌های معمول فراتر بروندهمین ماه گذشته یکی از کاربران بیت کوین هزار دلار از طریق هک شدن حساب ورایزن (Verizon) از دست داد [2]این حملات فقط برای کاربران ماهر مشکل ساز نیست؛ ماه گذشته سایت The Intercept سندی منتشر کرد که نشان می‌داد هکرهای روس نقشه‌ای برای هدف قرار دادن حساب‌های دو مرحله‌ای مقامات انتخاباتی آمریکا داشتنددر نمونه‌ای دیگر، بنیانگذار کریپتوکت اعلام کرد که ثبت یک دستگاه آلوده به نرم‌افزار مخرب، به هکرها اجازه‌ی شکستن احراز هویت دو مرحله‌ای را می‌دهد.

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

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

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

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

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

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

1 https://www.wired.com/2012/08/apple-amazon-mat-honan-hacking/

2 https://medium.com/@CodyBrown/how-to-lose-8k-worth-of-bitcoin-in-15-minutes-with-verizon-and-coinbase-com-ba75fb8d0bac