دولوپرها اکثراً با پورتهایی همچون ۸۰ برای Web Server و یا پورت 21 برای FTP و غیره آشنایی دارند و نیاز به توضیح نیست که برای ارتباطات امن ریموت هم از SSH با پورت پیشفرض ۲۲ استفاده میشود. متنی که در ادامه میخوانید ماجرایی است به قلم Tatu Ylonen، خالق SSH، در مورد نحوهٔ اختصاص یافتن پورت شماره 22 به این پروتکل که در نوع خود، داستانی جالب است.
من Tatu Ylonen، خالق SSH، نسخۀ اولیۀ SSH را در بهار سال 1995 نوشتم که در آن زمان Telnet و FTP کاربرد فراوانی داشتند اما SSH را طراحی کردم تا آن را جایگزین این دو فناوری کنم و این در حالی بود که پورت شمارۀ 23 به Telnet و پورت شمارۀ 21 به FTP اختصاص داده شده بود و پورت شماره 22 که در بین این دو بود، هنوز آزاد بود. با خود فکر کردم داشتن پورت شماره 22 یکی از آن مواردی است که علیرغم اینکه خودش اهمیت خاصی ندارد اما میتواند به نوعی مایۀ اعتبار دارندهاش باشد؛ اما چهطور میتوانستم به دستش بیاورم؟
تا آن زمان برای اخذ هیچ پورتی اقدام نکرده بودم و تجربهای در این زمینه نداشتم اما کسی را میشناختم که این کار را کرده بود و با فرآیندش آشنا بود و از وی برای این کار راهنمایی گرفتم. به طور کلی، در گذشته مراحل اصلی به دست آوردن یک پورت نسبتاً ساده بود زیرا اینترنت کوچکتر بود و ما هنوز در مراحل اولیۀ فراگیر شدنش بودیم.
شماره پورتها توسط Internet Assigned Numbers Authority یا IANA اختصاص داده میشد و در آن زمان این پست متعلق به پیشگامان اینترنت مانند Jon Postel و Joyce K. Reynolds بود. جان علاوه بر مسئولیتهای دیگر، ویرایش استاندارد پروتکلهای کوچک مانند (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 <ylo@cs.hut.fi>
To: Internet Assigned Numbers Authority <iana@isi.edu>
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 <ylo@cs.hut.fi>
... 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: jkrey@ISI.EDU
To: ylo@cs.hut.fi
Subject: Re: request for port number
Cc: iana@ISI.EDU
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 را به مِیلینگ لیست cypherpunks@toad.com ارسال نمودم. همچنین این اعلامیه را برای چند گروه خبری، لیستهای پستی و افراد خاصی که در اینترنت در موضوعات مشابهی بحث نموده بودند ارسال کردم و به این شکل بود که پروتکل امن، کاربردی و اثربخش SSH در اختیار سیسادمینها قرار گرفت.