SCW图标
英雄背景无分隔线
博客

Les codeurs conquièrent l'infrastructure de sécurité en tant que série de codes : protection insuffisante de la couche de transport

马蒂亚斯-马杜博士
出版日期: 2020 年 6 月 1 日
最后更新于 2026年3月8日

Si vous êtes développeur et souhaitez en savoir plus sur les étapes à suivre pour commencer à déployer une infrastructure sécurisée sous forme de code (IaC) dans votre organisation, vous êtes au bon endroit. Il s'agit du prochain chapitre de notre série IaC, conçue pour vous permettre de progresser en matière de meilleures pratiques en matière de sécurité IaC.

Avant de commencer, comment avez-vous relevé le défi du dernier épisode ? Si vous maîtrisez la cryptographie non sécurisée, voyons comment procéder si la protection de la couche de transport est insuffisante avant d'entrer dans les détails :

Vous voulez en savoir plus et obtenir un score parfait ? Lisez la suite :

Dans notre dernier article, nous avons parlé de l'importance de disposer d'une cryptographie sécurisée pour protéger toutes les données importantes ou personnelles stockées par des applications et des programmes. Si vous disposez d'un cryptage robuste, il constitue la dernière ligne de défense idéale. Même si un attaquant parvient à voler ces données, si elles sont fortement cryptées, les informations verrouillées dans ces fichiers sont toujours protégées.

La protection des données au repos n'est toutefois qu'une partie d'une défense complète des données. Chaque fois que des utilisateurs valides ont besoin d'accéder à des données protégées, celles-ci doivent leur être envoyées. Parfois, les applications partagent également des données avec d'autres programmes dans le cadre d'une charge de travail globale. À moins que la couche de transport ne soit protégée, elle la rend vulnérable à la fois à l'espionnage extérieur et à la visualisation interne non autorisée. Par conséquent, une protection insuffisante de la couche de transport peut entraîner de graves problèmes.

C'est un problème courant. L'organisation de sécurité OWASP tient même une page complète sur protection insuffisante de la couche de transport.

Pourquoi une protection insuffisante de la couche de transport est-elle dangereuse ?

Si vous ne protégez pas suffisamment vos couches de transport, il est relativement facile pour les pirates informatiques expérimentés d'intercepter les informations circulant entre vos utilisateurs et vos applications à l'aide de techniques telles que les attaques de type man-in-the-middle. L'aspect le plus dangereux de ce type d'espionnage est probablement qu'il est presque totalement invisible pour les plateformes de cybersécurité internes ou les scans, car il se produit en dehors de votre réseau et de votre contrôle.

Par exemple, dans un environnement Docker déployant un service Nginx :

services :
nginx :
image : localhost:5000/scw_nginx
construire :. /nginx
secrets :
- nginx_cert
- clé_nginx
volumes :
- type : lien
source :. /nginx/nginx.conf
cible : /etc/nginx/nginx.conf
read_only : oui
ports :
- 80:8443
réseaux :
- interface
déployer :
restart_policy : *default-restart_policy
ressources : *default-resources_policy

La configuration du service Nginx ne chiffrera ni ne protégera la connexion, ce qui rend toutes les informations échangées via le lien vulnérables à diverses attaques ou à l'espionnage.

serveur {
nom_serveur scw-dev-blog.org ;
écoutez 8443 ;
ssl_protocols TLSv1.2 TLSv1.3 ;
ssl_ciphers EECDH+AESGCM : EDH+AESGCM ;
ssl_prefer_server_ciphers activé ;
certificat_SSL /run/secrets/nginx_cert ;
clé_de certificat ssl/run/secrets/nginx_key ;
access_log /dev/stdout ;
error_log /dev/stderr ;
lieu/{
proxy_pass http://wordpress:8080 ;
proxy_set_header Hôte $http_host ;
proxy_set_header X-Forwarded-Host $http_host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-Pour $proxy_add_x_forwarded_for ;
proxy_set_header X-Forwarded-Proto $scheme ;
}
}

Souvent, le premier signal indiquant que quelqu'un est en train de fouiner dans vos couches de transport est l'utilisation d'un grand nombre de mots de passe utilisateur volés lors d'attaques ultérieures. Si d'autres données telles que les informations sur les clients, les dossiers financiers ou d'importants secrets d'entreprise sont volées via une couche de transport non sécurisée, vous ne vous rendrez peut-être jamais compte que vous avez été compromise.

Et ce n'est pas seulement la couche de transport entre les utilisateurs et les applications qui doit être protégée. Sur le backend, de nombreuses applications communiquent entre elles et avec des serveurs situés plus loin dans la chaîne de flux de travail. Bien que ces communications internes ne soient généralement pas vulnérables à l'espionnage externe, elles peuvent exposer des données à des utilisateurs autorisés à accéder au réseau mais non autorisés à consulter certaines informations hautement protégées ou sensibles.

Sécurisation adéquate des couches de transport pour une protection totale des données

Il est préférable de protéger les couches de transport pendant la création des applications. Ce processus commence par la mise en place d'une infrastructure backend sécurisée. Pour les sites Web, tout doit être fait en HTTPS. Ne mélangez jamais les infrastructures HTTP et HTTPS. Vous devriez même configurer vos sites pour qu'ils acheminent automatiquement les requêtes HTTP non sécurisées vers l'infrastructure HTTPS.

Dans l'exemple ci-dessus, une méthode appropriée pour protéger la couche de transport serait la suivante :

serveur {
nom_serveur scw-dev-blog.org ;
écoutez 8443 ssl ;
ssl_protocols TLSv1.2 TLSv1.3 ;
ssl_ciphers EECDH+AESGCM : EDH+AESGCM ;
ssl_prefer_server_ciphers activé ;
certificat_SSL /run/secrets/nginx_cert ;
clé_de certificat ssl/run/secrets/nginx_key ;
access_log /dev/stdout ;
error_log /dev/stderr ;
lieu/{
proxy_pass http://wordpress:8080 ;
proxy_set_header Hôte $http_host ;
proxy_set_header X-Forwarded-Host $http_host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-Pour $proxy_add_x_forwarded_for ;
proxy_set_header X-Forwarded-Proto $scheme ;
}
}

Dans cet exemple, toutes les connexions avec le service Nginx sont fortement cryptées. La section serveur de la configuration Nginx inclut uniquement écoutez 8443 ssl afin de forcer le protocole SSL à protéger les connexions.

Pour protéger vos données contre les menaces internes, les développeurs doivent utiliser un protocole de chiffrement robuste de la couche transport tel que TLS 1.2. Une fois que vous avez mis en place le protocole TLS 1.2 ou son équivalent, les protocoles les plus faibles tels que SSL v2 devraient être complètement supprimés de votre infrastructure et automatiquement interdits d'utilisation.

Et gardez toujours à l'esprit que la sécurisation d'une application n'est pas complète tant que les données au repos et les couches de transport ne sont pas suffisamment protégées. Vous pouvez ainsi garantir une protection complète de bout en bout des données, à la fois en interne et lorsqu'elles sont transmises à des utilisateurs externes autorisés.
Consultez le Secure Code Warrior pages de blog pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayez une démo de la plateforme de formation Secure Code Warrior pour maintenir toutes vos compétences en cybersécurité à jour et à jour.

显示资源
显示资源

Parfois, les applications partagent également des données avec d'autres programmes dans le cadre d'une charge de travail globale. À moins que la couche de transport ne soit protégée, elle la rend vulnérable à la fois à l'espionnage extérieur et à la visualisation interne non autorisée.

您想了解更多吗?

Matias Madou, Ph.D.是一位安全专家、研究员和CTO,也是Secure Code Warrior 的联合创始人。Matias在根特大学获得了应用安全的博士学位,主要研究静态分析解决方案。后来他加入了美国的Fortify公司,在那里他意识到,仅仅检测代码问题而不帮助开发人员编写安全代码是不够的。这激发了他开发产品的热情,帮助开发人员,减轻安全的负担,并超越客户的期望。当他不在办公桌前作为Awesome团队的一员时,他喜欢站在舞台上,在包括RSA会议、BlackHat和DefCon等会议上发表演讲。

了解更多

Secure Code Warrior 在整个软件开发周期中保障代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全负责人、开发人员、信息安全主管,还是其他任何参与安全工作的人员,我们都能协助您的组织降低不安全代码带来的风险。

预约演示
分享到:
领英品牌社交x 标志
作者
马蒂亚斯-马杜博士
发表于2020年6月1日

Matias Madou, Ph.D.是一位安全专家、研究员和CTO,也是Secure Code Warrior 的联合创始人。Matias在根特大学获得了应用安全的博士学位,主要研究静态分析解决方案。后来他加入了美国的Fortify公司,在那里他意识到,仅仅检测代码问题而不帮助开发人员编写安全代码是不够的。这激发了他开发产品的热情,帮助开发人员,减轻安全的负担,并超越客户的期望。当他不在办公桌前作为Awesome团队的一员时,他喜欢站在舞台上,在包括RSA会议、BlackHat和DefCon等会议上发表演讲。

马蒂亚斯是一名研究员和开发人员,拥有超过15年的软件安全实践经验。他曾为Fortify Software和他自己的公司Sensei Security等公司开发解决方案。在他的职业生涯中,马蒂亚斯领导了多个应用安全研究项目,并将其转化为商业产品,他拥有超过10项专利。当他离开办公桌时,Matias曾担任高级应用安全培训courses ,并定期在全球会议上发言,包括RSA会议、黑帽、DefCon、BSIMM、OWASP AppSec和BruCon。

马蒂亚斯拥有根特大学的计算机工程博士学位,在那里他研究了通过程序混淆来隐藏应用程序的内部工作的应用安全。

分享到:
领英品牌社交x 标志

Si vous êtes développeur et souhaitez en savoir plus sur les étapes à suivre pour commencer à déployer une infrastructure sécurisée sous forme de code (IaC) dans votre organisation, vous êtes au bon endroit. Il s'agit du prochain chapitre de notre série IaC, conçue pour vous permettre de progresser en matière de meilleures pratiques en matière de sécurité IaC.

Avant de commencer, comment avez-vous relevé le défi du dernier épisode ? Si vous maîtrisez la cryptographie non sécurisée, voyons comment procéder si la protection de la couche de transport est insuffisante avant d'entrer dans les détails :

Vous voulez en savoir plus et obtenir un score parfait ? Lisez la suite :

Dans notre dernier article, nous avons parlé de l'importance de disposer d'une cryptographie sécurisée pour protéger toutes les données importantes ou personnelles stockées par des applications et des programmes. Si vous disposez d'un cryptage robuste, il constitue la dernière ligne de défense idéale. Même si un attaquant parvient à voler ces données, si elles sont fortement cryptées, les informations verrouillées dans ces fichiers sont toujours protégées.

La protection des données au repos n'est toutefois qu'une partie d'une défense complète des données. Chaque fois que des utilisateurs valides ont besoin d'accéder à des données protégées, celles-ci doivent leur être envoyées. Parfois, les applications partagent également des données avec d'autres programmes dans le cadre d'une charge de travail globale. À moins que la couche de transport ne soit protégée, elle la rend vulnérable à la fois à l'espionnage extérieur et à la visualisation interne non autorisée. Par conséquent, une protection insuffisante de la couche de transport peut entraîner de graves problèmes.

C'est un problème courant. L'organisation de sécurité OWASP tient même une page complète sur protection insuffisante de la couche de transport.

Pourquoi une protection insuffisante de la couche de transport est-elle dangereuse ?

Si vous ne protégez pas suffisamment vos couches de transport, il est relativement facile pour les pirates informatiques expérimentés d'intercepter les informations circulant entre vos utilisateurs et vos applications à l'aide de techniques telles que les attaques de type man-in-the-middle. L'aspect le plus dangereux de ce type d'espionnage est probablement qu'il est presque totalement invisible pour les plateformes de cybersécurité internes ou les scans, car il se produit en dehors de votre réseau et de votre contrôle.

Par exemple, dans un environnement Docker déployant un service Nginx :

services :
nginx :
image : localhost:5000/scw_nginx
construire :. /nginx
secrets :
- nginx_cert
- clé_nginx
volumes :
- type : lien
source :. /nginx/nginx.conf
cible : /etc/nginx/nginx.conf
read_only : oui
ports :
- 80:8443
réseaux :
- interface
déployer :
restart_policy : *default-restart_policy
ressources : *default-resources_policy

La configuration du service Nginx ne chiffrera ni ne protégera la connexion, ce qui rend toutes les informations échangées via le lien vulnérables à diverses attaques ou à l'espionnage.

serveur {
nom_serveur scw-dev-blog.org ;
écoutez 8443 ;
ssl_protocols TLSv1.2 TLSv1.3 ;
ssl_ciphers EECDH+AESGCM : EDH+AESGCM ;
ssl_prefer_server_ciphers activé ;
certificat_SSL /run/secrets/nginx_cert ;
clé_de certificat ssl/run/secrets/nginx_key ;
access_log /dev/stdout ;
error_log /dev/stderr ;
lieu/{
proxy_pass http://wordpress:8080 ;
proxy_set_header Hôte $http_host ;
proxy_set_header X-Forwarded-Host $http_host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-Pour $proxy_add_x_forwarded_for ;
proxy_set_header X-Forwarded-Proto $scheme ;
}
}

Souvent, le premier signal indiquant que quelqu'un est en train de fouiner dans vos couches de transport est l'utilisation d'un grand nombre de mots de passe utilisateur volés lors d'attaques ultérieures. Si d'autres données telles que les informations sur les clients, les dossiers financiers ou d'importants secrets d'entreprise sont volées via une couche de transport non sécurisée, vous ne vous rendrez peut-être jamais compte que vous avez été compromise.

Et ce n'est pas seulement la couche de transport entre les utilisateurs et les applications qui doit être protégée. Sur le backend, de nombreuses applications communiquent entre elles et avec des serveurs situés plus loin dans la chaîne de flux de travail. Bien que ces communications internes ne soient généralement pas vulnérables à l'espionnage externe, elles peuvent exposer des données à des utilisateurs autorisés à accéder au réseau mais non autorisés à consulter certaines informations hautement protégées ou sensibles.

Sécurisation adéquate des couches de transport pour une protection totale des données

Il est préférable de protéger les couches de transport pendant la création des applications. Ce processus commence par la mise en place d'une infrastructure backend sécurisée. Pour les sites Web, tout doit être fait en HTTPS. Ne mélangez jamais les infrastructures HTTP et HTTPS. Vous devriez même configurer vos sites pour qu'ils acheminent automatiquement les requêtes HTTP non sécurisées vers l'infrastructure HTTPS.

Dans l'exemple ci-dessus, une méthode appropriée pour protéger la couche de transport serait la suivante :

serveur {
nom_serveur scw-dev-blog.org ;
écoutez 8443 ssl ;
ssl_protocols TLSv1.2 TLSv1.3 ;
ssl_ciphers EECDH+AESGCM : EDH+AESGCM ;
ssl_prefer_server_ciphers activé ;
certificat_SSL /run/secrets/nginx_cert ;
clé_de certificat ssl/run/secrets/nginx_key ;
access_log /dev/stdout ;
error_log /dev/stderr ;
lieu/{
proxy_pass http://wordpress:8080 ;
proxy_set_header Hôte $http_host ;
proxy_set_header X-Forwarded-Host $http_host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-Pour $proxy_add_x_forwarded_for ;
proxy_set_header X-Forwarded-Proto $scheme ;
}
}

Dans cet exemple, toutes les connexions avec le service Nginx sont fortement cryptées. La section serveur de la configuration Nginx inclut uniquement écoutez 8443 ssl afin de forcer le protocole SSL à protéger les connexions.

Pour protéger vos données contre les menaces internes, les développeurs doivent utiliser un protocole de chiffrement robuste de la couche transport tel que TLS 1.2. Une fois que vous avez mis en place le protocole TLS 1.2 ou son équivalent, les protocoles les plus faibles tels que SSL v2 devraient être complètement supprimés de votre infrastructure et automatiquement interdits d'utilisation.

Et gardez toujours à l'esprit que la sécurisation d'une application n'est pas complète tant que les données au repos et les couches de transport ne sont pas suffisamment protégées. Vous pouvez ainsi garantir une protection complète de bout en bout des données, à la fois en interne et lorsqu'elles sont transmises à des utilisateurs externes autorisés.
Consultez le Secure Code Warrior pages de blog pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayez une démo de la plateforme de formation Secure Code Warrior pour maintenir toutes vos compétences en cybersécurité à jour et à jour.

显示资源
显示资源

请填写以下表格以下载报告

我们希望获得您的授权,以便向您发送有关我们产品和/或安全编码相关主题的信息。我们将始终以最高标准谨慎处理您的个人数据,绝不会将其出售给其他企业用于营销目的。

提交
scw 成功图标
SCW 错误图标
要提交表单,请启用「Analytics」Cookie。完成操作后,请随时将其重新禁用。

Si vous êtes développeur et souhaitez en savoir plus sur les étapes à suivre pour commencer à déployer une infrastructure sécurisée sous forme de code (IaC) dans votre organisation, vous êtes au bon endroit. Il s'agit du prochain chapitre de notre série IaC, conçue pour vous permettre de progresser en matière de meilleures pratiques en matière de sécurité IaC.

Avant de commencer, comment avez-vous relevé le défi du dernier épisode ? Si vous maîtrisez la cryptographie non sécurisée, voyons comment procéder si la protection de la couche de transport est insuffisante avant d'entrer dans les détails :

Vous voulez en savoir plus et obtenir un score parfait ? Lisez la suite :

Dans notre dernier article, nous avons parlé de l'importance de disposer d'une cryptographie sécurisée pour protéger toutes les données importantes ou personnelles stockées par des applications et des programmes. Si vous disposez d'un cryptage robuste, il constitue la dernière ligne de défense idéale. Même si un attaquant parvient à voler ces données, si elles sont fortement cryptées, les informations verrouillées dans ces fichiers sont toujours protégées.

La protection des données au repos n'est toutefois qu'une partie d'une défense complète des données. Chaque fois que des utilisateurs valides ont besoin d'accéder à des données protégées, celles-ci doivent leur être envoyées. Parfois, les applications partagent également des données avec d'autres programmes dans le cadre d'une charge de travail globale. À moins que la couche de transport ne soit protégée, elle la rend vulnérable à la fois à l'espionnage extérieur et à la visualisation interne non autorisée. Par conséquent, une protection insuffisante de la couche de transport peut entraîner de graves problèmes.

C'est un problème courant. L'organisation de sécurité OWASP tient même une page complète sur protection insuffisante de la couche de transport.

Pourquoi une protection insuffisante de la couche de transport est-elle dangereuse ?

Si vous ne protégez pas suffisamment vos couches de transport, il est relativement facile pour les pirates informatiques expérimentés d'intercepter les informations circulant entre vos utilisateurs et vos applications à l'aide de techniques telles que les attaques de type man-in-the-middle. L'aspect le plus dangereux de ce type d'espionnage est probablement qu'il est presque totalement invisible pour les plateformes de cybersécurité internes ou les scans, car il se produit en dehors de votre réseau et de votre contrôle.

Par exemple, dans un environnement Docker déployant un service Nginx :

services :
nginx :
image : localhost:5000/scw_nginx
construire :. /nginx
secrets :
- nginx_cert
- clé_nginx
volumes :
- type : lien
source :. /nginx/nginx.conf
cible : /etc/nginx/nginx.conf
read_only : oui
ports :
- 80:8443
réseaux :
- interface
déployer :
restart_policy : *default-restart_policy
ressources : *default-resources_policy

La configuration du service Nginx ne chiffrera ni ne protégera la connexion, ce qui rend toutes les informations échangées via le lien vulnérables à diverses attaques ou à l'espionnage.

serveur {
nom_serveur scw-dev-blog.org ;
écoutez 8443 ;
ssl_protocols TLSv1.2 TLSv1.3 ;
ssl_ciphers EECDH+AESGCM : EDH+AESGCM ;
ssl_prefer_server_ciphers activé ;
certificat_SSL /run/secrets/nginx_cert ;
clé_de certificat ssl/run/secrets/nginx_key ;
access_log /dev/stdout ;
error_log /dev/stderr ;
lieu/{
proxy_pass http://wordpress:8080 ;
proxy_set_header Hôte $http_host ;
proxy_set_header X-Forwarded-Host $http_host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-Pour $proxy_add_x_forwarded_for ;
proxy_set_header X-Forwarded-Proto $scheme ;
}
}

Souvent, le premier signal indiquant que quelqu'un est en train de fouiner dans vos couches de transport est l'utilisation d'un grand nombre de mots de passe utilisateur volés lors d'attaques ultérieures. Si d'autres données telles que les informations sur les clients, les dossiers financiers ou d'importants secrets d'entreprise sont volées via une couche de transport non sécurisée, vous ne vous rendrez peut-être jamais compte que vous avez été compromise.

Et ce n'est pas seulement la couche de transport entre les utilisateurs et les applications qui doit être protégée. Sur le backend, de nombreuses applications communiquent entre elles et avec des serveurs situés plus loin dans la chaîne de flux de travail. Bien que ces communications internes ne soient généralement pas vulnérables à l'espionnage externe, elles peuvent exposer des données à des utilisateurs autorisés à accéder au réseau mais non autorisés à consulter certaines informations hautement protégées ou sensibles.

Sécurisation adéquate des couches de transport pour une protection totale des données

Il est préférable de protéger les couches de transport pendant la création des applications. Ce processus commence par la mise en place d'une infrastructure backend sécurisée. Pour les sites Web, tout doit être fait en HTTPS. Ne mélangez jamais les infrastructures HTTP et HTTPS. Vous devriez même configurer vos sites pour qu'ils acheminent automatiquement les requêtes HTTP non sécurisées vers l'infrastructure HTTPS.

Dans l'exemple ci-dessus, une méthode appropriée pour protéger la couche de transport serait la suivante :

serveur {
nom_serveur scw-dev-blog.org ;
écoutez 8443 ssl ;
ssl_protocols TLSv1.2 TLSv1.3 ;
ssl_ciphers EECDH+AESGCM : EDH+AESGCM ;
ssl_prefer_server_ciphers activé ;
certificat_SSL /run/secrets/nginx_cert ;
clé_de certificat ssl/run/secrets/nginx_key ;
access_log /dev/stdout ;
error_log /dev/stderr ;
lieu/{
proxy_pass http://wordpress:8080 ;
proxy_set_header Hôte $http_host ;
proxy_set_header X-Forwarded-Host $http_host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-Pour $proxy_add_x_forwarded_for ;
proxy_set_header X-Forwarded-Proto $scheme ;
}
}

Dans cet exemple, toutes les connexions avec le service Nginx sont fortement cryptées. La section serveur de la configuration Nginx inclut uniquement écoutez 8443 ssl afin de forcer le protocole SSL à protéger les connexions.

Pour protéger vos données contre les menaces internes, les développeurs doivent utiliser un protocole de chiffrement robuste de la couche transport tel que TLS 1.2. Une fois que vous avez mis en place le protocole TLS 1.2 ou son équivalent, les protocoles les plus faibles tels que SSL v2 devraient être complètement supprimés de votre infrastructure et automatiquement interdits d'utilisation.

Et gardez toujours à l'esprit que la sécurisation d'une application n'est pas complète tant que les données au repos et les couches de transport ne sont pas suffisamment protégées. Vous pouvez ainsi garantir une protection complète de bout en bout des données, à la fois en interne et lorsqu'elles sont transmises à des utilisateurs externes autorisés.
Consultez le Secure Code Warrior pages de blog pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayez une démo de la plateforme de formation Secure Code Warrior pour maintenir toutes vos compétences en cybersécurité à jour et à jour.

查看网络研讨会
开始
了解更多

点击下方链接,下载此资源的PDF文件。

Secure Code Warrior 在整个软件开发周期中保障代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全负责人、开发人员、信息安全主管,还是其他任何参与安全工作的人员,我们都能协助您的组织降低不安全代码带来的风险。

显示报告预约演示
下载PDF文件
显示资源
分享到:
领英品牌社交x 标志
您想了解更多吗?

分享到:
领英品牌社交x 标志
作者
马蒂亚斯-马杜博士
发表于2020年6月1日

Matias Madou, Ph.D.是一位安全专家、研究员和CTO,也是Secure Code Warrior 的联合创始人。Matias在根特大学获得了应用安全的博士学位,主要研究静态分析解决方案。后来他加入了美国的Fortify公司,在那里他意识到,仅仅检测代码问题而不帮助开发人员编写安全代码是不够的。这激发了他开发产品的热情,帮助开发人员,减轻安全的负担,并超越客户的期望。当他不在办公桌前作为Awesome团队的一员时,他喜欢站在舞台上,在包括RSA会议、BlackHat和DefCon等会议上发表演讲。

马蒂亚斯是一名研究员和开发人员,拥有超过15年的软件安全实践经验。他曾为Fortify Software和他自己的公司Sensei Security等公司开发解决方案。在他的职业生涯中,马蒂亚斯领导了多个应用安全研究项目,并将其转化为商业产品,他拥有超过10项专利。当他离开办公桌时,Matias曾担任高级应用安全培训courses ,并定期在全球会议上发言,包括RSA会议、黑帽、DefCon、BSIMM、OWASP AppSec和BruCon。

马蒂亚斯拥有根特大学的计算机工程博士学位,在那里他研究了通过程序混淆来隐藏应用程序的内部工作的应用安全。

分享到:
领英品牌社交x 标志

Si vous êtes développeur et souhaitez en savoir plus sur les étapes à suivre pour commencer à déployer une infrastructure sécurisée sous forme de code (IaC) dans votre organisation, vous êtes au bon endroit. Il s'agit du prochain chapitre de notre série IaC, conçue pour vous permettre de progresser en matière de meilleures pratiques en matière de sécurité IaC.

Avant de commencer, comment avez-vous relevé le défi du dernier épisode ? Si vous maîtrisez la cryptographie non sécurisée, voyons comment procéder si la protection de la couche de transport est insuffisante avant d'entrer dans les détails :

Vous voulez en savoir plus et obtenir un score parfait ? Lisez la suite :

Dans notre dernier article, nous avons parlé de l'importance de disposer d'une cryptographie sécurisée pour protéger toutes les données importantes ou personnelles stockées par des applications et des programmes. Si vous disposez d'un cryptage robuste, il constitue la dernière ligne de défense idéale. Même si un attaquant parvient à voler ces données, si elles sont fortement cryptées, les informations verrouillées dans ces fichiers sont toujours protégées.

La protection des données au repos n'est toutefois qu'une partie d'une défense complète des données. Chaque fois que des utilisateurs valides ont besoin d'accéder à des données protégées, celles-ci doivent leur être envoyées. Parfois, les applications partagent également des données avec d'autres programmes dans le cadre d'une charge de travail globale. À moins que la couche de transport ne soit protégée, elle la rend vulnérable à la fois à l'espionnage extérieur et à la visualisation interne non autorisée. Par conséquent, une protection insuffisante de la couche de transport peut entraîner de graves problèmes.

C'est un problème courant. L'organisation de sécurité OWASP tient même une page complète sur protection insuffisante de la couche de transport.

Pourquoi une protection insuffisante de la couche de transport est-elle dangereuse ?

Si vous ne protégez pas suffisamment vos couches de transport, il est relativement facile pour les pirates informatiques expérimentés d'intercepter les informations circulant entre vos utilisateurs et vos applications à l'aide de techniques telles que les attaques de type man-in-the-middle. L'aspect le plus dangereux de ce type d'espionnage est probablement qu'il est presque totalement invisible pour les plateformes de cybersécurité internes ou les scans, car il se produit en dehors de votre réseau et de votre contrôle.

Par exemple, dans un environnement Docker déployant un service Nginx :

services :
nginx :
image : localhost:5000/scw_nginx
construire :. /nginx
secrets :
- nginx_cert
- clé_nginx
volumes :
- type : lien
source :. /nginx/nginx.conf
cible : /etc/nginx/nginx.conf
read_only : oui
ports :
- 80:8443
réseaux :
- interface
déployer :
restart_policy : *default-restart_policy
ressources : *default-resources_policy

La configuration du service Nginx ne chiffrera ni ne protégera la connexion, ce qui rend toutes les informations échangées via le lien vulnérables à diverses attaques ou à l'espionnage.

serveur {
nom_serveur scw-dev-blog.org ;
écoutez 8443 ;
ssl_protocols TLSv1.2 TLSv1.3 ;
ssl_ciphers EECDH+AESGCM : EDH+AESGCM ;
ssl_prefer_server_ciphers activé ;
certificat_SSL /run/secrets/nginx_cert ;
clé_de certificat ssl/run/secrets/nginx_key ;
access_log /dev/stdout ;
error_log /dev/stderr ;
lieu/{
proxy_pass http://wordpress:8080 ;
proxy_set_header Hôte $http_host ;
proxy_set_header X-Forwarded-Host $http_host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-Pour $proxy_add_x_forwarded_for ;
proxy_set_header X-Forwarded-Proto $scheme ;
}
}

Souvent, le premier signal indiquant que quelqu'un est en train de fouiner dans vos couches de transport est l'utilisation d'un grand nombre de mots de passe utilisateur volés lors d'attaques ultérieures. Si d'autres données telles que les informations sur les clients, les dossiers financiers ou d'importants secrets d'entreprise sont volées via une couche de transport non sécurisée, vous ne vous rendrez peut-être jamais compte que vous avez été compromise.

Et ce n'est pas seulement la couche de transport entre les utilisateurs et les applications qui doit être protégée. Sur le backend, de nombreuses applications communiquent entre elles et avec des serveurs situés plus loin dans la chaîne de flux de travail. Bien que ces communications internes ne soient généralement pas vulnérables à l'espionnage externe, elles peuvent exposer des données à des utilisateurs autorisés à accéder au réseau mais non autorisés à consulter certaines informations hautement protégées ou sensibles.

Sécurisation adéquate des couches de transport pour une protection totale des données

Il est préférable de protéger les couches de transport pendant la création des applications. Ce processus commence par la mise en place d'une infrastructure backend sécurisée. Pour les sites Web, tout doit être fait en HTTPS. Ne mélangez jamais les infrastructures HTTP et HTTPS. Vous devriez même configurer vos sites pour qu'ils acheminent automatiquement les requêtes HTTP non sécurisées vers l'infrastructure HTTPS.

Dans l'exemple ci-dessus, une méthode appropriée pour protéger la couche de transport serait la suivante :

serveur {
nom_serveur scw-dev-blog.org ;
écoutez 8443 ssl ;
ssl_protocols TLSv1.2 TLSv1.3 ;
ssl_ciphers EECDH+AESGCM : EDH+AESGCM ;
ssl_prefer_server_ciphers activé ;
certificat_SSL /run/secrets/nginx_cert ;
clé_de certificat ssl/run/secrets/nginx_key ;
access_log /dev/stdout ;
error_log /dev/stderr ;
lieu/{
proxy_pass http://wordpress:8080 ;
proxy_set_header Hôte $http_host ;
proxy_set_header X-Forwarded-Host $http_host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-Pour $proxy_add_x_forwarded_for ;
proxy_set_header X-Forwarded-Proto $scheme ;
}
}

Dans cet exemple, toutes les connexions avec le service Nginx sont fortement cryptées. La section serveur de la configuration Nginx inclut uniquement écoutez 8443 ssl afin de forcer le protocole SSL à protéger les connexions.

Pour protéger vos données contre les menaces internes, les développeurs doivent utiliser un protocole de chiffrement robuste de la couche transport tel que TLS 1.2. Une fois que vous avez mis en place le protocole TLS 1.2 ou son équivalent, les protocoles les plus faibles tels que SSL v2 devraient être complètement supprimés de votre infrastructure et automatiquement interdits d'utilisation.

Et gardez toujours à l'esprit que la sécurisation d'une application n'est pas complète tant que les données au repos et les couches de transport ne sont pas suffisamment protégées. Vous pouvez ainsi garantir une protection complète de bout en bout des données, à la fois en interne et lorsqu'elles sont transmises à des utilisateurs externes autorisés.
Consultez le Secure Code Warrior pages de blog pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayez une démo de la plateforme de formation Secure Code Warrior pour maintenir toutes vos compétences en cybersécurité à jour et à jour.

目录

下载PDF文件
显示资源
您想了解更多吗?

Matias Madou, Ph.D.是一位安全专家、研究员和CTO,也是Secure Code Warrior 的联合创始人。Matias在根特大学获得了应用安全的博士学位,主要研究静态分析解决方案。后来他加入了美国的Fortify公司,在那里他意识到,仅仅检测代码问题而不帮助开发人员编写安全代码是不够的。这激发了他开发产品的热情,帮助开发人员,减轻安全的负担,并超越客户的期望。当他不在办公桌前作为Awesome团队的一员时,他喜欢站在舞台上,在包括RSA会议、BlackHat和DefCon等会议上发表演讲。

了解更多

Secure Code Warrior 在整个软件开发周期中保障代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全负责人、开发人员、信息安全主管,还是其他任何参与安全工作的人员,我们都能协助您的组织降低不安全代码带来的风险。

预约演示下载
分享到:
领英品牌社交x 标志
资源中心

帮助您入门的资源

更多帖子
资源中心

帮助您入门的资源

更多帖子