Skip to content

식탁보 프로젝트의 리눅스 버전 개발을 위한 리포지터리입니다.

License

Notifications You must be signed in to change notification settings

yourtablecloth/TableClothLinux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TableCloth Linux (식탁보 리눅스)

스크린 샷

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 클라이언트 불필요

사전 요구 사항

  1. LXD 설치 및 초기화

    sudo snap install lxd
    sudo lxd init --auto
  2. 현재 사용자를 lxd 그룹에 추가 (재로그인 필요)

    sudo usermod -aG lxd $USER
  3. .NET 10.0 SDK 설치

    # Ubuntu/Debian
    sudo apt install dotnet-sdk-10.0
  4. 충분한 디스크 공간 (최소 10GB 권장)

설치 및 사용 방법

1. 저장소 클론

git clone https://github.com/youwereeatenbyalid/TableClothLinux.git
cd TableClothLinux

2. 컨테이너 빌드

dotnet run create.cs build wooribank

빌드 과정에서 cloud-init이 패키지 설치 및 환경 설정을 수행합니다. 이 과정은 약 10-15분 소요됩니다.

3. 컨테이너 실행

dotnet run create.cs run wooribank

4. noVNC로 접속

웹 브라우저에서 다음 주소로 접속합니다:

http://localhost:6080

VNC 비밀번호: tlrXKRqh

5. 인터넷 뱅킹 이용

  1. 데스크톱에서 Google Chrome 실행
  2. 우리은행 인터넷뱅킹 접속: https://www.wooribank.com
  3. 보안 프로그램이 자동으로 활성화됨

이미지 내보내기/가져오기

이미지 내보내기 (백업 또는 배포용)

dotnet run create.cs export wooribank ./tablecloth-wooribank.tar.gz

이미지 가져오기

dotnet 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 기반 온디맨드 샌드박스로 활용할 수 있습니다:

  1. 이미지를 Blob Storage에 업로드
  2. VM 시작 시 이미지 다운로드 → lxc image importlxc launch
  3. 세션 종료 시 VM 자동 종료 (scale-to-zero)

기여하기

이 프로젝트에 기여하고 싶으시다면 이슈를 제출하거나 풀 리퀘스트를 보내주세요.

  • 새로운 은행 지원 추가
  • 버그 리포트 및 수정
  • 문서 개선

라이선스

이 프로젝트는 GNU Affero General Public License에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

About

식탁보 프로젝트의 리눅스 버전 개발을 위한 리포지터리입니다.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages