در این مقاله؛ به هر چیزی که باید درباره TLS بدانید! می پردازیم.
همچنین میتوانید، برای کسب اطلاعات بیشتر از صفحه “ خط تلفن اینترنتی ” استفاده کنید.
درباره TLS
TLS کامل کننده پروتکل امن SSL است. و برای انتقال امن داده ها ما بین دو دستگاه در شبکه استفاده می شود. محل قرار گیری TLS بر اساس استاندار OSI لایه Application است. در پروتکل TLS احراز هویت با استفاده از Certificate صورت می گیرد. که به دو روش یک طرفه و دوطرفه انجام می شود.
در حالت یکطرفه سرور تنها سرور احراز هویت می شود. در حالت دوم سرور certificate دستگاه کلاینت را بررسی و از اصالت آن اطمینان حاصل می کند. سپس؛ از جابجایی packet بصورت encrypted آغاز می شود.
برای “ خرید اسکای روم ” به این صفحه مراجعه کنید.
کاربرد TLS در VOIP
با قرار دادن Certificate TLS بر روی سرور های تلفنی و گوشی ها ارتباط بین سرور ها و ارتباط گوشی ها با سرور ها ایمن سازی می شود. از قابلیت های مهم تی ال اس ایمن سازی ارتباط بدون نیاز به ورود اطلاعات کاربری (نام کاربری و رمز عبور) است.
انتقال بر روی TLS در Asterisk
برای استفاده از تی ال اس دستگاه خدمات گیرنده (CLIENT ) معتبر بودن certifiacate را چک خواهد کرد.
تنظیمات مرتبط با TLS در فایل sip.conf
- tlsenable=yes – Enable TLS server, default is no
- tlsbindaddr=<ip address> – Specify IP address to bind TLS server to, default is 0.0.0.0
- tlscertfile=</path/to/certificate> – The server’s certificate file. Should include the key and certificate. This is mandatory if you’re going to run a TLS server.
- tlscafile=</path/to/certificate> – If the server you’re connecting to uses a self signed certificate you should have their certificate installed here so the code can verify the authenticity of their certificate.
- tlscapath=</path/to/ca/dir> – A directory full of CA certificates. The files must be named with the CA subject name hash value. (see man SSL_CTX_load_verify_locations for more info)
- tlsdontverifyserver=yes – If set to yes, don’t verify the servers certificate when acting as a client. If you don’t have the server’s CA certificate you can set this and it will connect without requiring tlscafile to be set. Default is no.
- tlscipher=<SSL cipher string> – A string specifying which SSL ciphers to use or not use. A list of valid SSL cipher strings can be found at http://www.openssl.org/docs/apps/ciphers.html#CIPHER_STRINGS
برای ایجاد کلید استریسک میتوانید از کامند زیر استفاده کنید.
openssl genrsa -out key.pem 1024
در این قسمت ایجاد SSL Certificate را خواهیم داشت:
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out asterisk.pem
در ادامه، به تنظیمات دو سرور Asterisk برای اتصال به یکدیگر با پروتکل تی ال اس میپردازیم.
سرور اول:
[general]
tlsenable=yes tlscertfile=/etc/asterisk/asterisk.pem tlscafile=/etc/ssl/ca.pem ; This is the CA file used to generate both certificates register => tls://100:test@192.168.0.100:5061 [101] type=friend context=internal host=192.168.0.100 ; The host should be either IP or hostname and should ; match the ‘common name’ field in the servers certificate secret=test dtmfmode=rfc2833 disallow=all allow=ulaw transport=tls port=5061 |
سرور دوم:
[general] tlsenable=yes tlscertfile=/etc/asterisk/asterisk.pem [100] type=friend context=internal host=dynamic secret=test dtmfmode=rfc2833 disallow=all allow=ulaw ;You can specify transport= and port=5061 for TLS, but its not necessary in ;the server configuration, any type of SIP transport will work ;transport=tls ;port=5061 |