دولوپرها اکثراً با پورتهایی همچون ۸۰ برای Web Server و یا پورت 21 برای FTP و غیره آشنایی دارند؛ میدانیم که برای ارتباطات امن ریموت هم از SSH با پورت پیشفرض ۲۲ استفاده میشود. متنی که در ادامه میخوانید، ماجرایی است به قلم Tatu Ylonen -مبتکر Secure Sell یا بهاختصار SSH- در مورد نحوهٔ اختصاص یافتن پورت شماره 22 به این پروتکل که در نوع خود، داستانی جالب است.
من نسخۀ اولیۀ SSH را در بهار سال 1995 نوشتم؛ در آن زمان Telnet و FTP کاربرد فراوانی داشتند. من SSH را طراحی کردم تا آن را جایگزین این دو فناوری کنم و این در حالی بود که پورت شمارۀ 23 به Telnet و پورت شمارۀ 21 به FTP اختصاص داده شده بود و پورت شماره 22 که در بین این دو بود، هنوز آزاد بود.
با خود فکر کردم داشتن پورت شماره 22 یکی از آن مواردی است که علیرغم این که خود اهمیت خاصی ندارد اما میتواند بهنوعی مایۀ اعتبار دارندۀ خود باشد. اما چهطور میتوانستم به دستش بیاورم؟ خودم تا آن موقع هیچ پورتی را بهخود اختصاص نداده بودم و تجربهای در این زمینه نداشتم اما کسی را میشناختم که این کار را کرده بود و با فرآیند آن آشنا بود و از وی برای این کار راهنمایی گرفتم.
در آن زمان، مراحل اصلی اختصاص دادن پورت نسبتاً ساده بود؛ اینترنت کوچکتر بود و ما هنوز در مراحل اولیۀ فراگیر شدن اینترنت بودیم. شماره پورتها توسط Internet Assigned Numbers Authority یا IANA اختصاص داده میشد. در آن زمان، این پست متعلق به پیشگامان اینترنت مانند جان پاستل و جویس.ک رینولدز بود. جان علاوه بر مسئولیتهای دیگر، ویرایش استاندارد پروتکلهای کوچک مانند (IP (RFC 791) ،ICPM (RFC 792 و (TCP (RFC 793 را نیز برعهده داشت.
جان -بهعنوان کسی که همۀ RFC های مهم اینترنت را نوشته بود- برای من ترسناک بهنظر میرسید! به هر حال، درست قبل از انتشار ssh-1.0 در ماه جولای سال 1995، ایمیلی با این مضمون را به IANA ارسال کردم:
From ylo Mon Jul 10 11:45:48 +0300 1995 From: Tatu Ylonen <[email protected]> To: Internet Assigned Numbers Authority <[email protected]> Subject: request for port number Organization: Helsinki University of Technology, Finland Dear Sir, I have written a program to securely log from one machine into another over an insecure network. It provides major improvements in security and functionality over existing telnet and rlogin protocols and implementations. In particular, it prevents IP, DNS and routing spoofing. My plan is to distribute the software freely on the Internet and to get it into as wide use as possible. I would like to get a registered privileged port number for the software. The number should preferably be in the range 1-255 so that it can be used in the WKS field in name servers. I'll enclose the draft RFC for the protocol below. The software has been in local use for several months, and is ready for publication except for the port number. If the port number assignment can be arranged in time, I'd like to publish the software already this week. I am currently using port number 22 in the beta test. It would be great if this number could be used (it is currently shown as Unassigned in the lists). The service name for the software is "ssh" (for Secure Shell). Yours sincerely, Tatu Ylonen <[email protected]> ... followed by protocol specification for ssh-1.0
سرور گرامی،
من برنامهای برای ورود امن از یک دستگاه به دستگاه دیگر نوشتهام که دستگاه را از ناامنی شبکه حفظ میکند؛ این برنامه نسبت به پروتکلهای موجود مانند telnet و rlogin از امنیت و کارایی بیشتری برخوردار است و بهطور خاص از شنود شدن آیپی، دیاناس و … توسط افراد سودجو، جلوگیری میکند. من تصمیم دارم تا این پروتکل را بهصورت رایگان در اینترنت منتشر نموده و به این ترتیب امکان استفادۀ گسترده از آن را فراهم نمایم.
از این رو خواهان تخصیص یک شماره پورت خاص و ویژه به این پروتکل هستم. از آنجا که این شماره باید در فیلد WKS در Name Serverها استفاده شود، لازم است که عددی بین 1 تا 255 باشد.
پیشنویس RFC این پروتکل در ذیل این درخواست آمده است. نرمافزار مذکور پیش از این چندین ماه بهصورت لوکال مورد استفاده قرار داشته و اکنون به جز شمارۀ پورت، همه چیز برای انتشار آن آماده است. اگر تمهیداتی اندیشیده شود تا اختصاص شمارۀ پورت در کمترین زمان صورت گیرد، انتشار نرمافزار در هفتۀ جاری امکان پذیر خواهد شد. من در حال حاضر از پورت شمارۀ 22 در تست نسخۀ بتای این نرمافزار استفاده نمودهام و بسیار خرسند خواهم شد اگر همین شماره برای من در نظر گرفته شود (لازم به ذکر است که این شماره هنوز به چیزی اختصاص داده نشده است.)
نام سرویس این نرمافزار SSH (مخفف Secure Shell) است.
ارادتمند شما،
تاتو یلونن
و در ادامۀ این درخواست ویژگیهای پروتکل SSH-1.0 را ذکر نموده بودم؛ فردای آن روز، ایمیلی از جویس دریافت کردم با این مضمون:
Date: Mon, 10 Jul 1995 15:35:33 -0700 From: [email protected] To: [email protected] Subject: Re: request for port number Cc: [email protected] Tatu, We have assigned port number 22 to ssh, with you as the point of contact. Joyce
تاتو،
همان طور که خواسته بودید، پورت شمارۀ 22 را به شما اختصاص دادیم.
جویس
به همین راحتی، پورت 22 به SSH اختصاص یافت! در ۱۲ام جولای سال 1995 در ساعت 2 و 32 دقیقۀ صبح، نسخۀ بتای نهایی را برای افرادی که قرار بود در دانشگاه صنعتی Helsinki این نسخه را برای من تست کنند، ارسال نمودم. در ساعت 5 و 23 دقیقۀ بعد از ظهر پکیجهای SSH- 1.0.0 را برای تسترها فرستادم. در ساعت 5 و 51 دقیقۀ بعد از ظهر روز ۱۲ام سال 1995 اطلاعیهای در مورد SSH را به لیست ایمیل [email protected] ارسال نمودم. همچنین این اعلامیه را برای چند گروه خبری، لیستهای پستی و افراد خاصی که در اینترنت در موضوعات مشابهی بحث نموده بودند ارسال کردم.
و به این شکل بود، پروتکل امن، کاربردی و اثربخش SSH در اختیار سیسادمینها قرار گرفت.
جالب بود
ممنون،جالب بود.
خیلی خوب بود