Show HN: Bor – 리눅스 데스크톱용 오픈소스 정책 관리 도구
요약
Bor v0.8.0이 출시되어 Thunderbird, Microsoft Edge for Business 등 새로운 정책 관리 기능을 추가했습니다. 이 도구는 리눅스 데스크톱 환경에서 다양한 애플리케이션과 시스템 설정을 중앙 집중식으로 관리할 수 있게 합니다. 특히 RBAC 강화와 변조 감지 기능이 포함되어 보안성이 크게 향상되었습니다.
핵심 포인트
- Thunderbird 및 Edge 등 주요 앱의 정책 관리가 가능해짐.
- Firewalld 영역까지 지원하며 네트워크 보안 설정도 통합 관리.
- RBAC(역할 기반 접근 제어)가 강화되고 변조 감지 기능이 추가됨.
- Polkit 규칙에서 가변 조건과 여러 액션 ID 결합을 지원함.
Bor v0.8.0이 출시되었습니다. 이번 릴리스에서는 Thunderbird, Microsoft Edge for Business, 그리고 Firewalld 영역(zones) 세 가지 새로운 정책 유형을 추가했으며, 전체 웹 UI 개편, 더 세밀한 RBAC(역할 기반 접근 제어), 전용 보안 강화 패스를 포함했습니다. 전체 변경 로그는 GitHub 릴리스 페이지에서 확인할 수 있습니다.

Thunderbird 정책 유형
Mozilla Thunderbird를 이제 Firefox ESR에 사용된 것과 동일한 메커니즘으로 등록된 데스크톱에서 관리할 수 있습니다. 에이전트가 모든 바인딩된 정책으로부터 병합된, Thunderbird가 예상하는 관리형 policies.json 파일을 작성하며, 마지막 정책을 제거하면 원래 파일로 복원됩니다. Flatpak 설치는 RPM/DEB 설치와 함께 감지 및 적용되며, 관리형 파일은 변조 감시자(tamper watcher)에 의해 보호되어 외부 편집이 감지되면 즉시 복원됩니다. 웹 UI에는 전체 Thunderbird 정책 카탈로그를 갖춘 완전한 정책 에디터가 제공됩니다.

Microsoft Edge for Business 정책 유형
Linux에서 Edge를 실행하는 플릿(fleet)의 경우, 에이전트가 각 Edge 관리 정책 디렉토리에 bor_managed.json을 작성하고 마지막 바인딩된 정책이 제거될 때마다 해당 디렉토리에서 이를 정리합니다. 웹 UI는 Edge 정책 카탈로그, JSON 유효성 검사, 활성화 전 설정 미리보기를 갖춘 트리 기반 에디터를 제공합니다.

Firewalld 영역 정책 유형
새로운 Firewalld 정책 유형은 등록된 노드의 firewalld 영역을 관리합니다. 서비스, 포트, 전달 포트(forward ports), 리치 규칙(rich rules), 마스커레이드(masquerade), 인터페이스, 소스 및 영역 대상을 포함합니다. 에이전트는 영역 XML을 /etc/firewalld/zones/에 작성하고, firewall-cmd --check-config로 유효성을 검사하며, firewalld를 다시 로드합니다. 다른 모든 관리형 파일과 마찬가지로, 영역 파일도 변조 방지 보호를 받습니다.

Polkit: 가변 조건(variable conditions)
Polkit 규칙이 이제 action.lookup()을 통해 가변 조건을 지원하므로, 규칙이 액션 변수에 따라 일치할 수 있습니다. 예를 들어, 이동식 드라이브에 대해서만 마운트를 허용하는 식입니다. 또한 다음 사항도 수정되었습니다: 하나의 규칙 내 여러 액션 ID가 이제 ||로 올바르게 결합됩니다.

Per-action RBAC
사용자 및 역할 관리는 더 이상 단일 포괄적 권한이 아닌 액션별 권한으로 보호되어, 관리 업무를 더욱 세밀하게 위임할 수 있게 되었습니다.
웹 UI 개편
PatternFly 6 인터페이스 전체에 걸친 대규모 현대화 작업이 여러 UX 스프린트를 거쳐 진행되었습니다. 대시보드는 새로운 모습을 보여줍니다—그룹별 사이드바 탐색, 단일 좌측 정렬 페이지 제목, 그리고 미리 필터링된 목록으로 드릴다운하는 통계 타일들: **오프라인(Offline)**을 클릭하면 오프라인 노드로 이미 필터링된 Nodes 페이지로 이동합니다.

주요 개선 사항:
URL 라우팅: 모든 페이지가 작동하는 브라우저 뒤로 가기/앞으로 가기 및 깊은 링크(deep links)를 가진 실제 URL을 갖게 되었으며, 만료된 세션은 로그인 페이지로 리디렉션됩니다. 전역 오류 경계(global error boundary)는 화면이 하얗게 되는 충돌(white-screen crashes)을 방지합니다.전체 페이지 정책 편집기: 정책 편집기가 더 이상 중첩된 모달 창이 아니라 라우팅된 페이지( /policies/:id/edit)가 되었습니다.정책 안전 장치(Policy safety rails): 저장되지 않은 변경 사항 보호 기능, 파괴적인 유형 변경에 대한 확인 메시지, Chrome/Edge 값을 위한 JSON 유효성 검사, 배포된 정책을 위한 읽기 전용 구성 보기(Configuration view), 그리고 트리 편집기에서 설정 미리보기가 추가되었습니다.확장 가능한 목록: Nodes 및 Compliance를 위한 서버 측 페이지네이션, 필터링, 정렬 기능; 모든 목록 페이지에 걸쳐 검색, 정렬, 빈 상태 표시가 구현되었습니다.파괴적 액션 보호: 모든 리소스 삭제 시 유형 확인 대화 상자가 나타나며, 마지막 Super Admin을 삭제, 비활성화 또는 강등하는 것을 방지하는 서버 측 가드(server-side guards)가 추가되었습니다.접근성 (WCAG 2.2 AA): 정책 편집기 내 접근 가능한 트리 역할, aria-live 상태 메시지, PatternFly 6 디자인 토큰을 통한 포커스 링 및 다크 모드/고대비 모드의 정확성 확보, CI에 접근성 린트 게이트(accessibility lint gate)가 추가되었습니다.
정책 편집기는 이제 중첩된 모달 창 대신 라우팅된 전체 너비 페이지로 변경되었으며, 각 정책 유형 뒤에 트리 기반 편집기를 배치할 공간이 생겼습니다:

Node 및 Compliance 목록은 서버 측에서 페이지네이션, 필터링, 정렬되므로 수천 개의 노드를 가진 플릿(fleets)도 빠르게 유지됩니다:

다양한 품질 개선 사항도 추가되었습니다: 정책을 목록 보기에서 직접 게시/비게시할 수 있고, MFA 백업 코드를 복사하거나 다운로드할 수 있으며, 로그인 양식에 비밀번호 표시 토글과 Caps Lock 힌트가 추가되었고, 사이드바는 이제 Fleet / Policy / System으로 그룹화되었습니다.

Proto 기반 정책 카탈로그
웹 UI에 표시되는 Firefox, Thunderbird, Chrome 및 Edge의 정책 카탈로그가 이제 protobuf 어노테이션에서 생성됩니다. 이는 서버, 에이전트, 프론트엔드가 공유하는 단일 진실 공급원(single source of truth)입니다.
보안 강화
이번 릴리스에는 전용 강화 패스가 포함되어 있습니다:
- 에이전트 ID가 이제 mTLS 클라이언트 인증서에 엄격하게 바인딩되며, 서버에서 MFA/RBAC 적용 경로가 강화되었습니다.
- 레거시 SHA-256 암호화 TOTP 비밀번호는 첫 읽기 시 HKDF 파생 암호화로 투명하게 마이그레이션됩니다.
- Ubuntu PPA 및 Fedora COPR 리포지토리 가져오기 도우미가 이제 리디렉션 기반 SSRF를 차단합니다. 허용된 리디렉션 대상만 추적합니다.
- 감사 로그 CSV 내보내기는 스프레드시트 수식 주입으로부터 보호됩니다.
- 자동 생성되는 초기 관리자 비밀번호는 더 이상 서버 로그에 출력되지 않습니다(journald 또는 중앙 집중식 로깅에 기록될 위치). 대신 root 전용 파일에 작성됩니다.
- 서버 TLS 인증서는 SAN이 구성된 호스트 이름과 일치하지 않을 때 자동으로 재생성됩니다.
- react-router RSC CSRF 경고(GHSA-qwww-vcr4-c8h2)를 포함하여 모든 열린 Dependabot 경고가 해결되었습니다.

플랫폼 업데이트
프론트엔드는 React 19.2 및 react-router 8.3으로 이동했으며, TypeScript 타입 체크가 CI에서 강제됩니다. 서버 및 에이전트 종속성에는 gRPC 1.82.1과 golang.org/x/crypto 0.52.0이 포함되어 업데이트되었습니다.
업그레이드 노트
- 새로운 Thunderbird, Edge, Firewalld 정책 유형을 적용하려면 에이전트를 v0.8.0으로 업그레이드해야 합니다. 이전 버전의 에이전트는 이해하지 못하는 정책 유형은 무시합니다.
- protobuf 정책 스키마에
thunderbird.proto와firewalld.proto가 추가되었습니다.
그리고 polkit 및 edge 메시지를 확장하며 — proto/policy/를 기반으로 구축된 모든 외부 도구를 재생성합니다.
- 프론트엔드 개발은 이제 Node.js 22.22 이상을 요구합니다.
다운로드
x86_64, aarch64, ppc64le 아키텍처에 걸쳐 Debian/Ubuntu, RHEL/Fedora/SUSE, Alpine Linux, 그리고 Arch Linux용 패키지가 다운로드 페이지에서 제공됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기