SIP TLS kullanıyor mu
Yudum tls
Özet:
1. Freeswitch ajanı gerektirir.TLS sunucusu olarak hareket etmek için doğru izinlere sahip PEM dosyası.
2. Taşıma Katmanı Güvenliği (TLS), SIP mesajlarını ele geçirilmesini önlemek için kullanılan bir protokoldür.
3. TLS, web şifrelemesi için kullanılan önceki SSL protokolünün bir evrimidir.
4. Sertifikalar ve asimetrik kriptografi TLS’nin temel bileşenleridir.
5. Sertifikalar varlıkları doğrulamak için kullanılır ve sertifika yetkilileri özgünlüklerini doğrular.
6. Veri şifreleme ve şifre çözme için simetrik ve asimetrik kriptografi kullanılır.
7. TLS, toplu verileri şifrelemek için kimlik doğrulama ve asimetrik kriptografi için simetrik kriptografi kullanır.
8. TLS, güvenli olmayan İnternet üzerinden SIP konuşmaları güvenli bir şekilde oluşturmak için kullanılabilir.
9. FreesWitch, imzalı sertifikalar ve şifreli ses/medya (SRTP) ile şifreli sinyallemeyi (SIP’leri) destekler.
10. FreesWitch.
Sorular:
1. FreesWitch’in TLS sunucusu olarak hareket etmek için hangi dosyayı gerektirir??
Cevap: Freeswitch ajanı gerektirir.PEM Dosyası.
2. Temsilci için doğru izinlere sahip olmak neden önemlidir?.pem?
Cevap: Yanlış izinler TLS dinleyicisinin düzgün çalışmasını önleyebilir.
3. SIP’de TL’ler ne için kullanılır?
Cevap: TLS, SIP mesajlarını ele geçirilmesini önlemek için kullanılır.
4. TLS ve SSL arasındaki fark nedir?
Cevap: TLS, SSL’nin bir evrimidir ve hem web hem de SIP gibi gerçek zamanlı protokoller için kullanılır.
5. TLS’de kullanılan sertifikalar nelerdir?
Cevap: Sertifikalar varlıkları doğrulamak için kullanılır.
6. Sertifika yetkililerinin amacı nedir?
Cevap: Sertifika yetkilileri sertifikaların gerçekliğini doğrular.
7. TLS’de kullanılan iki kriptografi türü nelerdir?
Cevap: Simetrik ve asimetrik kriptografi.
8. Simetrik kriptografi nasıl çalışır?
Cevap: Veriler aynı anahtar kullanılarak şifrelenir ve şifre çözülür.
9. Asimetrik kriptografi nasıl çalışır?
Cevap: Veriler, genel anahtar ve özel bir anahtar kullanılarak şifrelenir ve şifre çözülür.
10. TL’ler ne için simetrik kriptografi kullanıyor??
Cevap: TLS kimlik doğrulama için simetrik kriptografi kullanır.
11. TLS asimetrik kriptografi için ne kullanıyor??
Cevap: TLS, toplu verileri şifrelemek için asimetrik kriptografi kullanır.
12. TLS, güvenli olmayan internet üzerinden güvenli SIP konuşmaları oluşturmak için kullanılabilir mi??
Cevap: Evet, TLS, güvenli olmayan internet üzerinden güvenli SIP konuşmaları için kullanılabilir.
13. Freeswitch şifreli sinyal açısından ne destekliyor??
Cevap: FreesWitch, SIPS olarak bilinen şifreli sinyalleri destekler.
14. SIPS için varsayılan bağlantı noktası nedir?
Cevap: SIP’ler için varsayılan bağlantı noktası TCP bağlantı noktası 5061.
15. Freeswitch’te SIP profilinde ne yapılandırılabilir??
Cevap: SIP’ler için bağlantı noktası Freeswitch’te SIP profilinde yapılandırılabilir.
Yudum tls
FreesWitch, TLS sunucusu olarak hareket etmek için yalnızca bir dosya gerektirir ve bu aracı.PEM Dosyası. Bu, dinlemek için kullanacağı sertifikayı ve anahtarı içerir. Ajanınızın son derece önemli olduğunu unutmayın.Pem (ve isteğe bağlı olarak Cacert.PEM) Freeswitch kullanıcısı için okuma izinleri var. Bu, -u freeswitch kullanırsanız “Chmod 640 ajanı”.Pem Cacert.Pem “ve” Chown Root.Freeswitch Agent.Pem Cacert.Pem “. Yanlış izinler TLS dinleyicisinin düzgün bir şekilde dönmesine izin vermez. Vars’ta.XML:
Taşıma Katmanı Güvenliğini Anlama (TLS)
Birkaç blog makalesi boyunca i’SIP’nin bazı güvenlik yönlerinden bahsetti. SIP kimlik doğrulaması ile kanıtlarken yanıt mesajlarının ve kimlik doğrulama başlıklarının kullanımını tartıştım. Bu tür bir güvenlik protokol düzeyinde teslim edilir. Başka bir deyişle, SIP istemcileri ve sunucular kimlik düzeyinde güvenliği zorlayan mesajlar alışverişi. Tabii ki, SIP’nin kendisi metin tabanlı bir protokol olduğundan, mesajları ve içeriklerini meraklı gözlerden koruyan bir şeye ihtiyacımız var. Girmek taşıma katmanı Güvenliği (TLS).
TLS, daha önceki bir protokolün evrimidir Güvenli soket katmanı (SSL). SSL birkaç yıl önce Netscape tarafından geliştirildi (Netscape’i hatırla?) ve bir web tarayıcısı ile bir web sunucusu arasında gönderilen verileri şifrelemek için kullanıldı. Tarayıcınızın adres satırı içerdiğinde SSL kullandığınızı biliyordunuz “HTTPS” ve yok “HTTP.” Bazı tarayıcılar, SSL kullanılırken bir kilit sembolü de görüntüler.
SIP tarafından kullanılan diğer protokollerin çoğu gibi, TLS de İnternet Mühendisliği Görev Gücü (IETF). İlk başta TLS ve SSL Weren’T birbirinden farklı. Bununla birlikte, 1999’daki orijinal tanımından bu yana, TLS hem Web hem de SIP gibi gerçek zamanlı protokoller için son derece güvenli bir taşıma protokolüne dönüşmeye devam etti.
TLS’nin merkezinde sertifikalar ve kavramları simetrik Ve asimetrik kriptografi. Bu üçü hakkında binlerce kelime yazabilirim, ancak sadece birkaç paragrafta tehlikeli olacak kadar öğrenebilirsiniz.
İlk olarak, sertifika, bir işletmenin kendini tanımlamak için kullandığı bir dijital kimlik biçimidir. Bunu bir sürücü olarak düşün’S IP bileşenleri için lisans. Ancak, kötü insanların bu sürücüyü dövmesini önlemek için’S lisansları, Sertifika Yetkilileri (CA) sertifikanın gerçekliğini doğrulamak için kullanılan var. Bir işletmenin faaliyet gösterdiği özel CAS var. İnternet üzerinden mevcut olan genel CAS da var. Verisign, tanınmış halka açık CA’nın bir örneğidir.
Sonra simetrik ve asimetrik kriptografi geliyor. Her ikisinin de verilerin nasıl şifrelendiği ve şifrelenmemiş olduğu ile ilgilidir. Simetrik kriptografi durumunda, veriler bir anahtarla şifrelenir. BT’aynı anahtarla şifrelenmemiş. Yani, eğer iki farklı kuruluşun bu anahtarı varsa, şifreli verileri ileri geri gönderebilirler ve bu anahtarsız kimse ne dediklerini anlamayacak. Simetrik kriptografinin gücü, hızlı olması ve minimum miktarda işleme gücü kullanmasıdır. Zayıflık, anahtarı değiştirmek için güvenli bir mekanizmaya ihtiyacınız olmasıdır.
Veriler ayrıca asimetrik kriptografi ile şifrelenmiştir, ancak bu durumda iki anahtar vardır – kamu ve özel anahtar. Genel Anahtar genellikle bir IP varlığı sertifikasında bulunur ve bu sertifikaya sahip herkes genel anahtara sahip olacaktır. Özel anahtar gizli tutulur ve asla kimseye açıklanmaz. Bu iki anahtar, IP bağlantısında gönderilen verileri şifrelemek ve şifresini çözmek için birlikte çalışır.
Genel anahtarla şifrelenmiş veriler yalnızca ilişkili bir özel anahtarla şifrelenebilir. Özel anahtarla şifrelenmiş veriler yalnızca eşleşen genel anahtarla şifrelenebilir. Bu şifreleme biçimi olarak bilinir: Halk Anahtar Kriptografisi. Simetrik kriptografiden daha fazla işleme gücü gerektirir, ancak yalnızca istemci ve sunucunun deşifre edebileceği güvenli bir veri bağlantısı oluşturur.
TLS’nin hem simetrik hem de asimetrik kriptografi kullandığını yazdım. Toplu verilerin şifrelemesi için kimlik doğrulama için simetrik ve asimetrik kullanır. Bizim durumumuzda, bu toplu veriler SIP mesajları ve yanıtları olacaktır. Bu verilerin G gibi gerçek ortam akışını içermediğini unutmayın.711 veya g.729. Bu veriler kullanılarak şifreleniyor Güvenli Gerçek Zamanlı Protokol (SRTP) – Başka bir gün için bir blog.
Hala okuyorsanız, azimini alkışlarım. Bu anlamak kolay şeyler değil. Yine de aşağıdakileri unutmayın ve iyi olmalısınız. Sertifikalar, istemcilerin ve sunucuların özgünlüğünü doğrulamak için kullanılır. Sertifika yetkilileri, sertifikaların sahte olmadığını doğrulamak için var. Kamu ve özel anahtarlar, SIP varlıkları arasında değiştirilen mesajları şifrelemek için kullanılır. Bu, TLS ile güvenli SIP konuşmaları oluşturmak için güvenli olmayan interneti güvenli bir şekilde kullanabileceğiniz anlamına gelir. SIP mesajlarınız ele geçirilse bile,’t ne söylendiğini anlayamayacakları için kimse iyi yap.
Yudum tls
Freeswitch, hem SSL veya imzalı sertifikalı TLS olabilen SIP’ler olarak bilinen şifreli sinyallemeyi hem de SRTP olarak bilinen şifreli ses/ortamları destekler. Tipik Sözleşme, UDP bağlantı noktası 5060’da şifrelenmemiş SIP kontrol kanalına sahip olmaktır (standartlar da TCP bağlantı noktası 5060’ı kullanmaya izin verir) ve SSL şifreli veya TLS şifreli SIP kontrol kanalı TCP bağlantı noktası 5061’de SIP olarak bilinen bir . Aşağıdaki çizimler SIP’yi 5060 bağlantı noktasında olduğunu ve 5061 ve bağlantı noktasında (x). FreesWitch, bu bağlantı noktasını SIP profilinde yapılandırmanıza olanak tanır.
RTP verileri UDP’yi kullanır, ancak RTP’nin kullandığı bağlantı noktası SIP kontrol kanalı içinde müzakere edilmesi nedeniyle dinamiktir. FreesWitch, RTP akışları için belirli bir bağlantı noktası aralığı kullanacak şekilde yapılandırılabilir. Bu sayfanın 1. Bölümünde, bir SIP bağlantısının ve olası yapılandırmaların anatomisini gözden geçireceğiz, böylece hangi yapılandırmanın senaryonunuza en uygun ve freeswitch sisteminizi buna göre yapılandıracağını seçebilirsiniz.
Bir SIP bağlantısının anatomisi
İlk olarak, şifrelemenin ses (veya RTP) akışlarının şifrelendiğini ima ettiği varsayımından kaynaklanabilecek herhangi bir karışıklığı ortadan kaldırmak için bir SIP bağlantısının anatomisini gözden geçirelim.
Şekil 1’de, bir kontrol için bir TCP olmak üzere üç ayrı bağlantı olduğunu ve diğer ikisinin ses akışlarını anahtara ve anahtardan aktarmak için UDP olduğunu not edeceksiniz. Kontrol kanalı bir dizi yetenek kolaylaştırır, ancak şifreleme ile ilgili olarak, çağrı sırasında bir banka pimi veya kişisel ve en önemlisi özel bilgi gibi başka bir erişim kodu gibi çağrı sırasında aranan DTMF rakamlarıdır. Şekil 1’de gösterilen senaryo ile, ağdaki herkes bu değerli verileri koklayabilir ve çözebilir.
Bir SIPS bağlantısının anatomisi
Bu sorunun cevabı Şekil 2’de tasvir edilmiştir ve SIP kanalını bir SSL veya TLS ambalajı ile şifrelemek için, tel üzerinde paketleri koklayan herkes kontrol kanalındaki verilerin şifresini çözemeyecek şekilde. Şekil 2’de bunu 5061 bağlantı noktasında olduğu gibi tasvir ettiğimizi, ancak freeswitch ile aslında bunu istediğiniz herhangi bir bağlantı noktasında yapılandırabilirsiniz. Buradaki bu senaryo, ses verilerinin paketlerini açık olarak bırakıyor. Paketleri koklayan biri duyulabilir konuşmanızı yeniden inşa edebilecek ve çok zorlanmadan “dinleyebilecek”.
* Not: IP telefonları şifrelemeyi desteklediklerini tanıtabilir, ancak hem SSL hem de TLS imzalı sertifikaları desteklediklerini doğrulamak için özellikleri kontrol etmek isteyebilirsiniz.
Bir SIPS ve SRTP bağlantısının anatomisi
Şekil 3’te sadece kontrol kanalı şifrelenmekle kalmayıp, RTP akışlarının da şifrelendiğini ve SRTP olarak gönderildiğini not edersiniz. Bu şekilde ve sadece bu şekilde, tüm konuşmanız kulak misafiri olanlardan makul derecede güvenlidir. Bu da önemlidir, çünkü DTMF rakamları RTP verilerine de gönderilebilir (bant). SIP çağrılarınızın güvenli olduğundan emin olmak söz konusu olduğunda hem SIPS hem de SRTP şifrelemesine sahip olmak en iyi seçeneğinizdir.
* Not: IP Telefonlar Şifrelemeyi Desteklediklerini Tanıtabilir, SRTP’yi destekleyip desteklemediğini belirlemek için telefon özelliklerini kontrol etmeniz gerekecektir. Bu sayfanın altındaki belirli telefonlarla birlikte birlikte çalışabilirlik sorunları ile birlikte aşağıdaki daha fazla şey söylenecektir.
Freeswitch şifreleme özellikleri
Bu sayfa yalnızca TLS, SSL ve SRTP şifrelemesini kapsayacak.
TLS, SSL ve SRTP şifrelemesi
FreesWitch, SRTP şifreleme özellikleri ile birlikte SSL ve/veya TLS üzerinden SIP’leri destekler. KJV laboratuvarında test edilmediğinden, Freeswitch’in video akışlarını şifreleyip şifreleyeceği belirsizdir, ancak bunun olacağından şüpheleniyorum. SRTP videosunu şifreleyen testler yaparsanız, sonuçlarınızı wiki’ye ekleyin.
ZRTP şifrelemesi ZRTP artık yetersiz ve belgelerin dışına çıkarılacak
ZRTP, Freeswitch’e derlenebilen fırsatçı bir şifreleme yeteneğidir. Nasıl yapılır için ZRTP sayfasına bakın ve ZRTP ile ilgili ek bilgiler.
Hibrit şifreleme
FreesWitch aslında içinden geçen SIP trafiği için verileri şifreleyebilir. Bu şekilde, şifrelemeyi doğal olarak desteklemeyen IP telefonları için şifreleme sağlayabilirsiniz. Şifrelemeyi desteklemeyen çok sayıda SIP donanımı olduğundan, bu yapılandırma herhangi bir sayıda pratik durum için yararlı olabilir.
Şekil 4’te, telefondan anahtara SIP kontrol kanalının şifrelenmediğini fark edeceksiniz, oysa FreesWitch’ten diğer SIP PBX’e kontrol kanalı şifrelendi. Bu durumda SIP kontrolü ve RTP (ses) verilerinin IP telefonu ve FreesWitch arasında şifrelenmediğini anlamak önemlidir. Bu nedenle, SIP IP telefonunuz bir kablo modeminde bir NAT yönlendiricisinin arkasında bir yerdeyse ve FreesWitch bu yönlendiricinin arkasında değilse, hem telefonun LAN’ı hem de Freeswitch’e internet bağlantısı tamamen açıktır, yani birisi bu paketleri koklayabilir ve değerli bilgiler elde edebilir.
Ayrıca, freeswitch ve “diğer SIP PBX” olarak gösterilen uzak uç nokta arasındaki RTP (ses) verileri de şifrelenmez ve ele geçirilebilir, ancak bu bağlantı için kontrol kanalı şifrelenir ve bu nedenle makul olarak güvenlidir. Freeswitch telefonla aynı LAN’daysa, müdahale olasılığı daha azdır, ancak ses verileri hala ele geçirilebilir.
Şekil 5’te, IP telefonundan hem SIP hem de RTP verilerinin şifrelenmediğini fark ederken, diğer SIP PBX’e SIP ve RTP verileri hem SIPS hem de SRTP şifrelenmiş. Bu seçenek, freeswitch ile şifrelemeyi destekleyen diğer uç noktalar arasındaki bağlantılar için hem kontrol kanalını hem de ses verilerini şifreleyecektir.
Telefondan Freeswitch’e olan bağlantının tamamen bir paket sniffer tarafından ele geçirilebileceği hala anlaşılması gerekiyor.
Şifreleme seçenekleri arasında seçim
Freeswitch için yukarıda açıklandığı gibi çeşitli şifreleme seçenekleri vardır. TLSV1, TCP bağlantısı üzerinden her şeyi şifreler; Bu, TCP’ye bağlı titreşim veya gecikmenin olabileceği dezavantajı vardır. UDP genellikle RTP için tercih edilir ve TLSV1 kullanmasının bazı ek trafik yükü vardır. Sonunda sslv23 var; Bu, SIP kontrol kanalını SSL sertifikalarını kullanarak şifreli bir TCP bağlantısı üzerinden şifreler, ancak varsayılan olarak RTP verileri için hiçbir şey sağlamaz. Oturum açma bilgisi ve çağrı meta verileri kontrol kanalı üzerinden iletilir, bu nedenle bunu korumayı önemsediğiniz şey bu yeterlidir ve RTP verilerine ek yük eklemez. Ses verilerinin kendisini şifrelemek istiyorsanız (ses verileri anlaşılamaz) SRTP ile birleştirilebilir. SRTP, RTP verilerinin RTP UDP paketlerinin her birine küçük ek yüklü şifrelemesini sağlar. Bu, çağrı verilerinin şifrelenmesinin yararı vardır, ancak yine de UDP’nin üzerinde olmuştur, bu nedenle SRTP ile hemen hemen hiçbir fark olmamalıdır. SRTP için kullanılan şifreleme anahtarı kontrol kanalı üzerinden değiştirilir (hangi SSLV23 şifrelemeleri), bu nedenle size her iki dünyanın en iyilerinden bir şey verir. Genellikle SSLV23 + SRTP en güvenlik duvarı dostudur/mevcut kurulumlar için en az değişikliğe sahiptir. SSLV23 + SRTP’nin Freeswitch sunucusunda yapılandırılması oldukça kolaydır ve büyük olasılıkla çoğu istemci ve SIP telefonları için en çok desteklenen şifreleme yöntemi ve bu nedenle genellikle birisinin çağrı verilerini şifrelemek için başlaması gereken yer olmalıdır.
IP telefonları ve şifreleme hakkında
Bazı satıcılar, ürünlerinin SIP şifrelemesini desteklediğini bildirecektir. Soru, SIP şifrelemesini ne kadar iyi destekliyor. Öyleyse bu kıvrımlı pazarlama bilmecesini gözden geçirelim.
- Telefon SSL ve/veya TLS şifreli SIP’yi destekleyebilir, yani “SIPS”.
- Telefon, imzalı sertifikalarla TLS’yi destekleyecek kadar ileri gidebilir.
- Bu uyarıların üstünde ve ötesinde, telefon SRTP şifreli ses verilerini destekleyecek kadar ileri gidebilir.
- Son olarak, IP telefonunun desteklediğinden emin olun standart SIPS ve/veya SRTP Şifrelemesi. Esasen, bir üreticinin sadece ürünleriyle çalışan saç beyinli bir şifreleme yöntemi bulması çok fazla değil.
UYARI: Kendini şifreleme gerçekleştirebilen reklamı yapan herhangi bir SIP IP telefonu satın almadan önce özellikleri kontrol edin ve araştırmanızı yapın. Ayrıca, telefonunuzun çalıştığı SIP ürün yazılımı sürümü ve FreesWitch ile birlikte çalışabilirliği ile ilgili herhangi bir sorun olup olmadığını kontrol etmek isteyebilirsiniz.
FreesWitch TLS/SSLV23 uygulamasının sınırlamaları (FS-3877)
Maalesef varsayılan lib _ Sofia yığını ve Freeswitch yapılandırmasının, teşhis edilmesi zor şifreleme sorunlarına neden olabilecek bir varsayılan (muhtemelen beklenmedik) davranışa sahip. Bir istemci bir sunucuya bağlandığında, sunucu ile iletişim kurmak için kullanılan şifreli bir TCP kanalı oluşturur. Ne zaman bir çağrı, kayıtlar vb., Bunu bu TCP oturumunu kullanarak yapıyor. Ne yazık ki, Freeswitch gelen bir çağrı, notifys, vb., Sunucudan istemciye ikinci bir TCP kanalı kurar. Bu şifrelenirken, bazı güvenlik duvarı yapılandırmaları için bazı sorunlara neden olabilir ve Freeswitch’teki TLS/SSL güvenlik seçeneklerinin çoğu için. FreesWitch bu kanalı kuramazsa, istemci arama yapabilecektir, ancak arama alamaz (veya sunucudan istemciye menajer olan başka bir şey). Ayrıca, birçok TLS özelliği beklenmedik bir şekilde hareket edebilir, bu nedenle yönün dikkate alınması önemlidir. Örneğin, TLS-Geçici-Polisy Set “Çık” Set FreeSwitch, istemciye geri bağlandığında istemci sertifikasını doğrulamasına neden olur, bu nedenle istemci başlangıçta sunucuya bağlansa ve bu, sunucu-> istemciden gelen çağrılar için doğrulamayı atlarsa, FreesWitch bunu doğrular. Buna ek olarak, bu güvenlik deliklerini açabilir, örneğin, gelen müşterilerin doğrulanması için politikayı “içinde” ayarlamak, sunucu istemciye geri bağlandığında istemci sertifikasını doğrulamaz, bu da MITM saldırısının gerçekleşmesine izin verir. Konu doğrulaması gibi şeyler de zor olabilir, özellikle de FreesWitch bir müşteri olarak hareket ediyorsa. Örneğin, konu doğrulaması, Freeswitch’in sertifika ortak adına bağlandığı ana bilgisayar adını kontrol ederken, sunucu Freeswitch’e geri bağlandığında güzel bir güvenlik kontrolü yapılamaz (bu noktada olduğu gibi, FreesWitch aslında IP adresini ortak ada göre kontrol etmeye çalışır). Buna ek olarak, amaç doğrulama (FreesWitch’in bir sunucuya bağlandığında, bir sunucu için verilen bir sertifika, bir istemci veya vice tam tersi) şu anda desteklenmez. Bu, bir istemci sertifikası kullanarak bir Freeswitch sunucusuna karşı MITM saldırılarına izin verir (veya tam tersi), ancak bağlantının her iki yöne gitmesi nedeniyle, amaç doğrulama şu anda desteklenmez (gelen bir bağlantı, geri bağlanırken bir sunucu sertifikasından olabilir). Freeswitch’in Gentls _ Cert, şu anda Freeswitch’in kendisi tarafından kullanılmayan amacı doğru bir şekilde atarken. Bu MITM deliğinden kaçınmak için bir çözüm, şimdilik farklı bir CA’dan müşteri sertifikası vermektir.
Konfigürasyon
FreesWitch, SSL ve/veya TLS aracılığıyla SIP sinyal trafiğinin şifrelemesini destekler. Sözleşme, 5061 numaralı bağlantı noktasında SIP’leri çalıştırmaktır . Daha karmaşık konfigürasyonlar mümkündür, ancak bu belgelerde ele alınmayacaktır.
Freeswitch’i TLS şifreleme desteği ile derlemek için aşağıdakilere ihtiyacınız olacak:
- Libssl-dev (OpenSSL geliştirme) paketi yüklendi.
Libssl-Dev paketi yüklü yoksa, sorun 2’de aşağıda belirtilen şifreleme yapılandırma yönergelerini içeren SIP _ profili olacaktır.
Bu paket yüklenmeden FreesWitch’i derlediyseniz, şifreleme desteği olmayacak ve libssl-dev paketini yükledikten sonra yeniden derlemeniz gerekecektir.
Debian Do Aptitude için libssl-dev (Lenny Install libcurl4-openssl-dev) ve ardından derleyin.
Adım 1 – CA (kök) sertifikasını oluşturun
TLS/SSL kullanmak için en az iki sertifikaya ihtiyacınız var: Kök (CA) sertifikası ve her sunucu için bir sertifika. Bir senaryo var // freeswitch/bin/gentls _ sertifika veya kaynak tarball içinde /scripts/gentls _ cert bu dosyaların oluşturulmasına yardımcı olur. FreesWitch PBX’inizin DNS adının PBX olduğunu varsayarsak.freeswitch.Org, ile
./gentls_cert kurulumu -cn pbx.freeswitch.Org -alt DNS: PBX.freeswitch.org -org freeswitch.org
Bu, CON/SSL/CA dizininde CA sertifikası ve anahtar oluşturur ve Conf/SSL klasöründe sertifika oluşturur.
[ Not: -Cn ve -alt için verilen ad, FreesWitch kurulumunuzun DNS adı ile aynı olmalı ve telefonda kayıt şirketi adı olarak kullanılmalıdır (en azından polycom’larda). ] Sertifikayı daha uzun süre geçerli kılmak için Gentls _ cert dosyasındaki “günler = 2190” satırını değiştirebilirsiniz. Ancak çok uzun sürmenin sorun etrafında biraz sarılma var, öyle görünüyor.
Adım 2 – Sunucu Sertifikasını Oluşturun
./gentls_cert create_server -cn pbx.freeswitch.Org -alt DNS: PBX.freeswitch.org -org freeswitch.org
sunucu sertifikasını oluşturur // freeswitch/conf/ssl/aracı.pem. Bu dosya sertifikayı ve özel anahtarı içerir. Alan adını ortak ve alternatif olarak içermelidir. Diğer sunucular için sertifika oluşturmanız gerekiyorsa, Çıktı Sertifikası/Anahtar Dosya Adını Belirlemek ve Bunu Uzak Sunucuya Kopyalamak İçin Gentls _ Cert için -out bayrağını kullanın.
Yeni CA kurmak ve Windows altında yeni bir sertifika oluşturmak için buraya gidin.
Yeni sertifikanın yürürlüğe girmesi için (Freeswitch’in kullanmasının tek yolu), FreesWitch’in yeniden başlatılması gerekir.
Not: -Cn ve -alt için verilen ad, FreesWitch kurulumunuzun DNS adı ile aynı olmalı ve telefonda kayıt şirketi adı olarak kullanılmalıdır (en azından polycom’larda). Bu gözeem için gereklidir (ve muhtemelen pangolin).
Sertifikanızı inceleyin
Sertifika ayrıntılarınızı şu komutla inceleyebilirsiniz:
OpenSSL X509 -NoOut -Inform Pem -Text -in/USR/Local/FreesWitch/Conf/SSL/Agent.pem
Adım 3 – Sofia Profil Yapılandırması
FreesWitch, TLS sunucusu olarak hareket etmek için yalnızca bir dosya gerektirir ve bu aracı.PEM Dosyası. Bu, dinlemek için kullanacağı sertifikayı ve anahtarı içerir. Ajanınızın son derece önemli olduğunu unutmayın.Pem (ve isteğe bağlı olarak Cacert.PEM) Freeswitch kullanıcısı için okuma izinleri var. Bu, -u freeswitch kullanırsanız “Chmod 640 ajanı”.Pem Cacert.Pem “ve” Chown Root.Freeswitch Agent.Pem Cacert.Pem “. Yanlış izinler TLS dinleyicisinin düzgün bir şekilde dönmesine izin vermez. Vars’ta.XML:
Dikkat: TLS varsayılan olarak devre dışı bırakılır; Dahili _ ssl _ etkinleştir ve/veya harici _ ssl _ etkinleştirme etkinleştir.
Adım 4 İstemci Yapılandırması
Müşterilerin hepsine, güvenliği sağlamak için en azından CA kök sertifikası yüklü olmalıdır. Zincir doğrulamasını etkinleştirmeden (sunucu sertifikasının onaylanmış CA tarafından verildiğini) bir müşteriye karşı bir MITM saldırısı mümkündür. CA Sertifikası Conf/SSL/Cafile’dir.PEM Yalnızca bir sertifika içerir ve istemciler Sunucu sertifikasının CA tarafından verilmesini sağlamak için kullanır. Ayrıca, aynı CA tarafından verilen bir istemci sertifikası isteyebilirsiniz (veya cihaza bağlı olarak). Komutu kullanarak bir istemci sertifikası oluşturabilirsiniz:
./gentls_cert create_client -cn client1 -out client1
Bu istemci oluşturacak1.PEM (Buradaki ortak adın gerçekten önemli olmadığını unutmayın, nadiren bir sunucu, bir istemci sertifikasının konusunu kontrol etmek için etkinleştirilir, böylece bunu istediğinize göre ayarlayabilirsiniz). Bu sertifika/anahtar çifti istemciye yüklenmelidir (güvenlik için her istemci için farklı bir şekilde önerilir), ancak sunucunun istemci sertifikasını doğrulamasını isteseniz bile sunucuda kalması gerekmez. İstemci başka bir Freeswitch sunucusuysa.PEM, ajanı yeniden adlandırmak istersiniz.pem. Not Diğer Freeswitch sunucusu, bu sertifikayı yalnızca bir istemci değil, bir sunucu olarak kullanacaksa, bir sunucu sertifikası oluşturmak için _ sunucu komutunu kullanarak yukarıdaki adımları izlediğinizden emin olun.
Ticari sertifikalar
Çoğu ticari web sunucusu sertifikası FreesWitch için çalışmalıdır. Örneğin, Thawte SSL123 sertifikalarının (en ucuz seçenekleri) en az bir kurulumda çalıştığı bilinmektedir. Bir sertifikanın işe yarayıp yaramayacağı konusunda şüpheleriniz varsa, sertifikayı yalnızca 30 günlük geri ödeme politikası sunan bir şirketten satın almalısınız.
Çoklu Profil TLS
Birden fazla Sofia SIP profiliniz varsa, profillerin her biri için TLS desteğini etkinleştirmek isteyerek kendinizi bulabilirsiniz. Ancak, her biri farklı bir DNS kaydı kullanılarak üçüncü taraflara temsil edilebilir. Bu durumda, her bir DNS kaydı için // freeswitch/conf/ssl/altında yeni bir dizin oluşturun . Sonra bir ajan yerleştirin.Pem ve Kafe.dizinlerin her birine pem. Her profili, özel aracısını içeren tek tek dizine yönlendirin.PEM Dosyası.
Sorun giderme
TLSV1 ile ilgili sorunlar
SIP _ profilinizde bu yapılandırmayı seçtiyseniz:
TLS ile bir dizi gotchas ve snafus var. TLS, UDP yerine TCP’de çalışır, bu nedenle güvenlik duvarlarının TCP ile çalışacak şekilde yapılandırıldığından emin olun. Uygun sertifikayı oluşturun ve telefona veya ATA’ya yüklendiğinden emin olun. Ayrıca, zamanın çok uzaktaysa, şifreli “kötü sertifika” hata mesajları alacağınız için zamanın uç noktanızda düzgün bir şekilde yapılandırıldığından emin olun ve düzgün bir şekilde el sıkışamazsa. (Örneğin, sertifikaların “daha önce geçerli değil” ve “sonra geçerli değil” özellikleri vardır.) Telefonunuz kaydolmazsa veya düzgün çalışmazsa, birlikte çalışabilirlik listesini ve/veya telefon belgelerinizi ve ürün yazılımı revizyonunuzu kontrol etmeyi düşünebilirsiniz. Hala düzgün çalışmazsa, SSLV23’ü bir geri dönüş olarak görebilirsiniz.
SSLV23 ile ilgili sorunlar
SIP _ profilinizde bu yapılandırma seçeneğini seçtiyseniz:
Bu size verileri şifreleme yeteneği verecektir. Güvenlik web sunucularına benzer, sertifikaya güvenen kökler kontrol edilebilir, istemci sertifikası kimlik doğrulaması desteklenir, konular ve sertifika tarihleri doğrulanabilir (bunların bazıları özellik için müşteri desteğine bağlıdır). Bu aslında istediğiniz gibi olabilir ve birkaç telefonun TLS’yi desteklemediğini, ancak SSL’yi destekleyin, buna göre yapılandırmak isteyebilirsiniz.
SIP profiliniz başlayamazsa
Freeswitch CLI ve yazın içine girerseniz:
TLS/SSL ayarlarını yapılandırdığınız SIP _ profilinizin eksik olduğunu görebilirsiniz. Durum böyle olursa, muhtemelen libssl-dev paketini veya acenteyi kaçırıyorsunuz.PEM dosyası yerinde değil veya yanlış izinler var. Sertifikalara ve anahtarlara okuma izinleri olduğu gibi kullanıcının Freeswitch’in çalıştığından emin olun. Sofia Tort hata ayıklama günlüğe kaydetme, neden düzgün bir şekilde başlamadığına dair hataların yazdırılmasına yardımcı olacaktır. OpenSSL geliştirme paketini yüklemek için dağıtımınıza bakın. Freeswitch içinde şifrelemeyi gerçekleştiren kodun ikili içine derlenmesi için bu gereklidir. Sofya’da daha yüksek bir hata ayıklama seviyesini sağlamak (Sofia Loglevel 9 veya Sofia Loglevel Tport 9 genellikle yeterli verir) ve konsolda sorunların ve el sıkışma sorunlarının hata ayıklamasına yardımcı olabilir.
TLS müzakere hatası ‘Eşleşen şifre yok’
‘Eşleşen şifre yok’ hata mesajı alırsanız, önce sertifika anahtarınızı aracısınıza birleştirdiğinizden emin olmak için kontrol edin.PEM Dosyası. Hatayı hala alırsanız, hem anahtarı hem de sertifikayı yeniden oluşturun ve yeni bir aracı yapın.Yeni anahtar ve sertifika ile PEM, sonra tekrar deneyin.
Daha fazla hata ayıklama adımı
Hala aşağıdakileri çalıştıran TLS’nin sorun yaşıyorsa önerilmektedir:
- ) Sofia Loglevel’i 9’a ayarlayın ( < param name="log-level" value="9"/>) autoload _ configs/sofia.conf.XML
- ) Freeswitch Konsolu Loglevel’i hata ayıklamaya ayarlayın (F8)
- ) Mod _ Sofia’yı yeniden yükleyin ve günlükleri gözden geçirin
- ) Sunucu tarafında her şey yolunda görünüyorsa, FreesWitch veya FSCIENT veya FSCMM gibi freeswitch bazlı bir yazılım telefonunu kullanmayı deneyin. Bunlar, istemcinin sahip olabileceği hataları denemek ve görmek için istemci tarafında (fs _ CLI ekleme dahil) aynı şeyi yapmanıza izin verecektir
- ) Son çare tüm günlükleri pastebin üzerine koyun ve yardım isteyin.
FreesWitch’i SSL/TLS istemcisi olarak kullanma
Freeswitch başka bir sunucu ile iletişim kurabilir ve SIP istemcisi olarak hareket edebilir (aka başka bir ağ geçidi kullan). Bunu yapmak için kafeye sahip olmalısın.CA Sertifikası ile Conf/SSL klasöründeki istemcide PEM. Ayrıca bir temsilciye ihtiyacınız olacak.İstemci Sertifikası ile kullanılan aynı klasörde PEM dosyası (bu rastgele oluşturulan genel/özel anahtar çifti veya geçerli bir istemci sertifikası olabilir).
Gelişmiş TLS Seçenekleri
FreesWitch, profil ayarlarında bazı gelişmiş TLS parametrelerini destekler. Ayrıntılar için Sofia yapılandırma dosyalarına bakın.
SRTP ile SSLV23’ün hızlı kurulumu
Sunucunuz dahili ana bilgisayar adınız PBX ise dahili profilde hızlı yükleme.freeswitch.Org:
./gentls_cert kurulumu -cn pbx.freeswitch.Org -alt DNS: PBX.freeswitch.org -org freeswitch.org ./gentls_cert create_server -cn pbx.freeswitch.Org -alt DNS: PBX.freeswitch.org -org freeswitch.org
Müşterileriniz Sunucu Sertifikasını Destekliyor/Doğruluyorsa.Müşterilerinize PEM.
Müşterileriniz 5060 yerine 5061 numaralı bağlantı noktasında FreesWitch’e bağlanmasını ve istemcide TLS’yi (ve mümkünse SRTP) etkinleştirmesini sağlayın. Müşteriniz FreesWitch Setting Transport = TLS altında TLS-Bind-Params altında TLS Sunucudan yukarıdaki seçeneklere ek olarak. Son olarak, müşteri için bağlı aramalar için freeswitch sunucunuzda, RTP _ Secure _ Media = çağrı için true olarak ayarlayarak SRTP’yi geçmelerini sağlamak isteyeceksiniz (bunu sadece destekleyen müşteriler için daha fazla programlı olarak nasıl yapılacağına dair daha fazla ayrıntı için aşağıdaki 5. adıma bakın).
Freeswitch sunucunuzu yeniden başlatın (veya mod _ sofia’yı yeniden yükleyin) ve müşterinizin bağlanmasını sağlayın ve güvenli aramalar yapabilmeniz ve alabilmeniz gerekir! Güvenliği artırmak için tam TLS seçeneklerini kontrol edin ve sertifika kontrolünü etkinleştirin (ayrıca MITM’yi durdurmak için).
Adım 5 – RTP kanallarının güvenliği (isteğe bağlı)
TLS ayarlanırsa, telefondan kaynaklanan çağrılar RTP _ Secure _ Medya Ayarına sahiptir. Global uzantıyı kontrol edin. Gelen ayağı şifrelenirse, giden bacakta SRTP gerektireceğine dair bir bölüm var. TLS’yi desteklemedikleri için bunun çoğu ITS ile sorunlu olacaktır.
FreesWitch’ten kaynaklanan (veya yönlendirilen) ve kullanıcı/ bitiş noktasında sonlandırılan çağrılar için (e.G., bir telefona çağrı), TLS’ye kayıtlı uç nokta varsa aşağıdaki değişiklik SRTP’yi etkinleştirir. TLS’ye kaydolmanın geçerli bir yapılandırma olduğunu ancak SRTP gerektirmediğini unutmayın. Bu, kullanıcı/ uç noktalar için geçerli yapılandırma seçeneğini devre dışı bırakır. Ayrıca, TLS ile bağlantı kuran kullanıcı/ uç noktalarda ZRTP’yi desteklemek için daha fazla arıtma gerektirecektir. Bu durumda, daha iyi bir yaklaşım, kullanıcının dizin girişinde hangi RTP şifrelemesini desteklemek için bir şeyler ayarlamak olacaktır. (Başka bir deyişle, bunun varsayılan ayar olmamasının bir nedeni var.)
Conf/dizin/Varsayılan Düzenle.XML ve değiştir tövbe Param:
Neden iyi bir fikir
Yukarıdaki SIP Şifreleme Primerinde, RTP verilerini şifrelemenin neden iyi bir fikir olabileceğini tartıştık. Bu büyük ölçüde diyal katında yapılır ve işlevselliğine adanmış kendi sayfası vardır.
TLS olmadan kendi başına SRTP güvenli değildir, çünkü anahtarlar, TLS veya SSL olmadan güvensiz olan SIP’nin net üstü iki uç nokta arasında değiştirildiği için güvenli değildir.
SRTP’nin nasıl dağıtılacağı için güvenli RTP sayfasına bakın.
SIP_SECURE_Media parametresinin artık uygulanmadığını ve rtp_secure_media’yı ayarlamanız gerektiğini unutmayın
Tamamen güvenli bağlantı için (sinyal + ortam) TLS + SRTP kullanın. SRTP’siz TLS SIP’yi sabitler. TLS’siz SRTP gerçekten RTP’yi gerçekten güvence altına almıyor!
Adım 6 – DNS NAPTR & SRV Kayıtları (İsteğe Bağlı)
TLS için DNS NAPTR ve SRV’yi yapılandırma
TLS onsuz çalışacağı için bu gerekli değildir, ancak önerilir. TLS kuracaksanız, doğru DNS SRV ve NAPTR kayıtlarını ayarlamak için zaman ayırabilirsiniz.
İşte ihtiyacınız olan NAPTR kayıtlarına bir örnek (“Alan adı” için alt başlıklar yapın.com “gerektiğinde):
ihtisas.com. NAPTR 10 0 “S” “SIPS+D2T” “” _sips._TCP.ihtisas.com.
ihtisas.com. Naptr 20 0 “S” “SIP+D2T” “” _sip._TCP.ihtisas.com.
ihtisas.com. NAPTR 30 0 “S” “SIP+D2U” “” _sip._udp.ihtisas.com.
–Enable-sctp ile yapılandırırsanız ve Linux’a SCTP yüklüyorsanız, bu kaydı ekleyebilirsiniz:
ihtisas.com. NAPTR 10 0 “S” “SIPS+D2S” “” _Sip._sctp.ihtisas.com.
O zaman bu SRV kayıtlarını yukarıdaki NAPTR’ye ek olarak ayarlamak isteyeceksiniz:
_sips._TCP.ihtisas.com. SRV 10 0 5061 SIP.ihtisas.com.
_Yudumlamak._udp.ihtisas.com. SRV 10 0 5060 SIP.ihtisas.com.
_Yudumlamak._TCP.ihtisas.com. SRV 10 0 5060 SIP.ihtisas.com.
–Enable-sctp ile yapılandırırsanız ve Linux’a SCTP yüklüyorsanız, bu kaydı ekleyebilirsiniz:
_Yudumlamak._sctp.ihtisas.com. SRV 10 0 5060 SIP.ihtisas.com.
Örnek: SNOM telefonları, Freeswitch’in kökenli çağrılarında Sofia-Sip olarak hem NAPTR hem de SRV’yi tam olarak onurlandıracak.