TableCloth Linux는 리눅스에서 한국 인터넷 뱅킹 서비스를 사용할 수 있도록 LXD 기반 샌드박스 환경을 자동으로 구축하는 오픈 소스 프로젝트입니다.
한국의 인터넷 뱅킹 및 전자 정부 서비스는 전용 보안 프로그램을 요구하여 리눅스 사용자들이 접근하기 어려웠습니다. TableCloth Linux는 이러한 문제를 해결하기 위해 LXD 컨테이너 환경에서 필요한 보안 프로그램들을 자동으로 설치하고 설정하여, 격리된 환경에서 안전하게 금융 서비스를 이용할 수 있게 합니다.
- 컨테이너 플랫폼: LXD (시스템 컨테이너)
- 기본 OS: Debian 12 (Bookworm) - 장기 안정성 및 보수적인 패키지 정책
- 데스크톱 환경: XFCE4 + Chicago95 테마 (Windows 95 스타일)
- 원격 접속: TightVNC + noVNC (웹 브라우저 기반)
- 한글 지원: IBus + Hangul 입력기, Nanum/Noto CJK 폰트
현재는 우리은행 위주로 지원하고 있으며, 추후 다른 은행으로 확대할 예정입니다.
-
LXD 컨테이너 기반 샌드박스
- 호스트 시스템과 완전 격리
- 이미지 내보내기/가져오기로 이식성 확보
- 스냅샷을 통한 롤백 가능
-
보안 모듈 자동 설치
- IPInside-LWS (키보드 보안)
- Veraport-G3 (통합 설치 관리자)
- AnySign4PC (공동인증서)
- AhnLab Safe Transaction (ASTX)
-
한글 환경 완벽 지원
- 한글 로케일 (ko_KR.UTF-8)
- IBus 한글 입력기
- 나눔/Noto CJK 폰트
-
웹 기반 원격 데스크톱
- noVNC를 통한 브라우저 접속
- 별도 VNC 클라이언트 불필요
-
LXD 설치 및 초기화
sudo snap install lxd sudo lxd init --auto
-
현재 사용자를 lxd 그룹에 추가 (재로그인 필요)
sudo usermod -aG lxd $USER -
.NET 10.0 SDK 설치
# Ubuntu/Debian sudo apt install dotnet-sdk-10.0 -
충분한 디스크 공간 (최소 10GB 권장)
git clone https://github.com/youwereeatenbyalid/TableClothLinux.git
cd TableClothLinuxdotnet run create.cs build wooribank빌드 과정에서 cloud-init이 패키지 설치 및 환경 설정을 수행합니다. 이 과정은 약 10-15분 소요됩니다.
dotnet run create.cs run wooribank웹 브라우저에서 다음 주소로 접속합니다:
http://localhost:6080
VNC 비밀번호: tlrXKRqh
- 데스크톱에서 Google Chrome 실행
- 우리은행 인터넷뱅킹 접속: https://www.wooribank.com
- 보안 프로그램이 자동으로 활성화됨
dotnet run create.cs export wooribank ./tablecloth-wooribank.tar.gzdotnet run create.cs import wooribank ./tablecloth-wooribank.tar.gz| 명령어 | 설명 |
|---|---|
build <사이트> |
컨테이너 생성 및 환경 설치 |
run <사이트> |
컨테이너 시작 및 포트 포워딩 |
export <사이트> [경로] |
컨테이너를 이미지 파일로 내보내기 |
import <사이트> <경로> |
이미지 파일에서 컨테이너 생성 |
help |
도움말 표시 |
# 쉘 접속
lxc exec tablecloth-wooribank -- su - tablecloth
# 컨테이너 중지
lxc stop tablecloth-wooribank
# 컨테이너 삭제
lxc delete tablecloth-wooribank --force- 리눅스용 뱅킹 플러그인은 아직 초기 단계로, 특정 배포판/버전에서만 테스트됨
- 일부 보안 프로그램이 LXD 컨테이너에서 커널 모듈 접근 제한으로 경고를 표시할 수 있음
- 32비트 Wine 지원이 필요한 일부 플러그인은 추가 설정 필요
내보낸 이미지를 Azure Blob Storage 등에 업로드하여 VMSS 기반 온디맨드 샌드박스로 활용할 수 있습니다:
- 이미지를 Blob Storage에 업로드
- VM 시작 시 이미지 다운로드 →
lxc image import→lxc launch - 세션 종료 시 VM 자동 종료 (scale-to-zero)
이 프로젝트에 기여하고 싶으시다면 이슈를 제출하거나 풀 리퀘스트를 보내주세요.
- 새로운 은행 지원 추가
- 버그 리포트 및 수정
- 문서 개선
이 프로젝트는 GNU Affero General Public License에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
