wowza流媒體伺服器安全設定

來源:互聯網
上載者:User

wowza流媒體伺服器安全設定
今天跟大家分享下wowza流媒體伺服器的一些安全設定心得,使用這個軟體有一段時間了,但仍能感覺到許多問題存在,其中最為頭疼的還是防盜鏈的問題。wowza作為一個強大的流媒體平台,能夠提供多種格式的直播點播流。其中包括常用的rtmp,rtsp,http等還有一些流包括flash的f4m,微軟的smooth streaming 流。
這裡分享幾點wowza 的安全措施:

一.更改預設的流媒體連接埠
wowza預設連接埠包括80 554等這些都是比較常見的也是比較被注意的連接埠,建議修改掉預設的連接埠,這樣可以達到不輕易被掃描到 的效果
vi WowzaMediaServer/conf/VHost.xml

 
  1. !-- Separate multiple ports with commas -->
  2. <!-- 80: HTTP, RTMPT -->
  3. <!-- 554: RTSP -->
  4. <Port>10080</Port>
建議修改成較大的連接埠,一般10000以後,不會造成與其他應用的連接埠衝突

二.添加直播流防盜鏈設定
(1).針對RTMP及RTSP推流進行基於使用者名稱和密碼的認證
在流媒體平台中rtmp流是比較常用的一種格式,針對rtmp可以採用使用者名稱密碼的認證方式
這裡需要用到ModuleRTMPAuthenticate模組,從Wowza Media Server 3.5.0開始, ModuleRTMPAuthenticate模組已經內建到伺服器中了。如果你正在使用更早的版本,你必須下載MediaSecurity Addon來獲得這個模組。下載並解開壓縮包後, 將/lib檔案夾下的wms-plugin-security.jar檔案拷貝的Wowza Media Server的/lib檔案夾,然後重啟Wowza Media Server
1.開啟[install-dir]/conf/[application]/Application.xml檔案,在<Modules>的列表的最後面添加下面的<Module>:
 
  1. <Module>
  2. <Name>ModuleRTMPAuthenticate</Name>
  3. <Description>ModuleRTMPAuthenticate</Description>
  4. <Class>com.wowza.wms.security.ModuleRTMPAuthenticate</Class>
  5. </Module>
2.預設情況下,ModuleRTMPAuthenticate模組被設計為採用[install-dir]/conf/publish.password的文字檔來儲存使用者名稱和密碼。在檔案中新的一行添加的一個username和password來驗證推流。下面的例子展現了如何添加使用者名稱和密碼。
 
  1. # Publish password file (format [username][space][password])
  2. # username password
  3. myuser mypassword
3.為每一個應用配置一個使用者名稱和密碼的檔案:
將[install-dir]/conf/publish.password檔案拷貝到[install-dir]/conf/[application]/publish.password。
在[install-dir]/conf/[application]/Application.xml檔案最下面的的<Properties>中添加下面的屬性。
 
  1. <Property>
  2. <Name>rtmpEncoderAuthenticateFile</Name>
  3. <Value>${com.wowza.wms.context.VHostConfigHome}/conf/${com.wowza.wms.context.Application}/publish.password</Value>
  4. </Property>
(2).採用服務端API對Http流的播放請求進行存取控制
1.基於Http協議的流媒體播放技術在Wowza Media Server中包括Cupertino (iOS hls)、微軟Smooth (Silverlight) 以及San Jose (Flash HTTP):
 
  1. import com.wowza.wms.httpstreamer.model.IHTTPStreamerSession;
  2. import com.wowza.wms.module.*;
  3. import com.wowza.wms.application.*;

  4. public class ModuleAccessControlHTTPStreaming extends ModuleBase
  5. {
  6. public void onHTTPSessionCreate(IHTTPStreamerSession httpSession)
  7. {
  8. boolean isGood = true;

  9. String ipAddressClient = httpSession.getIpAddress();
  10. String ipAddressServer = httpSession.getServerIp();
  11. String queryStr = httpSession.getQueryStr();
  12. String referrer = httpSession.getReferrer();
  13. String cookieStr = httpSession.getCookieStr();
  14. String userAgent = httpSession.getUserAgent();

  15. IApplicationInstance appInstance = httpSession.getAppInstance();
  16. String streamName = httpSession.getStreamName();

  17. // Here you can use the request and session information above to determine
  18. // if you want to reject the connection
  19. // isGood = true/false;

  20. getLogger().info("ModuleAccessControlHTTPStreaming.onHTTPSessionCreate["+appInstance.getContextStr()+":"+streamName+"]: accept:"+isGood);

  21. if (!isGood)
  22. httpSession.rejectSession();
  23. }
  24. }
2.使用Wowza IDE編譯上面的代碼,將這個模組添加到/conf/[app-name]/Application.xml 檔案的模組集合中:
 
  1. <Module>
  2. <Name>ModuleAccessControlHTTPStreaming</Name>
  3. <Description>Access control for HTTP streams</Description>
  4. <Class>com.wowza.wms.example.module.ModuleAccessControlHTTPStreaming</Class>
  5. </Module>
三.關閉不需要直播流格式
wowza可以提供rtmp,rtsp,http等還有一些流包括flash的f4m,微軟的smooth streaming 流。但平時用到的可能不會是全部,這裡就建議大家根據自己的需要開放直播流的格式。一般情況下移動直播流媒體需要支援rtmp,rtsp及http的蘋果m3u8格式。對於flash的f4m,微軟的smooth streaming 流可能用到的較少,可以考慮關掉。具體的設定如下
編輯 [install-dir]/conf/[application]/Application.xml檔案,
將Streams/LiveStreamPacketizers屬性設定為:
去掉後面兩種編碼格式“smoothstreamingpacketizer,sanjosestreamingpacketizer”
 
  1. <LiveStreamPacketizers>cupertinostreamingpacketizer</LiveStreamPacketizers>

將HTTPStreamers屬性設定為:
去掉後面兩種編碼格式"smoothstreaming,sanjosestreaming"
 
  1. <HTTPStreamers>cupertinostreaming</HTTPStreamers>
當然可以根據自己的需要選擇提供的直播流編碼格式。

四.及時更新wowza軟體到最新版本
公司流媒體平台採用的是wowza流媒體伺服器,目前使用的還是3.X的版本叫做Wowza Media Server 3,wowza官方最新版本為Wowza Streaming Engine 4.0.4,大家注意到了,升級到4.0以後軟體的名字改變了,並沒有延續media server的稱呼而是改成了streaming engin,官方的說法是提供了一個強大的、直觀的Web管理介面:Wowza Streaming Engine Manager,而且對軟體做出了較大的改變,一般按照軟體更新的傳統,新版本都會修複原來存在的已知或未知的bug,應該升級到最新版本。不過這裡有個問題出現了,原來購買的wowza序號並不能直接應用到新版的wowoza streaming Engine,需要先將原來的序號撤銷,並重新獲得一個新的授權序號。而且對於原來3.x版本購買的增值應用不能相容到4.x版本,所以更新有風險,升級需謹慎那。 ngin

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.