[lxc-devel] [linuxcontainers.org/master] Update Korean security page for adding some security details

ysbnim on Github lxc-bot at linuxcontainers.org
Mon Feb 29 02:54:30 UTC 2016


A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 316 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20160229/22f71d32/attachment.bin>
-------------- next part --------------
From fa0a5b0b10f11e60ffd14f65c99b246303b31130 Mon Sep 17 00:00:00 2001
From: Sungbae Yoo <sungbae.yoo at samsung.com>
Date: Mon, 29 Feb 2016 11:44:34 +0900
Subject: [PATCH] Update Korean security page for adding some security details

Update for commit d796145

Signed-off-by: Sungbae Yoo <sungbae.yoo at samsung.com>
---
 content/lxc/security.ko.md | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/content/lxc/security.ko.md b/content/lxc/security.ko.md
index 80cda71..b45875f 100644
--- a/content/lxc/security.ko.md
+++ b/content/lxc/security.ko.md
@@ -4,7 +4,7 @@ LXC 컨테이너는 두가지로 나눌 수 있습니다.
  - 특권 컨테이너
  - 비특권 컨테이너
 
-전자는 이전 형식의 컨테이너라고 할 수 있습니다. 안전하지 않으므로, 비특권 컨테이너가 가능하지 않는 환경이나 컨테이너의 유저가 root에 접근해도 상관없을 때 사용하여야 합니다.
+전자는 이전 형식의 컨테이너라고 할 수 있습니다. 안전하지 않으므로, 비특권 컨테이너가 가능하지 않는 환경이나 컨테이너의 사용자가 root에 접근해도 상관없을 때 사용하여야 합니다.
 
 후자는 LXC 1.0 (2014년 2월)에서 도입되었으며, 최신 커널 (3.13보다 높은)이 요구됩니다. 이 컨테이너의 장점은 root 권한을 이용한 공격에 대해 안전하므로, 커널의 보안 문제가 없는 한 컨테이너는 안전하다는 것입니다.
 
@@ -42,6 +42,31 @@ LXC는 커널 보안 문제를 다룰 수 있는 하나의 추가 보안 레이
 
 LXC 개발진은 기꺼이 이러한 보안 문제를 추적하는 것을 도와줄 것입니다. 그리고 가능한한 빨리 해결하기 위해 리눅스 커널 커뮤니티에 연락을 취할 것입니다.
 
+# 잠재적 DoS 공격
+LXC는 기본적으로 DoS 공격을 막지는 않습니다. 여러개의 신뢰할 수 없는 컨테이너들을 실핼할 때, 또는 신뢰할 수 없는 사용자들에게 컨테이너들을 실행할 수 있게 허용할 때, 아래 사항들을 염두에 두고 설정 사항들을 업데이트해 나가야 합니다.
+
+## Cgroup 제한
+LXC는 자신의 부모로부터 cgroup 제한들을 상속받습니다. Linux 배포판이라면 제한이 설정되어 있지 않을 것입니다.
+그 결과, 컨테이너 내의 사용자는 fork 폭탄 방법으로 꽤 쉽게 host에게 DoS 공격을 가할 수 있습니다. 또한  모든 시스템의 메모리를 사용하거나 커널이 메모리를 모두 소진할 떄까지 네트워크 인터페이스를 생성할 수 있습니다.
+
+이러한 문제들은 적절한 lxc.cgroup 항목(memory, cpu, pids) 설정을 통해 어느정도 해결할 수 있습니다. 또는 부모 사용자가 로그인 시간에 적절히 설정된 cgroup에 위치할 수 있도록 하여, 해결할 수도 있습니다.
+
+## 사용자 제한 (ulimit)
+cgroup 처럼, 부모의 제한은 비특권 컨테이너로 상속되기 때문에, 부모보다 높은 ulimit 값은 설정할 수 없습니다.
+
+다만 염두에 두어야할 부분이 있는데, 네임스페이스가 제공하는 ulimit은 커널 관점의 uid로 묶여있다는 점입니다. 즉, 전역적인 커널 uid이며, 사용자 네임스페이스 안에서의 uid가 아닙니다.
+
+만약 서로 같은 커널 uid를 사용하는 id 매핑을 가지고 있는 두개의 컨테이너가 있다면, 그들은 서로 제한을 공유하게 되는 것입니다.
+이는 어떤 컨테이너 내의 사용자가 다른 컨테이너의 동일한 사용자에게 DoS 공격을 가할 수 있음을 의미합니다.
+
+이를 막기 위해서, 신뢰할 수 없는 사용자나 컨테이너는 id 매핑을 완전히 분리할 필요가 있습니다. (이상적으로는 65536개의 uid와 gid 각각에 대하여)
+
+## 네트워크 브리지 공유
+LXC는 컨테이너를 위해 L2 연결을 설정합니다. 또한 편의를 위해 시스템에 1개의 기본 브리지를 제공합니다.
+
+브리지에 연결된 컨테이너는 그들이 원하는 어떠한 L2 트래픽이라도 전송가능합니다. 따라서 브리지에 MAC/IP 스푸핑 공격을 하는 것이 가능합니다.
+신뢰할 수 없는 컨테이너들을 실핼할 때, 또는 신뢰할 수 없는 사용자들에게 컨테이너들을 실행할 수 있게 허용할 때, 이상적으로는 사용자 하나당 또는 컨테이너 그룹 하나당 하나의 브리지를 사용해야 합니다. 그리고 /etc/lxc/lxc-usernet에 그들이 할당한 브리지만 사용할 수 있도록 설정하여야 합니다.
+
 # 보안 문제 보고하기
 보안 문제를 가능한 빨리 모든 리눅스 배포판에서 고치길 원한다면, 아래 방법을 통해 해당 문제를 보내주시면 됩니다.
 


More information about the lxc-devel mailing list