آموزش رزبری پای امنیت تکنولوژی رزبری پای

هفت راهکار مهم برای ارتقای امنیت برد رزبری پای Raspberry Pi

نوشته شده توسط سید محمد عقیق, معین صابری

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

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

 


۱- تغییر اطلاعات ورود رزبری پای


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

در ادامه، مطابق آنچه که در ویدئو بیان شد، یک نام کاربری جدید، با دستور زیر ایجاد خواهیم نمود.
تغییر نام کاربری و گذرواژه پیش فرض برد رزبری پای - دیجی اسپارک

 


۲- به روز رسانی مداوم سیستم عامل


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

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

به روز رسانی سیستم عامل رزبری پای - دیجی اسپارک

در ادامه برای بروزرسانی بسته های نصب شده، می توانید از دستور زیر استفاده نمایید.

چنانچه قصد دارید تا علاوه بر بسته ها، سیستم عامل نیز بروز شود، می بایست از دستور زیر استفاده نمایید.
دستور Upgrade در سیستم عامل رزبری پای - دیجی اسپارک

 


۳- نصب و راه اندازی Fire Wall


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

نصب نرم افزار فوق برای امنیت برد رزبری پای، به تنهایی کافی نیست. به کمک این نرم افزار، می بایست دسترسی به پورت ها را محدود نماییم. به عبارت دیگر، راه ورود به یک سیستم، از طریق پورت صورت می گیرد. با تعیین اجازه ورود توسط نرم افزار ufw، می توانیم ورود به سیستم را کنترل نماییم. به نظر می رسد برای ادامه این مطلب، کمی در رابطه با مفهوم پورت بحث نماییم و سپس مطلب را ادامه دهیم.

نصب Firewall در رزبری پای - دیجی اسپارک

 


مفهوم پورت در شبکه


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

مفهوم پورت در شبکه - امنیت در رزبری پای - دیجی اسپارک

 

مطابق سناریو فوق، ارتباط دو کامپیوتر با یکدیگر از طریق پورت و آدرس آی پی میسر می شود. به عنوان مثال، فرض کنید که قصد بارگزاری یک عکس بر روی یک سرور را دارید. برای اتصال به سرور، شما می بایست آدرس آی پی آن را داشته باشید. اما برای بارگزاری عکس، صرف داشتن آپی پی، کافی نیست، بلکه شما می بایست از پروتکل خاص بارگزاری فایل،FTP استفاده نمایید. بنابراین می بایست با پورت مخصوص FTP که معمولا عدد ۲۱ است ارتباط برقرار نموده و عکس خود را آپلود نمایید. در اینجا، آدرس آی پی همانند آدرس پستی و نام پورت همان نام گیرنده است.

 

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

تا به اینجای کار، هنوز دیواره آتش ما فعال نشده است. برای فعال سازی آن، می بایست مطابق دستور زیر عمل نماییم.

 


۴- نصب سرویس Fail2ban


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

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

نصب سرویس Fail2Ban در برد رزبری پای - دیجی اسپارک

در نهایت با دستور زیر می توانید سرویس را فعال نمایید.

 


۵- تغییر پورت پیش فرض SSH


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

مطابق آنچه که در ویدیو مشاهده کردید، شماره پورت SSH را از ۲۲ به عدد دلخواه تغییر دهید. حتی می توانید در این فایل، دسترسی به نام کاربری های مشخصی را مجاز دانسته و مابقی نام کاربری ها را از دسترسی، مسدود نمایید. این کار به کمک دستور زیر انجام می شود.
تغییر پورت پیش فرض SSh در رزبری پای - دیجی اسپارک

در نهایت، با توجه به آنچه که در ویدیو بیان شد، مطابق دستور زیر می توانید سرویس SSH را مجددا راه اندازی نمایید.

 


۶- غیر فعال کردن رابط کاربری اضافی


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

با دستور فوق، منوی تنظیمات رزبری پای به نمایش در می آید.

تنظیمات برد رزبری پای raspi-config - دیجی اسپارک

مطابق ویدیو، وارد قسمت Interfacing Options شده و رابط کاربری مورد نظر را بسته به نیاز خود، غیر فعال نمایید. به عنوان مثال، با غیر فعال سازی رابط کاربری وای فای، می توانیم از نفوذ هکر هایی که قصد دارند تا از این طریق به رزبری نفوذ نمایند، جلوگیری نماییم.

 


۷- مانیتورینگ پورت‌ها و سرویس‌ها


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

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

 


جمع بندی نهایی


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

 

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

 

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

سید محمد عقیق

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

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه

۲ دیدگاه

  • با سلام
    علت به روز رسانی مداوم چیست؟هر سری من به تغییراتی که ممکنه پیش بیاد فکر میکنم و پشیمون میشم

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