wowza流媒体服务器安全设置

简介:  今天跟大家分享下wowza流媒体服务器的一些安全设置心得,使用这个软件有一段时间了,但仍能感觉到许多问题存在,其中最为头疼的还是防盗链的问题。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文件,在的列表的最后面添加下面的:

点击(此处)折叠或打开

  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文件最下面的的中添加下面的属性。

点击(此处)折叠或打开

  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.         
  10.         String ipAddressClient = httpSession.getIpAddress();
  11.         String ipAddressServer = httpSession.getServerIp();
  12.         String queryStr = httpSession.getQueryStr();
  13.         String referrer = httpSession.getReferrer();
  14.         String cookieStr = httpSession.getCookieStr();
  15.         String userAgent = httpSession.getUserAgent();
  16.         
  17.         IApplicationInstance appInstance = httpSession.getAppInstance();
  18.         String streamName = httpSession.getStreamName();
  19.         
  20.         // Here you can use the request and session information above to determine
  21.         // if you want to reject the connection
  22.         // isGood = true/false;
  23.         
  24.         getLogger().info("ModuleAccessControlHTTPStreaming.onHTTPSessionCreate["+appInstance.getContextStr()+":"+streamName+"]: accept:"+isGood);
  25.         
  26.         if (!isGood)
  27.             httpSession.rejectSession();
  28.     }
  29. }
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
相关文章
|
1月前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
|
3月前
|
运维 Linux Windows
【计算巢】幻兽帕鲁服务器如何设置定时备份存档
计算巢针对幻兽帕鲁服务器,提供给了定时备份存档的功能,会在设定的频率下,定时将存档文件备份到目标文件夹下,有助于解决存档丢失和坏档的问题。
3169 1
|
3月前
|
监控 测试技术 网络安全
基于阿里云计算巢部署的幻兽帕鲁服务器我该如何设置计划任务定时备份和重启,以及存档导入导出
基于阿里云计算巢部署的幻兽帕鲁服务器我该如何设置计划任务定时备份和重启,以及存档导入导出
|
3月前
|
弹性计算 安全 Linux
幻兽帕鲁专用服务器设置教程详解(已收藏)
幻兽帕鲁专用服务器设置教程详解(已收藏)如何自建幻兽帕鲁服务器?基于阿里云服务器搭建幻兽帕鲁palworld服务器教程来了,一看就懂系列。
919 0
|
3月前
|
弹性计算 Linux 开发工具
幻兽帕鲁服务器如何设置/修改密码
介绍了如何设置幻兽帕鲁服务器的密码,以及需要密码才可以加入到服务器中教程
12762 6
幻兽帕鲁服务器如何设置/修改密码
|
2月前
|
弹性计算 Ubuntu Linux
2024年幻兽帕鲁一键搭建服务器+一键参数设置教程
《幻兽帕鲁》这款游戏是适合多年龄段玩家进行游玩的,小伙伴们一个人玩会感觉很无聊那不妨喊上自己的好朋友们一起来玩,在这款游戏中小伙伴们需要在广袤的地图上搜寻属于自己的“帕鲁”,培养他们进行创造、战斗、制作等,帮助你创造属于自己的家园。这款游戏目前还是十分火爆的那么本期就来讲讲幻兽帕鲁服务器搭建教程。
138 1
|
2月前
|
安全 网络协议 Linux
Linux系统管理、服务器设置、安全、云数据中心
Linux系统管理、服务器设置、安全、云数据中心
|
1月前
|
弹性计算 监控
ecs合理设置CPUCredits
阿里云ECS的Burstable实例使用CPU Credits管理额外计算能力。监控应用负载以评估CPU需求,选择合适实例类型,优化工作负载分配,确保 Credits 累积与消耗平衡。当Credits不足时,可升级实例或调整工作负载。关注阿里云最新文档以获取准确操作指南。
22 3
|
1月前
|
Java Python
如何设置代理ip服务器地址
如何设置代理ip服务器地址
55 0
|
1月前
|
API 数据安全/隐私保护
Outlook邮箱IMAP服务器设置怎么做?
Outlook邮箱IMAP服务器设置怎么做?