ApsaraVideo VOD vous permet de configurer des politiques d'accès pour vos ressources vidéo à l'aide d'une liste de blocage/liste d'autorisation de Referer, d'une liste de blocage/liste d'autorisation User-Agent et d'une liste de blocage/liste d'autorisation IP. Cette fonctionnalité offre une protection de base, est simple à utiliser (car elle ne nécessite qu'une configuration côté cloud) et prend effet rapidement.
Liste de blocage/liste d'autorisation de Referer
Présentation
Cette fonctionnalité utilise l'en-tête HTTP Referer pour identifier la source d'une requête. Vous pouvez configurer une liste de blocage ou une liste d'autorisation de Referer (ces deux options s'excluent mutuellement) afin de restreindre l'accès à vos ressources vidéo.
Les modes liste de blocage et liste d'autorisation sont pris en charge. Lorsqu'un visiteur demande une ressource, la requête atteint un point de présence (POP). Le POP filtre ensuite la requête selon votre liste de blocage/liste d'autorisation de protection contre le hotlinking configurée. Si la requête respecte les règles, les données vidéo sont diffusées. Sinon, la requête est refusée avec un code d'état HTTP 403.
La prise en charge des domaines génériques est activée automatiquement. Par exemple, l'ajout de example.com à la liste crée une règle effective *.example.com, qui s'applique à tous ses sous-domaines.
Par défaut, les requêtes comportant un en-tête Referer vide sont autorisées, car les clients mobiles omettent souvent cet en-tête. Vous pouvez désactiver cette option.
Étant donné que le Referer est un en-tête HTTP, il peut être facilement falsifié, ce qui offre un niveau de sécurité faible.
Pour obtenir des instructions détaillées, consultez la rubrique Configurer la protection contre le hotlinking.
Exemple
Configurez la liste d'autorisation de Referer pour le domaine VOD example.cn-shanghai.aliyuncs.com avec aliyundoc.com et interdisez les requêtes comportant un en-tête Referer vide. Une requête est envoyée comme suit :
curl -i 'http://example.cn-shanghai.aliyuncs.com/sv/5101d1f8-1643f9a****/5101d1f8-1643f9a****.mp4'
-
Réponse
ali-186590dxxx:~ xxxan$ curl -i 'http://xxx.cn-shanghai.aliyuncs.com/sv/5101d1f8-1643f9axxx/5101d1f8-1643f9axxx.mp4' HTTP/1.1 403 Forbidden Server: Tengine Date: Wed, 27 Jun 2018 04:58:15 GMT Content-Type: text/html Content-Length: 254 Connection: keep-alive X-Tengine-Error: denied by Referer ACL Access-Control-Allow-Origin: * Via: cache2.cn491[,403003] Timing-Allow-Origin: * EagleId: 7b7d12ca153007549506xxxSi la requête inclut un Referer autorisé, une réponse normale est renvoyée :
curl -i 'http://example.cn-shanghai.aliyuncs.com/sv/5101d1f8-1643f9a****/5101d1f8-1643f9a****.mp4' \ -H 'Referer: http://www.aliyundoc.com'
Liste de blocage/liste d'autorisation User-Agent
Présentation
Le User-Agent est un en-tête de chaîne qui aide un serveur à identifier les attributs du client, tels que son système d'exploitation, son navigateur, sa version et les plug-ins installés. Vous pouvez utiliser une liste de blocage/liste d'autorisation User-Agent pour restreindre l'accès depuis des navigateurs ou des appareils spécifiques.
Étant donné que le User-Agent est un en-tête HTTP, il peut être facilement falsifié, ce qui offre un niveau de sécurité faible.
Pour obtenir des instructions détaillées, consultez la rubrique Configurer une liste de blocage/liste d'autorisation User-Agent.
Exemple
-
Par exemple, le User-Agent pour Internet Explorer 9 sur un PC :
User-Agent:Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0; -
Simulez une requête HTTP pour vérifier :
curl -i 'http://example.cn-shanghai.aliyuncs.com/sv/5101d1f8-1643f9a****.mp4' \ -H 'User-Agent: iPhone OS;MI 5'
Liste de blocage/liste d'autorisation IP
Présentation
-
Vous pouvez ajouter des adresses IP individuelles et des blocs CIDR.
Par exemple, dans le bloc CIDR
172.16.0.0/24, le /24 indique un préfixe réseau de 24 bits. Il reste donc 32-24=8 bits pour les adresses d'hôte, permettant 28=256 adresses. Par conséquent, ce bloc CIDR représente la plage d'adresses IP allant de 172.16.0.0 à 172.16.0.255. Choisissez d'utiliser remote_addr ou X-Forwarded-For (XFF) comme adresse IP source de la requête, ou faites correspondre les deux.
Le mécanisme de liste de blocage/liste d'autorisation IP ne convient pas à la distribution de contenu à grande échelle. De plus, les listes d'autorisation peuvent être contournées si un attaquant utilise une adresse IP provenant d'une plage autorisée.
Pour obtenir des instructions détaillées, consultez la rubrique Configurer une liste de blocage/liste d'autorisation IP.