نحوه تنظیم سرویس wcf برای پروتکل Https
در این مطلب قصد داریم در مورد تنظیم سرویس wcf برای Https توضیح دهیم.
مقدمه
پروتکلهای SSL و TLS برای امن کردن ارتباط میان کاربر و سرور از طریق تصدیق هویت، رمزنگاری و صحت، طراحی و پیادهسازی شده است. جهت امن کردن دادهها این پروتکلها از cipher suite هایی استفاده میکنند. هر cipher suite ترکیبی از الگوریتمهای تصدیق اصالت، رمزنگاری و کد تصدیق هویت پیغام (MAC) است. در زمان پیکربندی TLS/SSL باید تنظیمات بهدرستی انجامشده و cipher suite های امن مورداستفاده قرار گیرد. برخی از مهمترین این تنظیمات شامل غیرفعال کردن SSL 2.0 و SSL 3.0، غیرفعال کردن TLS 1.0 Compression و cipher suite های ناامن و استفاده از آخرین نسخهی نرمافزارها است. پیکربندی ارائهشده بر روی سروری با مشخصات زیر انجامشده است.
۱ مراحل راهاندازی سرویس SSL/TLS بر روی سرویسدهنده وب
شما برای راهاندازی سرویس HTTPS نیاز به یک گواهی امنیتی (Security Certificate) دارید که میبایست توسط یکی از مراکز بینالمللی صدور گواهی (CA یا Certfiicate Authrotity) صادرشده باشد. البته این گواهی را خود شما نیز میتوانید ایجاد کنید ولی در این صورت یک گواهی خودامضا (Self-Signed) خواهید داشت که مرورگرها هنگام مواجهه با آن خطا میدهند. از آنجایی که گواهیهای خودامضا توسط مهاجمین نیز قابل ایجاد و سوءاستفاده هستند، بهتر است برای امنیت بالاتر حتماً گواهی را از یک مرکز صدور گواهی معتبر دریافت کنید. بدین منظور ابتدا یکی از نمایندگان این شرکتها در ایران را بیابید و از جزئیات فنی و هزینههای آن آگاه شوید.
فرض میکنیم که یک سرویس با تکنولوژی wcf نوشته شده است و در حال حاضر بر روی پروتکل Http کار میکند اما به درخواست شرکتی که برای آن نوشتیم از ما میخواهد که امنیت وب سرویس ها را بالا ببریم و این سرویس را بر روی Https ببریم. برای این کار لازم است تا یکسری تغییرات را در بخش وب کانفیگ انجام دهید.
تغییر پروتکل سرویس WCF به Https
ابتدا در بخش webHttpBinding تغییرات را به شکل زیر انجام میدهی
و در وب کانفیگ بخش EndPoint ها را به شرح زیر تغییر می دهیم.
اگر در سرویس های استفاده شده از آپلود فایل استفاده میکنید بخش زیر را به آن اضافه کنید.
و در بخش serviceBehaviors تغییرات آن را به شرح زیر اصلاح میکنیم.
مرحله بعدی تنظیمات endpointBehaviors را به شکل زیر تغییر می دهیم.
و در پایان بخش protocolMapping را به شکل زیر تغییر میدهیم.
اکنون تغییرات به پایان رسید و سرویس شما قادر است که بر روی پروتکل https اطلاعات را رد و بدل کند.