نحوه کار امنیت اینترنت : TLS ، SSL و CA
پشت نماد قفل در مرورگر وب شما چه ماجراییست؟
شما بارها و بارها در طول روز ممکن است ، به وب سایت هایی مراجعه کنید که از شما می خواهند با نام کاربری یا آدرس ایمیل و رمز عبور خود وارد شوید.وب سایت های بانکی ، سایت های شبکه های اجتماعی ، خدمات ایمیل ، سایت های تجارت الکترونیکی ، سایت های خبری و حتی سایت های ارایه دهنده خدمات هاست و دامنه و گواهینامه امنیتی مثل ما , فقط تعداد انگشت شماری از انواع سایتهایی هستند که از این مکانیسم استفاده می کنند.
خیلی وقت ها که وارد یکی از این سایتها می شوید ، در اصل طی فرآیند موافقت با اصول و قوانین آن سایت اعلام می کنید که “بله ، من به این وب سایت اعتماد دارم ، بنابراین می خواهم اطلاعات شخصی خود را با آن به اشتراک بگذارم.”این داده ها ممکن است شامل نام ، جنسیت ، آدرس فیزیکی ، آدرس ایمیل و یا در مواردی حتی اطلاعات کارت اعتباری شما باشد.
اما چطور می توانیم با اطمینان خاطربه یک وب سایت خاص اعتماد کنیم؟باید دید آن وب سایت برای انجام معاملات خود با کاربرانش و نحوه تراکنشات مالی خود چه کاری انجام داده است تا ما بتوانیم به آن اعتماد کنیم؟
این مقاله با این هدف نوشته شده است تا مجدد تعریفی از مکانیسم هایی که وب سایت را ایمن می کند به شما ارایه دهد.من با بحث در مورد پروتکل های وب HTTP و HTTPS و مفهوم( Transport Layer Security (TLS که یکی از پروتکل های رمزنگاری شده در لایه های پروتکل اینترنت (IP) است ، شروع می کنم.سپس ، در مورد (CA) ها و گواهینامه های self-signed و نحوه کمک آنها به امنیت وب سایت توضیح می دهم. و در آخر چند ابزار منبع باز را که می توانید برای ایجاد و مدیریت گواهینامه ها استفاده کنید معرفی می کنم.
ایمن سازی مسیرها از طریق HTTPS
ساده ترین راه برای درک یک وب سایت امن ، مشاهده نحوه کارآن درعمل است.خوشبختانه ، امروزه یافتن وب سایت ایمن بسیار ساده تراز وب سایت های ناامن در اینترنت است.اما ، از آنجا که شما در حال حاضر در سایت ما , use-ssl.com هستید ، من از آن به عنوان نمونه در این مقاله استفاده می کنم.خب مهم نیست الان از چه مرورگری استفاده می کنید ، باید نمادی را که شبیه به قفل و در کنار نوار آدرس است مشاهده کنید.
به طور پیش فرض ، اگر وب سایتی از پروتکل HTTP استفاده می کند ، یک وب سایت ایمن نیست.
افزودن گواهی نامه تنظیم شده از طریق هاست به مسیر وب سایت می تواند وب سایت شما را از یک سایت HTTP نا امن به یک سایت HTTPS امن تبدیل کند.
نماد قفل که پیش تر در موردش گفتیم در واقع نشانگر امنیت سایت از طریق HTTPS است.اگر هنوز برای سایت خود گواهینامه امنیتی SSL تهیه و نصب نکرده اید می توانید از اینجا سفارش دهید.برای دیدن CA سایت ما روی قفل امنیتی در آدرس بار و سپس گزینه certificate کلیک کنید.بسته به نوع مرورگر ، ممکن است لازم باشد گواهی را برای دیدن آن دانلود کنید.
از این قسمت و همچنین بخش details می توانید اطلاعاتی دیگر در مورد صادرکننده گواهینامه,تاریخ صدور و پایان آن و اینکه برای چه شرکتی و با چه نام دامنه ای صادر شده است را مشاهده نمایید.این اطلاعات کاربر را قادر می سازد تا ایمن یا نا امن بودن وب سایت را بررسی کند.
هشدار امنیتی: اگر علامت قفل امنیتی گواهینامه را در وب سایتس مشاهده نمی کنید — یا علامتی را می بینید که نشان می دهد وب سایت ایمن نیست — لطفاً از آن خارج شده و یا فعالیتی را که نیاز به اطلاعات خصوصی و یا پرداخت های مالی شما دارد انجام ندهید. انجام چنین کاری بسیار خطرناک است!
در صورتیکه علامتی هشدار دهنده مشاهده می کنید ، که برای اکثر وب سایتهای معتبر چنین موردی نادر است ، معمولاً به معنای انقضای گواهینامه است و یا اینکه دارد از یک گواهینامه self-signed به جای یک گواهینامه ای که از طریق یک مرکز معتبر صادر شده باشد استفاده می کند.
قبل از ورود به جزییات این مباحث ، می خواهم TLS و SSL را توضیح دهم.
پروتکل های اینترنتی با TLS و SSL
TLS نسل فعلی پروتکل قدیمی Secure Socket Layer) SSL) است.بهترین روش برای درک این موضوع نگاهی به لایه های مختلف IP است.
امروزه شش لایه اینترنت را تشکیل می دهند: لایه فیزیکی ، داده ، شبکه ، حمل و نقل ، امنیت و لایه کاربرد.لایه فیزیکی در واقع لایه ابتدایی و پایه است و نزدیک به سخت افزار واقعی است.لایه کاربرد انتزاعی ترین لایه و نزدیکترین لایه به کاربر است.
لایه امنیتی را می توان بخشی از لایه کاربرد در نظر گرفت و در اصل TLS و SSL که پروتکل های رمزنگاری هستند که برای تأمین امنیت ارتباطات از طریق شبکه رایانه ای طراحی شده اند ، در لایه امنیتی قرار دارند.
این فرآیند این اطمینان را بوجود می آورد که هنگام استفاده کاربر از خدمات سایت ، ارتباط امن و رمزگذاری می شود.
CA ها و گواهینامه های self-signed
CA یک سازمان قابل اعتماد است که می تواند مجوز دیجیتال صادر کند.
همانطور که گفتیم TLS و SSL می توانند اتصال را ایمن کنند ، اما حالا مکانیزم رمزنگاری به روشی برای اعتبارسنجی آن نیاز دارد که بهش گواهی SSL / TLS می گوییم.TLS از مکانیسمی به نام رمزگذاری نامتقارن استفاده می کند که یک جفت کلید امنیتی به نام کلید خصوصی-private key و کلید عمومی-public key است.(این مبحث بسیار پیچیده و خارج از محدوده این مقاله است ،
اما نگران نباشید در آینده حتما در موردش مقاله خواهیم داشت.)نکته اساسی که باید بدانید این است که CA ، مانند GlobalSign ، DigiCert و GoDaddy ، اینها فروشندگان قابل اعتماد خارجی هستند که گواهینامه هایی را صادر می کنند که برای اعتبار سنجی گواهینامه TLS / SSL استفاده شده توسط وب سایت هایان از آن ها استفاده می کنند.این گواهینامه در واقع برای امنیت وب سایت در سرور میزبان هاست وارد شده است.
با این وجود ، اگر در حال تست یک وب سایت یا توسعه آن هستید ، ممکن است یک CA برای سما خیلی گران یا پیچیده باشد.
برای ایجاد یک وب سایت امن و رسیدن به اهدافتان باید یک CA قابل اعتماد داشته باشید ، اما توسعه دهندگان وب سایت معمولا قبل از رسیدن به مرحله نهایی ، به یک روش ساده تر برای آزمایش وب سایت ها نیاز دارند. اینجاست که گواهی های self-signed وارد موضوع بحث ما می شوند.
گواهی self-signed یک گواهی TLS / SSL است که به جای یک CA قابل اعتماد توسط همان شخصی که آن را ایجاد می کند امضا می شود.
تولید گواهی self-signed از کامپیوتر آسان است و می تواند شما را در لحظه قادر نماید بتوانید به آزمایش یک وب سایت ایمن بدون خرید یک گواهی گران قیمت و معتبر از CA بپردازید.
اگرچه گواهی self-signed قطعاً برای استفاده در وب سایت های معتبر و تجاری بسیار خطرناک است ،
اما گزینه ای آسان و انعطاف پذیر برای توسعه وب و آزمایش در مراحل اولیه سایت است.
ابزار منبع باز برای تولید گواهینامه ها
چندین ابزار منبع باز برای مدیریت گواهی های TLS / SSL در دسترس است.
شناخته شده ترین آن ها OpenSSL است که در بسیاری از توزیع های لینوکس و همچنین در macOS گنجانده شده است.
با این حال ، ابزارهای منبع باز دیگری نیز موجود است.
- OpenSSL : شناخته شده ترین ابزار منبع باز برای پیاده سازی کتابخانه های TLS و رمزنگاری
- EasyRSA : ابزار خط فرمان برای ساخت و مدیریت PKI CA
- CFSSL : یک PKI / TLS یا “چاقوی ارتش سوئیس” از Cloudflare
- Lemur : ابزار ایجاد TLS از Netflix
Lemur از Netflix میتواند گزینه ی خیلی جالبی باشد وقتی که شما گزینه های مقیاس پذیری و کاربر پسند بودن را در نظر بگیرید.
می توانید اطلاعات بیشتر در مورد آن را در وبلاگ فناوری Netflix بخوانید.
نحوه ایجاد گواهینامه OpenSSL
این امکان جود دارد که شما خودتان به تنهایی گواهینامه ها را ایجاد کنید.
برای مثال در تصویر زیر با استفاده از OpenSSL یک گواهی self-signed تولید می شود.
- با استفاده از دستور openssl یک کلید خصوصی ایجاد کنید:
openssl genrsa -out example.key 2048
- با استفاده از کلید خصوصی تولید شده در مرحله 1 ، یک (CSR) ایجاد کنید:
openssl req -new -key example.key -out example.csr \
-subj "/C=US/ST=TX/L=Dallas/O=Red Hat/OU=IT/CN=test.example.com" - با استفاده از CSR و کلید خصوصی خود یک certificate ایجاد کنید:
openssl x509 -req -days 366 -in example.csr \
-signkey example.key -out example.crt
امیدوارم این آموزش هم مورد پسند شما قرار گرفته باشه و با استفاده از اون با مفهوم TLS ، SSL و CA تا حدودی آشنا شده باشید.
خوشحال می شوم نظر خودتان را در مورد این مقاله در قسمت دیدگاه ها بیان کنید.
سربلند و پیروز باشید
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگو شرکت کنید؟نظری بدهید!