12P by lancard 2일전 | ★ favorite | 댓글 13개

최신 Debian 13(Trixie) 기반 한글 XWINDOW (wayland) Docker 이미지를 만들어 공개합니다.

실제로 윈도우 쓰시는 분들이 많은데, 가끔가다 도커로 한글되는 리눅스 X윈도우 띄워서 작업하시고 싶을 때가 가끔 있으실거에요.
그래서!
윈도우 원격 데스크탑으로 접근 가능한 데비안 기반 한글 GUI 환경을 만들어보았습니다.

이 이미지에는 Visual Studio Code, Chromium, Vim, Git, Node.js + npm 등 개발 환경에 필요한 주요 툴이 기본 설치되어 있어, 바로 개발 환경으로 활용할 수 있습니다. (덕분에 덩치가 좀 큽니다)

주요 특징으로는,

  • 윈도우 원격 데스크탑(RDP) 접속 가능
  • 데이터 및 볼륨 유지: /home/(사용자명)을 Docker 볼륨으로 연결하면 데이터 지속 가능

주의사항으로는,
Docker에서 실행되므로 VSCode와 Chromium은 sandbox 모드 미사용됩니다. 보안 유의 부탁드리고요, 사운드 기능은 충돌과 버그가 많아 제외되었습니다. 제 생각으로는 대부분 음악은 윈도우 PC 에서 듣고 계실 것 같아서 제외하였습니다.

개발 환경을 빠르게 구축하고 싶은 한글 사용자에게 특히 유용한 이미지입니다.

소스는 https://github.com/lancard/x11-korean 있으니 참고하시고, 필요하신 기능 있다면 언제든 이슈나 PR 날려주세요!

로컬리소스(C: D: 등) 연결 하시려면 privileged 모드로 실행하시면 됩니다. (그러면 CTRL + C / V 파일 복사 먹습니다)

호오옥.. vs code가 실행이 안되네요 :)

자답입니다 반응이 없어서 이거저거 보다가 터미널에서 code --no-sandbox로 하니까 열리네요.

음? 바탕화면에 있는게 안열리셨을까요?

아 네 안되더라구요. 뭘 잘못한건지..

제가 계속 이미지를 변경하고 있어서 중간 이미지라 그러실 수도 있습니다.
일단 바탕화면 vscode 아이콘이 명령이 /usr/bin/code %F 인지 확인해보시고요,
/usr/bin/code 파일 열어서 끝에서 두번째 줄이
ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" --no-sandbox --disable-gpu "$@"
로 되어있는지 확인해보세요.

최근 도커 공부를 하는 사람입니다. trivy 로 이 이미지의 취약점을 검사해봤는데, 1053개의 취약점이 나왔습니다. 다 중요한거 같지는 않고 그냥 온갖 것들 다 잡아내는 것 같은데, 실무적으로 이미지의 보안성은 어떻게 확인하고 달성하는지 혹시 조언 부탁드려도 될까요

사실 취약점 제거 방법은 너무 많아서 정답이 없습니다만
저같은 경우 최대한 안정화된 최신버전 사용하고 github action 사용 시에는 security bot을 최대한 켜둡니다. 사실 이번 xwindow 이미지는 보시면 아시겠지만 프로그래밍한 부분이 없어서 설치된 프로그램들의 자체 기본 취약점만 있을거에요.

sandbox 모드가 적용되지 않은게 왜 보안 유의사항인가 궁금했습니다.
도커는 내부 프로세스에 샌드박스 기능을 제공하지 않는다는건가요? 그래서 어쩔 수 없이 루트로 실행될 수밖에 없고, 비록 도커로 격리된 환경이라 하더라도 호스트와 매핑된 볼륨에는 악성코드가 침투될수도 있는 위험을 의미한거에요? 아니면 도커 내부 파일시스템에 사용자가 생성한 파일이 안전하지 않을 수 있다는걸까요?

제가 알기론 윈도우든 리눅스든 크롬은 샌드박스 모드로 돕니다. 그니까... 혹시나 javascript 등으로 exploit 만들어서 취약점 공격을 해도 실제 OS 에는 영향을 미치지 않는거죠.

근데 컨테이너모드에서는 priviliged 모드를 켜야만 아마 그 기능을 켤 수 있을겁니다.

물론 해당 모드를 켜라고 안내할 수도 있긴합니다만, 컨테이너 자체가 샌드박스라고 저는 생각했어요. 손쉽게 켰다가 끄는 윈도우 같은 느낌이라고 해야 할까요...

그래서 크로미움과 일렉트론 기반 vscode 는 sandbox가 아닌 모드에서 돌게 해둔 것입니다.

어디까지나 크로미움과 vscode 에 취약점이 있고, 해당 공격자가 그걸 이용해서 exploit 을 만들 수 있다고 가정하면 위험할 수 있다는 뜻입니다.

docker 명은 lancard/xwindow-korean 입니다

wayland 라서 repo 명을 https://github.com/lancard/xwindow-korean 로 변경하였습니다~

우분투가 데비안 계열이므로 apt 등도 편하게 이용하실 수 있습니다. 우분투 기본 이미지보다 데비안이 더 낫더라구요.