SlideShare une entreprise Scribd logo
1  sur  100
Télécharger pour lire hors ligne
Дмитрий Столяров
v4
Проникновение в Docker
с примерами
Привет!
# whoami
dmitry.stolyarov
# hostname -d
flant.ru
# cat /etc/motd
Проникновение в Docker
с примерами
24×7×365 L1/L2/L3/L4 DevOps SLA
Опыт
Опыт
OpenSolaris Zones
Опыт
Gentoo и Linux-VServer 2006
OpenSolaris Zones
Опыт
Gentoo и Linux-VServer 2006
OpenSolaris Zones
procfs v1 by flant 2008
Опыт
Gentoo и Linux-VServer 2006
OpenSolaris Zones
procfs v1 by flant 2008
LXC
Опыт
Gentoo и Linux-VServer 2006
OpenSolaris Zones
procfs v1 by flant 2008
jailer by flant 2009
LXC
Опыт
Gentoo и Linux-VServer 2006
OpenSolaris Zones
procfs v1 by flant 2008
jailer by flant 2009
LXC
Docker 2013, осень
Опыт
Gentoo и Linux-VServer 2006
OpenSolaris Zones
procfs v1 by flant 2008
jailer by flant 2009
LXC
Docker 2013, осень
Docker 2014, 6 июня
Зачем проникать в Docker?
Continuous Delivery
Зачем проникать в Docker?
Тестовые окружения
Continuous Delivery
Зачем проникать в Docker?
Тестовые окружения
Continuous Delivery
Контейнеры
Зачем проникать в Docker?
Тестовые окружения
Continuous Delivery
Контейнеры
Зачем проникать в Docker?
}>90%
Тестовые окружения
Continuous Delivery
Контейнеры
}>90% Не нужен доступ
Зачем проникать в Docker?
Тестовые окружения
Continuous Delivery
Контейнеры Нужен доступ
}>90% Не нужен доступ
Зачем проникать в Docker?
OpenSSH OpenSSH
OpenSSH OpenSSH
:22 :22
OpenSSH OpenSSH
:22 :22
:23
OpenSSH OpenSSH
:22 :22
:23 :24
OpenSSH OpenSSH
:22 :22
reverse proxy
:22
Петя
OpenSSH
:22
Вася
Что такое Docker?
Что такое Docker?
capabilities
Что такое Docker?
capabilities
(2.2 / 1999)
Что такое Docker?
capabilities
(2.2 / 1999)
namespaces
Что такое Docker?
capabilities
(2.2 / 1999)
namespaces
(2.6.19 / Nov 2006)
Что такое Docker?
capabilities
(2.2 / 1999)
namespaces
(2.6.19 / Nov 2006)
cgroups
Что такое Docker?
capabilities
(2.2 / 1999)
namespaces
(2.6.19 / Nov 2006)
cgroups
(2.6.24 / Jan 2008)
Что такое Docker?
capabilities
(2.2 / 1999)
namespaces
(2.6.19 / Nov 2006)
cgroups
(2.6.24 / Jan 2008)
veth
(~ Sep 2007)
Что такое Docker?
capabilities
(2.2 / 1999)
namespaces
(2.6.19 / Nov 2006)
cgroups
(2.6.24 / Jan 2008)
veth
(~ Sep 2007)
aufs
(~ 2006)
Что такое Docker?
capabilities
(2.2 / 1999)
namespaces
(2.6.19 / Nov 2006)
cgroups
(2.6.24 / Jan 2008)
veth
(~ Sep 2007)
aufs
(~ 2006)
overlay
(3.18, Dec 2014)
Что такое Docker?
capabilities
(2.2 / 1999)
namespaces
(2.6.19 / Nov 2006)
cgroups
(2.6.24 / Jan 2008)
veth
(~ Sep 2007)
aufs
(~ 2006)
overlay
(3.18, Dec 2014)
kernel
Что такое Docker?
capabilities
(2.2 / 1999)
namespaces
(2.6.19 / Nov 2006)
cgroups
(2.6.24 / Jan 2008)
veth
(~ Sep 2007)
aufs
(~ 2006)
overlay
(3.18, Dec 2014)
Docker (~2014)
kernel
Что такое Docker?
capabilities
(2.2 / 1999)
namespaces
(2.6.19 / Nov 2006)
cgroups
(2.6.24 / Jan 2008)
veth
(~ Sep 2007)
aufs
(~ 2006)
overlay
(3.18, Dec 2014)
Docker (~2014)
kernel
unshare( );
unshare(CLONE_NEWIPC | CLONE_NEWNS |
CLONE_NEWNET | CLONE_NEWPID |
CLONE_NEWUTS);
unshare(CLONE_NEWIPC | CLONE_NEWNS |
CLONE_NEWNET | CLONE_NEWPID |
CLONE_NEWUTS);
if(fork()) {
wait(NULL);
return 0;
}
unshare(CLONE_NEWIPC | CLONE_NEWNS |
CLONE_NEWNET | CLONE_NEWPID |
CLONE_NEWUTS);
if(fork()) {
wait(NULL);
return 0;
}
umount("/proc");
mount("proc", "/proc", "proc", 0, 0);
unshare(CLONE_NEWIPC | CLONE_NEWNS |
CLONE_NEWNET | CLONE_NEWPID |
CLONE_NEWUTS);
if(fork()) {
wait(NULL);
return 0;
}
umount("/proc");
mount("proc", "/proc", "proc", 0, 0);
execl("/bin/bash", "/bin/bash", NULL);
#define _GNU_SOURCE
#include <sched.h>
#include <unistd.h>
#include <sys/mount.h>
#include <sys/wait.h>
int main() {
unshare(CLONE_NEWIPC | CLONE_NEWNS | CLONE_NEWNET | CLONE_NEWPID |
CLONE_NEWUTS);
if(fork()) {
wait(NULL);
return 0;
}
umount("/proc");
mount("proc", "/proc", "proc", 0, 0);
execl("/bin/bash", "/bin/bash", NULL);
}
# gcc unshare.c -o unshare
# gcc unshare.c -o unshare
# ./unshare
# gcc unshare.c -o unshare
# ./unshare
# ps ax
PID TTY STAT TIME COMMAND
1 pts/0 S 0:00 /bin/bash
12 pts/0 R+ 0:00 ps ax
# gcc unshare.c -o unshare
# ./unshare
# ps ax
PID TTY STAT TIME COMMAND
1 pts/0 S 0:00 /bin/bash
12 pts/0 R+ 0:00 ps ax
# netstat -natu
… nothing
#
pid
snprintf(pathbuf, 100, "/proc/%d/ns/net", pid);
snprintf(pathbuf, 100, "/proc/%d/ns/net", pid);
open(pathbuf, O_RDONLY)
snprintf(pathbuf, 100, "/proc/%d/ns/net", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/net", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/ipc", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/net", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/ipc", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/uts", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/net", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/ipc", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/uts", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/pid", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/net", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/ipc", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/uts", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/pid", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/mnt", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/net", pid);
setns(open(pathbuf, O_RDONLY), 0);
............
snprintf(pathbuf, 100, "/proc/%d/ns/mnt", pid);
setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/net", pid);
setns(open(pathbuf, O_RDONLY), 0);
............
snprintf(pathbuf, 100, "/proc/%d/ns/mnt", pid);
setns(open(pathbuf, O_RDONLY), 0);
if(fork()) {
wait(NULL);
return 0;
}
snprintf(pathbuf, 100, "/proc/%d/ns/net", pid);
setns(open(pathbuf, O_RDONLY), 0);
............
snprintf(pathbuf, 100, "/proc/%d/ns/mnt", pid);
setns(open(pathbuf, O_RDONLY), 0);
if(fork()) {
wait(NULL);
return 0;
}
execl("/bin/bash", "/bin/bash", NULL);
#define _GNU_SOURCE
#include <sched.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
#include <fcntl.h>
int main(int argc, char **argv) {
int pid = atoi(argv[1]);
char pathbuf[100];
snprintf(pathbuf, 100, "/proc/%d/ns/net", pid); setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/ipc", pid); setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/uts", pid); setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/pid", pid); setns(open(pathbuf, O_RDONLY), 0);
snprintf(pathbuf, 100, "/proc/%d/ns/mnt", pid); setns(open(pathbuf, O_RDONLY), 0);
if(fork()) {
wait(NULL);
return 0;
}
execl("/bin/bash", "/bin/bash", NULL);
}
# gcc setns.c -o setns
# gcc setns.c -o setns
# pstree -p $(pidof unshare)
unshare(5136)───bash(5137)
# gcc setns.c -o setns
# pstree -p $(pidof unshare)
unshare(5136)───bash(5137)
# ./setns 5137
# gcc setns.c -o setns
# pstree -p $(pidof unshare)
unshare(5136)───bash(5137)
# ./setns 5137
# ps ax
PID TTY STAT TIME COMMAND
1 pts/0 S+ 0:00 /bin/bash
42 pts/2 S 0:00 /bin/bash
52 pts/2 R+ 0:00 ps ax
Что такое Docker?
capabilities
(2.2 / 1999)
namespaces
(2.6.19 / Nov 2006)
cgroups
(2.6.24 / Jan 2008)
veth
(~ Sep 2007)
aufs
(~ 2006)
overlay
(3.18, Dec 2014)
Docker (~2014)
kernel
✔
Что такое Docker?
capabilities
(2.2 / 1999)
namespaces
(2.6.19 / Nov 2006)
cgroups
(2.6.24 / Jan 2008)
veth
(~ Sep 2007)
aufs
(~ 2006)
overlay
(3.18, Dec 2014)
Docker (~2014)
kernel
✔
# mkdir /sys/fs/cgroup/memory/mygroup
# mkdir /sys/fs/cgroup/memory/mygroup
# echo $$ > /sys/fs/cgroup/memory/mygroup/tasks
# mkdir /sys/fs/cgroup/memory/mygroup
# echo $$ > /sys/fs/cgroup/memory/mygroup/tasks
# cat /proc/$$/cgroup | grep memory
6:memory:/mygroup
# mkdir /sys/fs/cgroup/memory/mygroup
# echo $$ > /sys/fs/cgroup/memory/mygroup/tasks
# cat /proc/$$/cgroup | grep memory
6:memory:/mygroup
# bash
# mkdir /sys/fs/cgroup/memory/mygroup
# echo $$ > /sys/fs/cgroup/memory/mygroup/tasks
# cat /proc/$$/cgroup | grep memory
6:memory:/mygroup
# bash
# cat /sys/fs/cgroup/memory/mygroup/tasks
2165
4562
4572
# mkdir /sys/fs/cgroup/memory/mygroup
# echo $$ > /sys/fs/cgroup/memory/mygroup/tasks
# cat /proc/$$/cgroup | grep memory
6:memory:/mygroup
# bash
# cat /sys/fs/cgroup/memory/mygroup/tasks
2165
4562
4572
# echo $$ > /sys/fs/cgroup/memory/tasks
# rmdir /sys/fs/cgroup/memory/mygroup
# mkdir /sys/fs/cgroup/memory/mygroup
# echo $$ > /sys/fs/cgroup/memory/mygroup/tasks
# cat /proc/$$/cgroup | grep memory
6:memory:/mygroup
# bash
# cat /sys/fs/cgroup/memory/mygroup/tasks
2165
4562
4572
# echo $$ > /sys/fs/cgroup/memory/tasks
# rmdir /sys/fs/cgroup/memory/mygroup
Что такое Docker?
capabilities
(2.2 / 1999)
namespaces
(2.6.19 / Nov 2006)
cgroups
(2.6.24 / Jan 2008)
veth
(~ Sep 2007)
aufs
(~ 2006)
overlay
(3.18, Dec 2014)
Docker (~2014)
kernel
✔ ✔
Docker это rocket science?
Примочка непонятного действия?
Docker медленный для production?
Docker НЕ безопасный для production?
Что такое Docker?
capabilities
(2.2 / 1999)
namespaces
(2.6.19 / Nov 2006)
cgroups
(2.6.24 / Jan 2008)
veth
(~ Sep 2007)
aufs
(~ 2006)
overlay
(3.18, Dec 2014)
Docker (~2014)
kernel
Everything should be made
as simple as possible,
but not simpler.
Albert Einstein
Что нужно чтобы войти в Docker?
Что нужно чтобы войти в Docker?
Узнать pid и id контейнера
Что нужно чтобы войти в Docker?
Узнать pid и id контейнера
# docker inspect -f '{{.State.Pid}} {{.Id}}' container_name
Что нужно чтобы войти в Docker?
Добавить в cgroup`ы
Узнать pid и id контейнера
Что нужно чтобы войти в Docker?
Добавить в cgroup`ы
Узнать pid и id контейнера
for f in $(ls /sys/fs/cgroup/*/docker/$CONTAINER_ID/tasks)
do echo $$ > $f
done
Что нужно чтобы войти в Docker?
Добавить в cgroup`ы
Узнать pid и id контейнера
Сменить namepsace`ы
Что нужно чтобы войти в Docker?
Добавить в cgroup`ы
Узнать pid и id контейнера
Сменить namepsace`ы
Снять лишние capabilities
Петя
OpenSSH
:22
Вася
Петя
OpenSSH
:22
Вася
Петя
OpenSSH
:22
Вася
PAM
Петя
OpenSSH
:22
Вася
pam_docker
Петя
OpenSSH
:22
Вася
pam_docker
ProFTPd
:21
Петя
OpenSSH
:22
Вася
pam_docker
ProFTPd
:21
su / sudo
Петя
OpenSSH
:22
Вася
pam_docker
ProFTPd
:21
su / sudo
cron
php_fpm: master
php_fpm: master
W W W
php_fpm: master
W W W W W W
php_fpm: master
W W W W W W
Наши docker-проекты
github.com/flant/docker_penetration_experiment
github.com/flant/pam_docker
github.com/flant/php_fpm_docker
Дмитрий Столяров
dmitry.stolyarov@flant.ru
linkedin.com/in/distol
github.com/distol
Всем спасибо!
Тимофей Кириллов
github.com/distorhead

Contenu connexe

Tendances

Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Ontico
 
Docker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоватьсяDocker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоваться
Сергей Ладыгин
 
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Ontico
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
Ontico
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
Badoo Development
 
Депрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасДепрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчас
Ruslan Sharipov
 
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Ontico
 

Tendances (20)

Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
 
Docker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоватьсяDocker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоваться
 
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
 
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
Депрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасДепрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчас
 
Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков" Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков"
 
Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...
 
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
 
poudriere или как я перестал волноваться и полюбил pkg
poudriere или как я перестал волноваться и полюбил pkgpoudriere или как я перестал волноваться и полюбил pkg
poudriere или как я перестал волноваться и полюбил pkg
 
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиSPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
 
Docker integration into Badoo
Docker integration into BadooDocker integration into Badoo
Docker integration into Badoo
 
Введение в Docker
Введение в DockerВведение в Docker
Введение в Docker
 
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
 
Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)
 
Docker 1.9
Docker 1.9Docker 1.9
Docker 1.9
 
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
Elasticsearch(java) fluentbit(c++)    fluentd(ruby) kibana(javascript)Elasticsearch(java) fluentbit(c++)    fluentd(ruby) kibana(javascript)
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
 
Continuousdelivery
ContinuousdeliveryContinuousdelivery
Continuousdelivery
 

Similaire à Проникновение в Docker с примерами

SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/LinuxSECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON
 
Как приручить проектное окружение. PHP UG Minsk, июнь'2014
Как приручить проектное окружение. PHP UG Minsk, июнь'2014Как приручить проектное окружение. PHP UG Minsk, июнь'2014
Как приручить проектное окружение. PHP UG Minsk, июнь'2014
kamazee
 
Groovy On Grails
Groovy On GrailsGroovy On Grails
Groovy On Grails
guest32215a
 
О безопасном использовании PHP wrappers
О безопасном использовании PHP wrappersО безопасном использовании PHP wrappers
О безопасном использовании PHP wrappers
Positive Hack Days
 
Владимир Иванов - Безопасность Unix-подобных ОС
Владимир Иванов - Безопасность Unix-подобных ОСВладимир Иванов - Безопасность Unix-подобных ОС
Владимир Иванов - Безопасность Unix-подобных ОС
Yandex
 
Антон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с VagrantАнтон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с Vagrant
Daria Oreshkina
 
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Vadim Kruchkov
 
Cgroup и их использование в бк
Cgroup и их использование в бкCgroup и их использование в бк
Cgroup и их использование в бк
Yandex
 

Similaire à Проникновение в Docker с примерами (20)

SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/LinuxSECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
 
Как приручить проектное окружение. PHP UG Minsk, июнь'2014
Как приручить проектное окружение. PHP UG Minsk, июнь'2014Как приручить проектное окружение. PHP UG Minsk, июнь'2014
Как приручить проектное окружение. PHP UG Minsk, июнь'2014
 
Groovy On Grails
Groovy On GrailsGroovy On Grails
Groovy On Grails
 
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
 
Опенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр ВолковОпенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Опенсорс-инструменты на страже безопасности бэкенда — Петр Волков
 
Антон Галицын
Антон ГалицынАнтон Галицын
Антон Галицын
 
«Автоматизация тестовой инфраструктуры в 2ГИС» — Антон Голицын, 2ГИС
«Автоматизация тестовой инфраструктуры в 2ГИС» — Антон Голицын, 2ГИС«Автоматизация тестовой инфраструктуры в 2ГИС» — Антон Голицын, 2ГИС
«Автоматизация тестовой инфраструктуры в 2ГИС» — Антон Голицын, 2ГИС
 
CI/CD-приложений на Tarantool: от пустого репозитория — до продакшна
CI/CD-приложений на Tarantool: от пустого репозитория — до продакшнаCI/CD-приложений на Tarantool: от пустого репозитория — до продакшна
CI/CD-приложений на Tarantool: от пустого репозитория — до продакшна
 
О безопасном использовании PHP wrappers
О безопасном использовании PHP wrappersО безопасном использовании PHP wrappers
О безопасном использовании PHP wrappers
 
Владимир Иванов - Безопасность Unix-подобных ОС
Владимир Иванов - Безопасность Unix-подобных ОСВладимир Иванов - Безопасность Unix-подобных ОС
Владимир Иванов - Безопасность Unix-подобных ОС
 
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
 
Антон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с VagrantАнтон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с Vagrant
 
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
 
Стажировка 2016-07-14 02 Евгений Тарасенко. JavaScript
Стажировка 2016-07-14 02 Евгений Тарасенко. JavaScriptСтажировка 2016-07-14 02 Евгений Тарасенко. JavaScript
Стажировка 2016-07-14 02 Евгений Тарасенко. JavaScript
 
php frameworks
php frameworksphp frameworks
php frameworks
 
Cgroup и их использование в бк
Cgroup и их использование в бкCgroup и их использование в бк
Cgroup и их использование в бк
 
Быстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c VagrantБыстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c Vagrant
 
От Make к Ansible
От Make к AnsibleОт Make к Ansible
От Make к Ansible
 

Проникновение в Docker с примерами