사용 중인 배포판에서 설치
공식 저장소를 추가하면 이후에는 평소의 업데이트 명령으로 갱신되며 앱 내 업데이트 확인도 동작합니다. 의존 패키지(nftables, CJK 폰트 등)는 자동으로 설치됩니다.
Ubuntu / Debian / Mint / Pop!_OS / Raspberry Pi OS (APT)
curl -fsSL https://lafine.net/apt/roamswitch-archive-keyring.asc \ | sudo gpg --dearmor -o /usr/share/keyrings/roamswitch-archive-keyring.gpg echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/roamswitch-archive-keyring.gpg] https://lafine.net/apt stable main" \ | sudo tee /etc/apt/sources.list.d/roamswitch.list sudo apt update && sudo apt install roamswitch
Fedora / RHEL / CentOS Stream (DNF)
sudo rpm --import https://lafine.net/rpm/RPM-GPG-KEY-roamswitch sudo curl -fsSL -o /etc/yum.repos.d/roamswitch.repo https://lafine.net/rpm/fedora/roamswitch.repo sudo dnf install roamswitch
openSUSE (zypper)
sudo rpm --import https://lafine.net/rpm/RPM-GPG-KEY-roamswitch sudo zypper addrepo https://lafine.net/rpm/opensuse/roamswitch.repo sudo zypper refresh && sudo zypper install roamswitch
Arch / Manjaro / EndeavourOS
Not published on the AUR. Build from the bundled PKGBUILD (the release tarball is verified against the signing key).
gpg --recv-keys 9C12964366B8547511AAEAF5773A9A39ECBD1537 curl -fsSLO https://lafine.net/linux/dl/PKGBUILD curl -fsSLO https://lafine.net/linux/dl/roamswitch.install makepkg -si
不使用仓库时,可从 lafine.net/linux/dl 直接下载带签名的 tarball(.tar.gz + .tar.gz.asc,amd64 / aarch64)(此时应用内的更新检查将不可用)。
설치 후 roamswitch.service가 자동으로 시작되고 로그인 시 트레이 아이콘이 상주합니다. 최초 실행 시 온보딩 마법사(GTK)가 표시됩니다. CLI(roamswitch status)는 OS 로캘에 따라 한국어 또는 영어로 진단 결과를 출력합니다.
Linux 네이티브로 동작하는 자율 방어
🛡️ nftables 프로파일 자율 전환클라이언트 버전 전용
신뢰 네트워크(집)에서는 쾌적한 로컬 통신을 허용하고, 직장에서는 의심스러운 포트를 감시하며, 공용 Wi-Fi에서는 모든 수신을 스텔스 차단합니다. 게이트웨이 MAC으로 판정하며 전환은 밀리초 단위입니다.
🚨 랜섬웨어 자율 격리클라이언트 버전 전용
fanotify + 섀넌 엔트로피 + YARA로 암호화 버스트를 감지해 해당 프로세스를 SIGSTOP으로 즉시 정지시키고, 모든 외부 통신(Air-Gap)과 공유 서비스를 긴급 차단합니다.
📶 Wi-Fi 암호화 강도 경고클라이언트 버전 전용
암호화 없음(Open)이나 WEP/WPA에 연결하면 보호 수준을 자동으로 높이고 데스크톱 알림을 표시합니다. 공유 서비스(SSH/Samba/RDP)의 자동 중지·복원도 지원합니다(옵트인).
🔌 비인가 USB / BadUSB 가드클라이언트 버전 전용
승인되지 않은 USB 저장장치는 연결을 보류하고 승인 대화상자를 표시합니다. 키 입력 주입 장치(BadUSB 키보드)는 evdev로 입력만 소프트웨어적으로 억제합니다(커널 수준에서 포트를 물리적으로 차단하지 않음). 다운로드 폴더의 ClamAV 자동 검사·격리도 포함합니다.
📜 24/30개 항목 보안 종합 진단
LUKS·Secure Boot·LSM·SSH/sudo·sysctl·ARP 고정·외부 공개 포트·브라우저 Safe Browsing 등 클라이언트 24개 항목을, Server Edition은 CIS 기준 30개 항목을 10개 언어로 채점합니다. GUI / CLI / MCP에서 확인할 수 있습니다.
🤖 MCP 서버 포함
roamswitch-mcp로 Claude 등 AI 에이전트가 JSON-RPC(stdio)를 통해 보안 상태를 읽을 수 있습니다. 읽기 전용·완전 로컬. MCP 연동 설정을 참고하세요.
🔒 VPN 터널 + 킬 스위치클라이언트 버전 전용
공용 Wi-Fi에서는 WireGuard 또는 Tailscale(Exit Node)로 모든 트래픽을 암호화 터널로 보냅니다. nftables 킬 스위치가 터널 밖 평문 누출을 차단하고, 터널이 끊겨도 그대로 통과시키지 않습니다(fail-closed). 중간자 공격(MITM) 대응의 핵심입니다.
🎣 패시브 링크 가드(피싱 연결 차단)클라이언트 버전 전용
아웃바운드 연결의 대상 호스트명을 DNS 질의·TLS SNI·HTTP Host에서 읽어, 피싱/사기 사이트 연결을 경고 또는 차단합니다(기본값은 block, DoH 브라우저에도 적용). warn 모드에서 무응답은 fail-closed. 판정은 로컬 피드와 오프라인 휴리스틱만 사용하며 대상은 어디에도 전송하지 않습니다.
🖧 서버 자율 방어 & SSH 접속 차단 방지서버 버전 전용
클라우드 VPS와 데이터센터를 위해 인바운드 기본 차단(Default Drop)을 자동으로 적용합니다. 연결 중인 관리용 SSH 세션(ESTABLISHED)을 보호해 관리자가 접속 차단되는 것을 미연에 방지합니다. 원하는 경우 guard.yaml로 심각도별 격리 동작과 세이프티 타이머(응답이 없으면 자동 복구)를 세밀하게 설정할 수 있습니다.
⚡ eBPF 침입 탐지 & 자율 격리(Falco / Tetragon)
커널 레벨 eBPF 이벤트(리버스 셸, 권한 상승, 무단 바이너리 실행)를 UNIX 소켓을 통해 실시간으로 포착합니다. 센서는 Falco(기본값)와 Cilium Tetragon(gRPC) 중에서 선택할 수 있습니다. 침해된 프로세스(SIGSTOP/SIGKILL)나 호스트(Air-Gap)를 밀리초 단위로 자율 격리합니다.
📂 크리티컬 패스 FIM(파일 변조 감시)서버 버전 전용
/etc/shadow, /etc/pam.d, /usr/bin/ 등 주요 시스템 바이너리・설정의 SHA-256 해시를 이벤트 기반으로 감시해 변조가 발생하는 순간 탐지합니다(주기적 스캔은 백스톱). 백도어 설치나 무단 변조를 즉시 탐지해 안전하게 보고・격리합니다.
🧠 리소스 고갈・프로세스 이상 탐지 가드서버 버전 전용
메모리 누수 DoS 공격과 크래시 루프(UAF 익스플로잇 시도의 징후)를 탐지합니다. GC가 있는 런타임의 정상적인 톱니파형 메모리 증감은 오탐하지 않으며, '회복이 없는 지속적인 RSS 증가'만을 판정합니다. 크래시 루프는 systemd 자체의 고정 어휘를 구조적으로 판정합니다(새로운 폴링 없음). eBPF/FIM 이벤트와 PID 단위로 상관시켜 확신도(possible/correlated)를 부여합니다.
🧱 Egress / C2 차단 & DNS 싱크홀서버 버전 전용
알려진 악성 IP로의 발신을 로컬 위협 피드로 자동 차단합니다. 원하는 경우 DNS 싱크홀(Quad9 / Cloudflare / AdGuard / CleanBrowsing)을 활성화해 악성 도메인 해석도 차단할 수 있습니다(사내 DNS 환경을 손상하지 않도록 기본값은 OFF).
📢 멀티 채널 긴급 알림서버 버전 전용
침해 탐지・프로세스 종료・Air-Gap 격리・FIM 위반이 발생하는 순간, Slack, Discord, Microsoft Teams, Syslog, Webhook으로 상세한 인시던트 정보를 즉시 통보합니다.
🐳 Docker 위험 탐지 & 방화벽 우회 대책
특권 컨테이너(--privileged)나 docker.sock 마운트의 실행을 docker events로 실시간 탐지합니다(알림 전용). DOCKER-USER 체인을 이용한 방화벽 우회 대책은 클라이언트・서버 버전 모두에서 상시 작동합니다.
🧫 File Scan Guard(YARA + ClamAV)서버 버전 전용
메일 릴레이・공유 폴더・업로드 대상 등, 타인에게 전달할 파일을 보관하는 디렉터리를 정기적으로 스캔합니다(클라이언트판의 다운로드 폴더 자동 스캔과는 별개로, 임의의 공유 디렉터리를 대상으로 하는 추가 계층입니다). 내장된 YARA는 외부 의존성 없이 상시 작동하며, 원하는 경우 ClamAV를 추가할 수 있습니다. 확인된 위협은 자동으로 격리됩니다.
🔑 기밀 정보・API 키 유출 스캐너
OpenAI・Anthropic・AWS・GitHub・Slack・Stripe 등의 API 키와 SSH 개인 키를 텍스트뿐 아니라 디렉터리 전체에서도 탐지합니다(.git 등은 자동 제외). CLI・MCP・Python SDK에서 이용할 수 있으며, 내용은 외부로 전송되지 않습니다.
📦 패키지 CVE 대조(dpkg/pacman/dnf/zypper + 종속성)클라이언트 버전 전용
설치된 OS 패키지와 개발 중인 프로젝트의 종속성(npm・PyPI・crates.io 등 7개 에코시스템)을 로컬에 보관된 알려진 CVE 맵과 대조합니다. 네트워크 활동은 전혀 발생하지 않습니다.
🖥️ ClickFix 대응: 클립보드 감시로 악성 명령어 탐지·삭제클라이언트 버전 전용
가짜 광고나 CAPTCHA 화면이 "인증 코드를 복사해서 붙여넣으세요"라고 유도해 실제로는 악성 명령어를 실행시키는 "ClickFix"형 공격에 대응합니다. gtk::Clipboard 폴링(X11/Wayland 모두 지원)으로 복사된 순간 감지하며, 알려진 악성 패턴이면 내용을 자동으로 삭제하고 경고합니다. 붙여넣는 곳이 터미널이든 GNOME/KDE 실행 대화상자든 관계없이 복사 시점에 일괄적으로 탐지합니다.
🔔 알림 기록(최근 7일)
RoamSwitch가 보낸 알림을 표시된 순간뿐 아니라 나중에도 다시 확인할 수 있습니다. CLI(roamswitch notifications), GUI, MCP(get_notification_history), Python SDK에서 조회할 수 있습니다. 보관 기간이 지난 알림은 자동으로 삭제됩니다.
연결된 게이트웨이 MAC을 식별해 nftables 프로필을 자율 전환합니다. 공유 서비스 제어와 ARP 고정도 이 화면에서.
보호 수준 즉시 전환, 수동 오버라이드 유효 기간, DNS 위협 보호, 언어 전환을 트레이에서 조작.
지원 환경
| 완전 지원 | Ubuntu 22.04 / 24.04, Debian 12+, Linux Mint, Pop!_OS, elementary, Zorin, Raspberry Pi OS 64비트 (Bookworm), Ubuntu for Raspberry Pi |
|---|---|
| 아키텍처 | x86_64 / aarch64 (Raspberry Pi 4 / 5) |
| 필수 | systemd, nftables. 트레이 UI에는 AppIndicator/StatusNotifierItem을 지원하는 데스크톱(KDE / Cinnamon / MATE / Budgie, 확장 기능을 넣은 GNOME)이 필요합니다. 헤드리스 환경에서는 daemon + CLI + MCP로 운용할 수 있습니다. |
| 패키지 | APT(Ubuntu/Debian 계열), DNF(Fedora/RHEL), zypper(openSUSE), AUR(Arch). 비 systemd 계열(Alpine / Void / Devuan)은 지원하지 않습니다. |
| 용도 | 워크스테이션・노트북 등을 위한 클라이언트 버전(GUI/트레이 포함)과, 클라우드 VPS・컨테이너 호스트・데이터센터를 위한 서버 버전(헤드리스・Default Drop・eBPF/Falco 연동)의 두 가지 패키지를 제공합니다. |
클라이언트 버전 / 서버 버전 비교
워크스테이션・노트북을 위한 「클라이언트 버전」과, 클라우드 VPS・컨테이너 호스트・데이터센터를 위한 「서버 버전」. 환경에 맞는 최적의 자율 방어를 제공합니다.
| 영역 | 클라이언트 에디션(현행) | 서버 버전(헤드리스) |
|---|---|---|
| 네트워크 판별·프로파일 전환 | Wi-Fi / 게이트웨이 MAC로 자율 전환(3프로파일) | Static policy (/etc/roamswitch/server.conf, fixed Default Drop) |
| 방화벽 자세 | 개방 / 표준 / 잠금 자동 선택 | 기본 거부 + 공개 서비스 포트만 명시 허용(인바운드 최소화) |
| 아웃바운드(egress) 트래픽 | 패시브 링크 가드·DNS 위협 보호로 피싱 차단 | C2·악성 도메인 egress 차단 + 발신 제한 |
| VPN 터널 + 킬 스위치 | ✅ WireGuard / Tailscale | ❌ 미지원(관리 접근은 SSH만 가능합니다. VPN이 필요하면 OS 표준 WireGuard 등을 직접 구성하세요) |
| 랜섬웨어 탐지·자율 격리 / fanotify 악성코드 검사 | fanotify 기반 랜섬웨어 자율 탐지·프로세스 정지 | eBPF 침입 탐지(Falco / Tetragon) + 크리티컬 패스 FIM(이벤트 기반·즉시 탐지) + 리소스 고갈·크래시 루프 탐지 |
| 커널 강화(sysctl / Yama / noexec) | 신뢰할 수 없는 네트워크 접속 시 적용 | 상시 적용 |
| 보안 건전성 진단 | ✅ 24개 항목(GUI / CLI / MCP) | ✅ 30개 항목(CIS Benchmark 기준·CLI / MCP) |
| 운영 UI | GTK GUI + 트레이 + CLI + MCP | CLI + MCP + 원격 관리(헤드리스) |
| 긴급 알림 | 데스크톱 알림 (GTK / libnotify) | Slack / Discord / Teams / Syslog / Webhook 즉시 알림 |
| 중앙 관리·감사 | Business 라이선스로 추가 | Business 라이선스로 추가(서명 정책 배포·주기적 체크인, 무료 버전은 로컬 완결) |
| 상세 문서 | 보안 설계서 (Client) → | 서버 버전 운영 매뉴얼 / 보안 설계서 (Linux 서버) |
🏢 RoamSwitch Business(조직용)
개인용(Community Edition)은 무료이며 모든 기능이 열려 있습니다. 여러 대의 Linux 기기를 조직에서 통제하려면 유료 Business로 아래 관리 레이어를 추가할 수 있습니다. 기기 측 방어(nftables 전환·랜섬웨어 격리·USB 방어·DNS·진단·MCP)는 Community와 완전히 동일하며 추가도 축소도 없습니다.
| 추가할 수 있는 기능 | 개요 |
|---|---|
| 플릿 중앙 관리 | Ed25519 서명 조직 토큰으로 기기를 등록하고, 보호 수준·진단 점수·정책 적용 상태를 정기 check-in으로 집계. |
| 서명된 정책 일괄 배포 | 신뢰 네트워크·외부 레벨·공유 서비스 제어·각 가드의 강제값을 Ed25519 서명 JSON으로 배포. 기기 측은 잠금 표시. |
| 서명된 사내 APT / RPM | 조직 전용 GPG 키로 서명한 private 저장소. 앱 내 업데이트 확인은 그대로 작동. |
| SLA 지원 | 도입 설계·정책 설계·장애 대응 창구를 계약 기반으로 제공(일본어·JST 영업일). |
Zero-Telemetry는 유지됩니다 — 관리 서버와 통신하는 것은 조직이 명시적으로 등록한 기기뿐이며, 전송하는 것은 기기 ID·앱 버전·진단 점수·보호 수준·정책 버전뿐입니다. Mac Pro Lifetime 보유자는 본인 소유 Linux 기기에서 Business 기능을 무료로 부여받습니다. 가격·제공 시기는 문의해 주세요.
Business 문의하기🔒 Zero-Telemetry / 라이선스
통신 내용·접속 이력·열람 URL·시스템 로그를 외부로 전송하는 일은 전혀 없습니다. 업데이트 확인은 OS의 패키지 매니저(apt)를 통해서만 이루어집니다. RoamSwitch for Linux는 프로프라이어터리 프리웨어이며, 공식 배포 패키지(.deb)는 저작권 표시를 그대로 유지한 채 무수정으로 재배포할 수 있습니다. 소스 코드는 공개하지 않습니다. 전문은 /usr/share/doc/roamswitch/copyright에 있습니다. RoamSwitchKit SDK는 별도로 오픈 소스로 제공됩니다.