در شبکه کامپیوتری، هک کردن به معنی هر گونه تلاش فنی برای دستکاری رفتار نرمال ارتباطات شبکه و سیستمهای متصل است. هکر هرکسی است که هک میکند. اصطلاح هک کردن به لحاظ تاریخی به کار فنی سازنده و هوشمندانهای اشاره داشت که لزوما با سیستمهای کامپیوتری مرتبط نبود. با این حال، امروزه، هک و هکرها اغلب با حملات برنامهنویسی مخرب به شبکهها و رایانهها در اینترنت ارتباط دارند.
هک کردن سایت چیست؟
هک کردن سایت به معنای این است که شخصی به اطلاعات وبسایت شما بدون اجازه دسترسی پیدا کند. انجام این کار نیاز به آشنایی با دانش و مهارتهای کدنویسی و امنیت شبکه اینترنت دارد. هکرها از روشهای مختلفی برای دسترسی به اطلاعات سایتها استفاده میکنند. وقتی یکی از آنها سایت شما را هک کند، اتفاقات مختلفی مکن است رخ دهد. ازجمله اینکه:
- برخی هکرها اطلاعات شخصی شما یا کاربران وبسایت را سرقت میکنند، مثلاً اطلاعات کارت بانکی مشتریان سایت را برداشته و حساب آنها را خالی میکنند. همچنین ممکن است برنامههای مخربی روی سایت شما نصب کنند که به سیستم بازدیدکنندگان سایت حمله میکند.
- برخی از هکرها ممکن است کنترل سایت را در دست گرفته و دسترسی شما به آن را از بین ببرند. در این حالت آنها در ازای گرفتن پول، سایت شما را پس میدهند.
- دستهای از هکرها هم به دنبال اهداف سئو یی هستند و با هک کردن وبسایت شما اقدام به لینک دادن به سایت خودشان میکنند.
- در مواردی هم هکرها برای انتشار یک پیام سیاسی اقدام به هک سایتها میکنند. این اتفاق معمولاً برای سایتهای معروف و سازمانهای دولتی میافتد.
- البته نباید از این غافل شد که برخی هکرها هم تنها برای تفریح اقدام به هک سایتها میکنند، عدهای هم ممکن است از سایت شما برای ارسال ایمیلهای انبوه اسپم استفاده کنند.
بهطور خلاصه باید بدانید در صورت هک کردن سایت شما، هر استفاده مجاز یا غیرمجازی از آن قابل انجام است. بسیاری از افراد تصور میکنند چون وبسایت آنها کوچک است و شهرت زیادی هم ندارد، از هک شدن در امان میمانند. اما جالب است بدانید بسیاری از افرادی که سایتشان هک شده، همین تصور را داشتهاند.
واقعیت آن است که کوچک بودن یا معروف نبودن سایت، دلیلی بر امن بودن آن نیست. هکرها در برخی موارد از رباتهای برنامهریزیشده استفاده میکنند که بهطور خودکار در بین صفحات وب میخزند و به دنبال سایتهای آسیبپذیر میگردند. درصورتیکه سایتی رخنه امنیتی داشته باشد، هکرها کاری به کوچک و بزرگ بودن آن نداشته و برای هک کردن سایت موردنظر اقدام میکنند. آنها از سایت هکشده برای اهدافی استفاده میکنند که قبلاً اشاره کردیم.
تاریخچه هک کردن سایت
جان دریپر معروف به کاپیتان کرانچ را بهعنوان اولین هکر تاریخ میشناسند. در دهه 70 میلادی بزرگترین شبکه در دسترس مردم، شبکه تلفن بود که از یک سیستم خودکار برای مدیریت تماسها در فرکانسهای آنالوگ استفاده میکرد. دریپر برای هک آن در اقدامی عجیب از یک سوت اسباببازی کمک میگرفت تا بتواند سیگنالهای جعلی ایجاد کرده و تماسهای رایگان بینالمللی برقرار کند. این تکنیک او بعدها به روش Phreaking معروف شد.
اما اولین هکر اینترنتی که توجه رسانهها را به خود جلب کرد، فردی به نام رابرت موریس بود که در اواخر دهه 80 اولین حمله را در اینترنت اجرا کرد. او این کار را به کمک یک بدافزار که خودش در دانشگاه کرنل نوشته بود، انجام داد. به گفته موریس هدف او از این کار صدمه زدن نبود، بلکه میخواست رخنههای امنیتی را نشان دهد. اما یک اشتباه در کدهای بدافزار باعث شد در تعداد زیادی منتشر شود و صدمات زیادی برجای بگذارد.
این اولین بار بود که هک در اینترنت به رسانهها راه یافت، ازآنپس هکرها روزبهروز روشهای مختلفی را برای نفوذ به سایتها پیدا کردند و از سوی دیگر باعث شدند امنیت آنها ارتقا پیدا کند. زیرا با پیداشدن یک رخنه امنیتی توسط هکرها، کارشناسان امنیت شرکتها هم راه مقابله با نفوذ را پیدا میکردند. تاکنون چند هک بزرگ در دنیای اینترنت اتفاق افتاده است که میتوان گفت بزرگترین آنها هک کردن سایت یاهو بود. این اتفاق در سال 2013 رخ داد و اطلاعات سه میلیارد اکانت حاضر در این سایت را در معرض خطر قرار داد. این اطلاعات شامل نام، تاریخ تولد، پسورد ایمیل و سؤالات امنیتی آنها بود. خود یاهو تا سال 2016 ابعاد وسیع این رخنه امنیتی را نپذیرفت، اما بههرحال این هک وسیع، ضربه بزرگی به اعتبار یاهو وارد کرد.
بیشتر بخوانید: مراحل طراحی سایت و ایجاد یک سایت حرفه ای
انواع روشهای هک کردن سایت
برای آنکه بتوانید از هک کردن یک سایت جلوگیری کنید، بد نیست با انواع تکنیکهای هک آشنا شوید. در این قسمت انواع روش هک کردن سایتها را بررسی میکنیم:
حملات SQL Injection
حملات SQL Injection رایجترین روش هک کردن سایتها به شمار میرود. چراکه بسیاری از سایتها از SQL برای ارتباط با پایگاه داده خود استفاده میکنند. SQL به سایتها کمک میکند اطلاعات لازم را در پایگاه داده بسازند، آنها را بازیابی کرده یا پاک کنند. این اطلاعات میتواند شامل هر چیزی از اطلاعات ورود کاربران به سایت گرفته تا اطلاعات یک تراکنش خرید باشد. در حملات SQL Injection هکرها سعی میکنند SQL را به شکلی وارد یک فرم اینترنتی کنند که برنامه سایت مجبور به اجرای آن شود. برای مثال فرض کنید آنها در قسمت نام کاربری و رمزعبور سایت، بهجای واردکردن متن، عبارت شرطی OR 1=1 را وارد میکنند. درصورتیکه این عبارت بهطور موفقیتآمیز وارد برنامه چک نام کاربری و رمز عبور در پایگاه داده شود، آن را در حالت همیشه صحیح قرار میدهد. یعنی هکر مربوطه میتواند به اطلاعات حفاظتشده سایت دسترسی داشته باشد. دیگر انواع حملات SQL Injection برای پاک کردن اطلاعات یا وارد کردن اطلاعات جدید در سایت به کار میرود.
هکرها در برخی موارد از ابزارهای خودکار برای اجرای حملات SQL Injection استفاده میکنند. این ابزارها هزاران سایت را بررسی کرده و انواع مختلفی از حملات SQL Injection را روی آنها امتحان میکنند تا در یک سایت رخنهای پیدا کنند. چنین حملات بهراحتی با فیلترکردن ورودیهایی که توسط کاربران به سایت داده میشود، قابلپیشگیری است. اغلب زبانهای برنامهنویسی توابعی برای کنترل ورودیهای کاربران دارند که با استفاده از آنها میتوان جلوی حملات SQL Injection را گرفت.
حملات XSS
XSS مخفف عبارت Cross-site scripting بوده که به معنای اسکریپتهای بین سایتی به کار میرود. این حملات ازجمله آسیبپذیریهای مهمی هستند که توسط هکرها مورد سوءاستفاده قرار میگیرند و مقابله با آنها هم چندان ساده نیست. جالب است بدانید برخی از بزرگترین وبسایتهای دنیا مثل گوگل و مایکروسافت هم با حملات موفق XSS مواجه شدهاند. اکثر حملات XSS از اسکریپتهای مخرب جاوا اسکریپتی استفاده میکنند که در لینکها پنهان میشوند. وقتی کاربر روی لینک کلیک کند، ممکن است اطلاعات شخصی او دزدیده شود، به صفحه دیگری برود، اکانت او دزدیده شود یا تبلیغات سایت برایش تغییر کند.
هکرها چنین لینکهایی را معمولاً در فرومها، سایتهای شبکه اجتماعی و دیگر سایتهای برجستهای که احتمال کلیک کاربر روی آنها زیاد باشد، قرار میدهند. برای پیشگیری از وقوع چنین حملاتی مدیر سایت باید ورودیهای کاربران به سایت را فیلتر کند.
حملات DDoS
حملات DDoS نوعی از حملات هکری هستند که در آنها ترافیک بالایی روانه سایت میشود تا سرورهای آن نتوانند پاسخ دهند و از کار بیفتند. بسیاری از حملات DDoS توسط کامپیتورهایی انجام میشود که بدافزار دارند. بدافزار در آنها نفوذ کرده و شروع به ارسال درخواستهای مکرر برای هک کردن سایت دیگران میکند. درحالیکه شاید خود صاحب این کامپیوتر از موضوع مطلع نباشد. وقتی تعداد کامپیوترها و حجم درخواستهای آنها بیشازحد توان سرورهای سایت شود، سایت از کار میافتد.
برای جلوگیری از چنین حملاتی باید از فایروال مخصوص حملات DDoS و ابزارهای دیگری که برای مقابله با آنها وجود دارد، استفاده کنید. همچنین میتوانید درخواستهای مکرر از یک آی پی را روی سرورهای خود فیلتر کرده یا نرخ ارسال درخواست به آنها را محدود کنید.
حملات CSRF
این نوع حملات هم از روشهای مرسوم هک کردن سایتها به شمار میروند که در آنها درخواست غیرمجاز از سوی کاربری که موردتایید سایت است، ارائه میشود. چنین کاربرانی به حساب کاربری خود در سایت مربوطه واردشده و به بخشهای حساس سایت دسترسی دارند. درنتیجه هکرها میتوانند از طریق آنها اطلاعات حساس سایت را سرقت کرده یا مثلاً نقل و انتقالات مالی انجام دهند. البته خود کاربر سایت از وقوع چنین اتفاقی باخبر نمیشود. مدیران سایتها برای مقابله با این نوع حملات باید هدر http را برای بررسی مبدأ ارسال درخواستها چک کنند. با این کار میتوانند مطمئن شوند که درخواست موردنظر از یکی از صفحات داخلی سایت ارسالشده، نه جایی خارج از سایت.
حمله از طریق DNS spoofing
این حملات از طریق جعل DNS اقدام به هک کردن سایتها میکنند. در این روش با جعل DNS سایت، کاربران آن به یک سایت دیگر منتقل میشوند، معمولاً سایت مقصد حاوی بدافزارهایی است که روی سیستم کاربران مینشیند و اطلاعات آنها را به دست میآورد. بهترین راه برای مقابله با این حملات هم کوتاه کردن زمان TTL سایت است.
بیشتر بخوانید: چگونه مشکل کندی سرعت سرور و وبسایت را برطرف کنیم؟
حمله از طریق مهندسی اجتماعی
همیشه رخنههای امنیتی از خود سایت رخ نمیدهند، بلکه در مواردی خود مدیران سایت عامل نفوذ به سایت میشوند. هکرها میتوانند با مدیران سایتها ارتباط بگیرند و اطلاعات موردنیاز برای ورود به قسمت مدیریت سایت را از آنها بگیرند. ازجمله روشهایی که برای این کار استفاده میشود میتوان به ارسال ایمیلهای جعلی برای دریافت اطلاعات، آلودهکردن یک حافظه فلش متعلق به مدیران سایت و سرقت اطلاعات از طریق آن و... اشاره کرد.
روشهای جلوگیری از هک کردن سایت
جلوگیری از هک شدن سایت آنقدرها کار سختی نیست. کافی است موارد امنیتی مرسوم را رعایت کنید، مواردی مثل به کاربردن زیرساختهای امنیتی برای سایت، استفاده از رمز عبورهای قوی و حفاظت از اطلاعات مهم سایت در این زمینه به شما کمک میکنند. اما در ادامه مهمترین روشهای جلوگیری از هک سایت برای سایتهای اختصاصی و وردپرسی را مرور میکنیم:
طراحی سایت با وردپرس توسط تیم وب 24
روشهای جلوگیری از هک کردن سایتهای اختصاصی
سایتهای اختصاصی بهطورمعمول از امنیت بالاتری برخوردار هستند زیرا کدنویسی آنها بهصورت اختصاصی انجامشده و باید زیرساختهای امنیتی برای آن در نظر گرفتهشده باشد. اما این دلیل نمیشود موارد امنیتی را برای آنها رعایت نکنید. مهمترین مواردی که برای حفظ امنیت سایت باید موردتوجه قرار دهید، در ادامه مرور میکنیم:
- از یک فایروال برای سایت استفاده کنید: هکرها بیشتر از آنکه بهصورت دستی برای نفوذ به سایت اقدام کنند، با استفاده از رباتهای برنامهنویسیشده این کار را انجام میدهند. استفاده از یک فایروال در سایت باعث کشف این رباتها و مسدودکردن آنها میشود.
- نام کاربری و رمز عبور قوی بسازید: اولین نکته امنیتی در کار با هر ابزار دیجیتالی استفاده از یک رمز عبور امن و قوی است. رمزعبور شما باید کاراکترهای زیادی داشته باشد که شامل حروف کوچک و بزرگ انگلیسی، اعداد و نشانهها باشد.
- گواهینامه SSL روی سایت نصب کنید: گواهینامه امنیتی SSL تا حد زیادی امنیت سایت شما را ارتقا میدهد. این پروتکل باعث میشود حتی اگر هکرها اطلاعات سایت شما را سرقت کردند، نتوانند محتوای آن را درک کنند. برای اطلاعات بیشتر میتوانید مقاله "بررسی تأثیر SSL در سئو" را مطالعه نمایید.
- فعالیتهای درون سایت را تحت نظر داشته باشید: برخی افراد فکر میکنند هکرها تنها یکبار به سایت وارد میشوند، اطلاعات موردنیاز خود را برداشته و درنهایت یک بدافزار روی آن نصب میکنند. اما این درست نیست، برخی هکرها ممکن است یک اکانت در سایتتان بسازند تا هر زمان که بخواهند وارد آن شوند. به همین دلیل باید همواره مراقب اکانتهای مدیریت سایت باشید. علاوه بر این تغییر تنظیمات بخصوص تنظیمات امنیتی را هم زیرنظر داشته باشید یا آن را تنها برای مدیر اصلی سایت فعال کنید.
- از سایت خود نسخه پشتیبان بگیرید: گرفتن نسخه پشتیبان از سایت به شما کمک میکند در صورت آسیب دیدن، بتوانید سایت خود را به سرعت برگردانید.
روشهای جلوگیری از هک کردن سایتهای وردپرسی
سایتهای وردپرسی زمینه بهتری برای هک شدن دارند، زیرا رخنههای آنها برای همه مشخص است و کدنویسی اختصاصی ندارند. برای جلوگیری از هک شدن سایت وردپرسی هم علاوه بر موارد گفتهشده، نکات زیر را رعایت کنید:
- از یک هاست امن استفاده کنید: یک هاست امن به شما این اطمینان را میدهد که اطلاعات وبسایت شما بهخوبی محافظت میشوند. بهتر است از هاستی استفاده کنید که از SSL پشتیبانی کند، فایروال مطمئن و قوی داشته باشد و امنیت سرورهای آن بالا باشد.وردپرس خود را بروزرسانی کنید: همیشه باید نسخه وردپرس خود را بروز نگه دارید، زیرا بهروزرسانیها معمولاً رخنههای امنیتی موجود را برطرف میکنند.
- افزونه امنیتی روی سایت خود نصب کنید: افزونههای امنیتی زیادی برای وردپرس وجود دارد که از سایت شما محافظت میکنند. این افزونهها حاوی فایروال بوده، مشکلات امنیتی سایت را مرتب چک میکنند و ورود و خروج کاربران سایت را زیر نظر دارند. Wordfence یکی از افزونههای رایگان امنیت وردپرس است که کمک زیادی به شما خواهد کرد.
- از قالب امن استفاده کنید: قالب سایت شما علاوه بر زیبایی باید امنیت هم داشته باشد. یک قالب امن بهصورت مرتب توسط سازنده بهروزرسانی میشود، کدنویسی آن بهصورت استاندارد انجامشده و بهدوراز رخنههای امنیتی است.
- ویرایش فایل وردپرس را غیرفعال کنید: وردپرس قسمتی در داشبورد خود دارد که به مدیر سایت امکان ویرایش کدهای سایت را میدهد. هرچند این قابلیت بسیار خوبی است اما میتواند توسط هکرها مورد سوءاستفاده قرار گیرد. بهتر است این ویژگی را غیرفعال کنید تا سایت امنتری داشته باشید. برای این کار کد زیر را در فایل wp-config.php قرار دهید:
;define (‘DISALLOW_FILE_EDIT’, true )
اقدامات لازم پس از هک کردن سایت
اگر به هر دلیلی سایت شما مورد حمله قرار گرفت و متوجه هک شدن آن شدید، قبل از هر چیز آرامش خود را حفظ کنید. در اینگونه موارد بهتر است ابتدا با قسمت پشتیبانی سایت یا برنامهنویس آن تماس گرفته و از آنها کمک بخواهید. برای آنکه تیم پشتیبانی یا برنامهنویس شما بتواند به شما کمک کند، نیاز به اطلاعاتی دارد. مواردی از قبیل اطلاعات ورود به سیستم مدیریت محتوا، اطلاعات ورود به مدیریت هاست، اطلاعات دسترسی به ftpسایت و همچنین نسخههای پشتیبان موجود را آماده کرده و در اختیار آنها قرار دهید.
بهتر است تا زمان رفع مشکل سایت خود را از دسترس خارج کنید. معمولاً در قسمت کنترل پنل هاست امکان خارج کردن سایت از مدار وجود دارد، میتوانید از این امکان استفاده کرده و سایت را تا زمان رفع مشکل از دسترس خارج کنید. علاوه بر اینکه برای رفع مشکل در سایت اقدام میکنید، باید سیستم شخصی خود و بقیه سیستمهایی را که از آنها به مدیریت سایت دسترسی داشتهاید، برای وجود ویروس یا هر بدافزاری چک کنید.
حملات SQL Injection، حملات XSS، حملات DDoS، حملات CSRF، حمله از طریق DNS spoofing و حمله از طریق مهندسی اجتماعی از جمله روش های هک کردن سایت هستند.
جلوگیری از هک شدن سایت آنقدرها کار سختی نیست. کافی است موارد امنیتی مرسوم را رعایت کنید، مواردی مثل به کاربردن زیرساختهای امنیتی برای سایت، استفاده از رمز عبورهای قوی و حفاظت از اطلاعات مهم سایت در این زمینه به شما کمک میکنند.