پوسته امن
|
|
برای اثباتپذیری کامل این مقاله به منابع بیشتری نیاز است یا منابع ارائهشده بهدرستی ارجاع داده نشدهاند. لطفاً با توجه به شیوهٔ ویکیپدیا برای ارجاع به منابع با ارایهٔ منابع معتبر این مقاله را بهبود بخشید. مطالب بیمنبع در آینده مردود و حذف خواهندشد. |
|
|
این مقاله نیازمند تمیزکاری است. لطفاً تا جای امکان آنرا از نظر املا، انشا، چیدمان و درستی بهتر کنید، سپس این الگو را از بالای مقاله بردارید. محتویات این مقاله ممکن است غیر قابل اعتماد و نادرست یا جانبدارانه باشد یا قوانین حقوق پدیدآورندگان را نقض کرده باشد. |
| مجموعه پروتکل اینترنت | |
|---|---|
| لایه کاربرد | |
|
BGP · DHCP · DNS · FTP · GTP · HTTP · IMAP · IRC · LDAP · Megaco · MGCP · NNTP · NTP · POP · RIP · RPC · RTP · RTSP · SDP · SIP · SMTP · SNMP · SOAP · SSH · Telnet · TLS/SSL · XMPP · (بیشتر) |
|
| لایه انتقال | |
|
TCP · UDP · DCCP · SCTP · RSVP · ECN · (بیشتر) |
|
| لایه اینترنت | |
|
IP (IPv4, IPv6) · ICMP · ICMPv6 · IGMP · IPsec · (بیشتر) |
|
| لایه پیوند | |
|
ARP/InARP · NDP · OSPF · Tunnels (L2TP) · PPP · زیرلایه نظارت بر دسترسی به رسانه انتقال (اترنت, خط اشتراک دیجیتال, ISDN, FDDI) · (بیشتر) |
|
پوسته امن (به انگلیسی: Secure Shell) یا به اختصار اساساچ (به انگلیسی: SSH) یک پروتکل اینترنتی است که امکان تبادل اطلاعات با استفاده از یک کانال امن را بین دو دستگاه متصل در شبکه ایجاد میکند. دو نسخه اصلی این پروتکل به نامهای SSH1 یا SSH-1 و SSH2 یا SSH-2 شناخته می شود. در ابتدا بر روی سیستمهای با پایه یونیکس و لینوکس برای دسترسی به حسابهای پوسته استفاده شد، اساساچ جایگزنی برای تلنت و سایر پوستههای ارتباط از راه دور غیر امن ایجاد شده است.
به عنوان یک تعریف بسیار ساده میتوان SSH را این گونه بیان کرد : SSH یک روش قدرتمند و پر استفاده و البته نرمافزاری است که برای دستیابی به امنیت شبکه طراحی شده است. هربار که دادهای از طرف کامپیوتر به شبکه فرستاده میشود، به صورت خودکار توسط SSH کدگذاری میشود. هنگامی که داده به مقصد خود میرسد به صورت خودکار کدگشایی میشود. نتیجهای که خواهد داشت کدگذاری نامرئی خواهد بود. بدین صورت کاربران نهایی درگیر پروسه کدگذاری و کدگشایی نخواهند شد و از ارتباط امن خود میتوانند به خوبی استفاده کنند. امنیت سیستم کدگذاری SSH با استفاده از الگوریتمهای پیچیده و مدرن تضمین میشود. تا آنجا که امروزه در سیستمهای حیاتی و بسیار حساس از این سیستم استفاده میشود. به صورت معمول محصولاتی که از SSH استفاده میکنند از دو بخش خادم و مخدوم ( Client/Server ) تشکیل میشوند. Clientها با استفاده از تنظیمات سرور مربوطه به آن وصل میشوند و سرور وظیفه تایید هویت و قبول و یا رد ارتباط را به عهده دارد.
نکته ای که باید توجه داشته باشید تشابه نام Secure Shell با محیط هایی مانند Bourne shell و یا C Shell نشان دهنده این نیست که SSH نیز محیطی است که وظیفه تفسیر فرامین برای سیستمعامل را بر عهده دارد.
با اینکه SSH تمامی مشکلات را حل نخواهد کرد، اما در مورد بسیاری از موارد میتواند راه حل مناسبی باشد. برخی از این موارد عبارتند از :
- یک پروتکل کلاینت /سرور امن برای کدگذاری و انتقال داده ها در شبکه.
- تعیین هویت کاربران به وسیله کلمه عبور ، host ، public key و یا استفاده از Kerberos،PGP و یا PAM
- قابلیت امن کردن برنامه های ناامن شبکه مانند Telnet ، FTP و در کل هر برنامهای که بر اساس پروتکل TCP/IP بنا شده است.
- بدون هیچ تغییر در استفاده کاربر نهایی ( End User ) پیاده شده و قابلیت پیاده سازی بر روی بیشتر سیستم عامل ها را دارد.
و اما چگونه این ارتباط را امن نگه داریم .
قدم قدم محدود کردن دسترسی کاربران و کاربر ROOT به SSH است . اگر شما بر روی سرور خود چند کاربر را پشتیبانی و میزبانی میکنید، برای امنیت بیشتر فقط به کسانی دسترسی به SSH بدهید که شما تمایل دارید آنها دسترسی داشته باشند .
ابتدا یک یا چند نام کاربری با دستور زیر ایجاد کنید:
کد:
useradd javad
به جای javad نام کاربری دلخواه را وارد کنید و با تکرار آن می تونید نام کاربری دیگری نیز اضافه نمایید .
تا اینجا نام کاربری مشخص شده است حال برای نسبت دادن کلمه عبور به کابر یا کابرهای ساخته شده از دستور زیر استفاده میکنیم :
passwd pass
پس از اجرای دستور بالا سیستم از شما می خواهد که کلمه عبور را وارد نمایید و اینکار 2 مرتبه تکرار می شود .
نکته اینکه برای امنیت همواره از کلمات ساده برای رمز استفاده نکنید . مثلا معمولا عادت داریم پسورد ساده تشکیل شده از چند عدد یا حرف یا سال تولد یا اینکه کلمات نزدیک به کیورد مثل 123456 را انتخاب میکنیم . فلسفه این است که همواره رمزی انتخاب کنید که قابل حدس زدن نباشد نه اینکه یادآوری آن برای شما آسان باشد ! پس برای سرور خود از کلمات و کارکترهای مثل $ % ^ * استفاده کنید تا رمز گشای آن توسط Craker ها غیر ممکن شود.
در ادامه کار باید فایل /etc/ssh/sshd_config را با دستور زیر باز کنید :
nano /etc/ssh/sshd_config
و بعد به وسیله کد زیر نام کاربرانی که مجوز استفاده از SSH رو دارن مشخص کنید .
AllowUsers javad reza omid
نکته بعدی اینکه SSH از دو Protocol می تواند استفاده کند یکی Protocol 1 و دیگری Protocol 2 که Protocol 1 بابت اینکه قدیمی تر از Protocol 2 هست از امنیت کمتری برخودار هست . برای اینکار خط زیر که معمولا در اویل فایل sshd_config هست را مثل زیر تغییر دهید :
# Protocol 2,1 Protocol 2
بعد اینکه حتما پورت SSH را تغییر دهید . در حالت کلی این پورت 22 هست . برای اینکه هکرها با اسکن کردن پورت 22 نتوانند ورود به SSH را رمزگشای کنن این پورت رو به یک عدد مثلا 24456 تغییر بدین . نکته ای که باید توجه کنید اینکه پورت انتخابی شما نباید توسط سرویس های دیگری که روی سیستمعامل نصب هست مورد استفاده باشد .
اگر همیشه هنگام اتصال به اینترنت یک ای پی مختص به خود دارید و به عبارتی دیگر آی پی شما همواره یکتا یا dedicated هست میتوانید به فایرول سیستم خود بگویید که تنها ای پی شما اجازه دارد به پورت SSH وصل شود که اینکار امنیت اتصال رو بسیار بالا خواهد بود .
iptables -A INPUT -p tcp -s 127.0.0.1 --dport 22 -j ACCEPT
در مثال بالا به جای 127.0.0.1 ای پی اتصال خود به اینترنت رو وارد کنید و به جای 22 پورت اتصالی به SSH رو که مشخص کردین وارد کنید اگر هم اون رو تغییر ندادین که نیازی نیست [۱]
منابع [ویرایش]
- ↑ mehrtalk.com
- سایت mehrtalk.com
|
|||||||||||
|
|||||||||||||||||||||||