در این مقاله برای شما 5 راهکار برای ایمن سازی Raspberry Pi آماده کرده ایم. در ادامه با این پنج راهکار و همچنین روش فعالسازی آنها آشنا خواهید شد.
همراه ما باشید.
اهمیت ایمن سازی رزبری پای
امنیت رزبری پای بسیار مهم است، شکاف های امنیتی راه ورود به رزبری شما را برای هکر ها باز می گذارد و می توانند بدون اجازه شما از آن استفاده کنند. بر اساس نوع استفاده شما از رزبری پای سطح امنیت شما می تواند متفاوت باشد. به عنوان مثال اگر از رزبری پای در شبکه خانگی با firewall و روتر استفاده می کنید امنیت کامل برقرار است.
اما درصورتی که رزبری پای خود را به اینترنت متصل می کنید (اتصال مستقیم یا با پروتکل های خاص از طریق firewall روتر) نیاز به اعمال برخی مسائل امنیتی دارید.
راه های ایمن سازی Raspberry Pi
- تغییر رمز عبور پیش فرض
- تغییر نام کاربری
- بهبود امنیت SSH
- نصب firewall
- ایجاد رمز عبور برای sudo
حالا که با روش های ایمن سازی رزبری پای آشنا شدیم می توانیم نسبت به اعمال این تنظیمات اقدام کنیم.
تغییر رمز عبور پیش فرض
نام کاربری و رمز عبور تمام رزبری پای هایی که از سیستم عامل رزبین استفاده می کنند مشابه است پس اگر به یک رزبری پای دسترسی دارید و تنظیمات اولیه تغییر نکرده اند به راحتی میتوانید در این بورد دسترسی root داشته باشید. بنابراین اولین اقدام لازم تغییر رمز عبور است .
این کار را به دو روش می توانید انجام دهید:
- استفاده از ابزار raspi-config
- استفاده از دستور passwd در خط فرمان
تغییر نام کاربری
با تغییر نام کاربری می توانید رزبری پای ایمن تری داشته باشید .نام کاربری پیش فرض تمام رزبری ها pi است بنابراین لازم است آن را تغییر دهید. با اجرای دستور sudo adduser alice کاربری جدید ایجاد میشود و خط فرمان شما را برای ایجاد رمز عبور کاربر جدید هدایت میکند. آدرس home کاربر جدید /home/alice/ خواهد بود.
برای اضافه کردن کاربر جدید به گروه مدیران و دادن دسترسی sudo و دیگر مجوز های لازم دستور زیر را اجرا کنید:
sudo usermod -a -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,gpio,i2c,spi alice
برای بررسی صحیح بودن دسترسی ها می توانید از دستور زیر استفاده کنید:
sudo su - alice
وقتی از کارکرد صحیح کاربر جدید مطمئن شدید می توانید کاربر pi را حذف کنید. برای این کار ابتدا باید فعالیت های آن را با دستور زیر متوقف کنید:
sudo pkill -u pi
توجه داشته باشید که برخی از نسخه های سیستم عامل رزبری پای نیازمند وجود کاربر pi هستند، بنابراین اگر احتمال می دهید این موضوع برای شما مهم است کاربر pi را نگه دارید.
بعد از حذف وابستگی های کاربر Pi با دستور sudo deluser pi، کاربر Pi حذف می شود.
دستور ذکر شده کاربر را حذف می کند اما هنور آدرس /home/pi وجود دارد بنابراین اگر لازم می دانید می توانید با دستور زیر کاربر و آدرس home آن را همزمان حذف کنید:
sudo deluser -remove-home pi
بهبود امنیت SSH
SSH یک راه معمول برای ارتباط از راه دور به رزبری پای است. به طور پیش فرض استفاده از SSH نیاز به نام کاربری و رمز عبور دارد ولی برای ایجاد امنیت بیشتر روش های دیگری نیز وجود دارد.
بهبود امنیت نام کاربری و رمز عبور:
مهم ترین اقدام در زمینه امنیت انتخاب رمز عبور قدرتمند است. همچنین می توانید دسترس و یا عدم دسترسی کاربری خاصی را با SSHD تغییر دهید:
sudo nano /etc/ssh/sshd_config
دستور زیر را به انتهای فایل بالا اضافه کنید:
AllowUsers alice bob
این دستور اجازه ورود برای کاربر های alice و bob صادر می کند. همچنین با دستور DenyUsers و استفاده از آن به شکل گفته شده می تواند از ورود کاربرها جلوگیری کنید.
بعد از انجام تغییرات باید سرویس SSHD را با دستور sudo systemctl restart ssh راه اندازی مجدد کنید و یا می توانید رزبری را برای اعمال تغییرات راه اندازی مجدد کنید.
استفاده از شناسایی با کلید
کلید های عمومی و خصوصی از روش های رمزنگاری امن هستند و می توانند برای شناسایی سرویس گیرنده در سرور SSH استفاده شوند.سرویس گیرنده دو کلید تولید می کند که با رمزنگاری با یکدیگر مرتبط هستند. کلید عمومی می تواند منتشر شود ولی کلید خصوصی هرگز نباید در دسترسی کسی قرار بگیرد. سرور SSH از کلید عمومی یک کپی تهیه می کند و هر وقت لازم بود از این کلید به عنوان سوال شناسایی سرویس گیرنده استفاده می کند و سرویس گیرنده در پاسخ باید کلید خصوصی را ارائه دهد. در صورتی که سرور بتواند پاسخ سوال را رمز گشایی کند، سرویس گیرنده شناسایی شده و دسترسی داده می شود.
تولید کلید ها در لینوکس با استفاده از دستور ssh-keygen در سرویس گیرنده انجام می شود و کلید ها در فایل ssh در آدرس home کاربر ذخیره می شوند. کلید خصوصی با نام id_rsa و کلید عمومی با نام id_rsa_pub نامگذاری می شوند.
پس از شناسایی کلید ها، لازم است رمز های ورود را غیر فعال کنید :
sudo nano /etc/ssh/sshd_config
سه خط زیر باید به NO تغییر کنند:
ChallengeResponseAuthentication no PasswordAuthentication no UsePAM no
فایل را ذخیره و سرویس SSH را بادستور sudo service ssh reload راه اندازی مجدد کنید.
نصب firewall
Firewall های مختلفی برای لینوکس وجود دارد که اساسی ترین آنها پروژه iptables می باشد. این پروژه سیستم فیلتر شبکه لینوکس را پوشش می دهد. Iptables به طور پیش فرض روی سیستم عامل رزبری پای نصب است اما تنظیم نیست و تنظیم آن می تواند کار پیچیده ای باشد.
پروژه UFW(Uncomplicated Fire Wall) رابط ساده تری را برای iptables ارائه می دهد که در اوبونتو نصب بوده و به راحتی می تواند در رزبری پای نیز نصب شود:
sudo apt install ufw
ufw علاوه بر سادگی دستورات خط فرمان دارای GUI نیز می باشد.
برای فعال سازی Firewall از دستور sudo ufw enable و برای غیر فعال سازی آن از دستور sudo ufw disable استفاده می شود. دستور زیر برای ایجاد دسترسی به پورت مورد نظر (در اینجا پورت 22):
sudo ufw allow 22
برای منع دسترسی پورت مورد نظر دستور زیر را وارد کنید:
sudo ufw deny 22
همچنین دستور زیر برای ایجاد یا منع دسترسی یک سرویس روی یک پورت :
sudo ufw deny 22/tcp
دستور status تمام تنظیمات انجام شده برای firewall را نمایش می دهد:
sudo ufw status
دستور زیر اتصال یک آدرس IP را بعد از 6 بار تلاش برای ورود با استفاده از TCP روی پورت SSH را به مدت 30 ثانیه محدود می کند.
sudo ufw limit ssh/tcp
برای منع دسترسی IP ذکر شده از پورت 30 دستور زیر را اجرا کنید:
sudo ufw deny from 192.168.2.1 port 30
ایجاد رمز عبور برای sudo
استفاده از sudo در ابتدای تنظیمات به طور پیش فرض نیازی به رمز عبور ندارد اما برای امنیت بیشتر به خصوص وقتی رزبری پای به اینترنت متصل است، بهتر است استفاده از رمز عبور برای استفاده از sudo را اجباری کنید. برای این کار دستور زیر را وارد کنید:
sudo visudo /etc/sudoers.d/010_pi-nopasswd
و Pi را با دستور زیر جایگزین کنید:
pi ALL=(ALL) PASSWD: ALL
سپس فایل را ذخیره کنید.