Linux용 LittleSnitch

발행: (2026년 4월 9일 AM 09:26 GMT+9)
10 분 소요

Source: Hacker News

리틀 스니치 리눅스용

Source:

시작하기

설치가 완료되면 터미널에서 littlesnitch를 실행하거나 http://localhost:3031/ 주소로 바로 이동하여 사용자 인터페이스를 엽니다. 해당 URL을 북마크에 추가하거나 프로그레시브 웹 앱(PWA)으로 설치할 수 있습니다. Chromium 기반 브라우저는 이를 기본적으로 지원하고, Firefox 사용자는 Progressive Web Apps 확장 프로그램을 통해 동일하게 사용할 수 있습니다.

연결 감시

연결 보기에서는 애플리케이션별 현재 및 과거 네트워크 활동을 나열하고, 규칙 및 차단 목록에 의해 차단된 항목을 표시하며, 데이터 양과 트래픽 기록을 추적합니다. 마지막 활동 시간, 데이터 양, 이름 순으로 정렬할 수 있고, 관련된 항목만 필터링하여 예상치 못한 상황을 쉽게 발견할 수 있습니다. 연결 차단은 한 번 클릭하면 됩니다.

하단의 트래픽 다이어그램은 시간에 따른 데이터 양을 보여줍니다. 범위를 드래그하면 해당 기간으로 확대하고, 그 기간의 활동만 연결 목록에 필터링할 수 있습니다.

차단 목록 관리

Blocklists view

차단 목록을 사용하면 원치 않는 트래픽의 전체 카테고리를 한 번에 차단할 수 있습니다. Little Snitch는 원격 소스에서 차단 목록을 다운로드하고 자동으로 최신 상태를 유지합니다. 다음과 같은 일반적인 형식을 지원합니다:

  • 한 줄에 도메인 하나씩
  • 한 줄에 호스트명 하나씩
  • /etc/hosts 형식 (IP 주소 뒤에 호스트명)
  • CIDR 네트워크 범위

와일드카드 형식, 정규식 또는 글롭 패턴, URL 기반 형식은 지원되지 않습니다. 선택의 여지가 있다면 효율성을 위해 호스트 기반보다 도메인 기반 목록을 사용하는 것이 좋습니다. 잘 알려진 소스로는 Hagezi, Peter Lowe, Steven Black, oisd.nl 등이 있습니다.

Note: macOS용 Little Snitch의 .lsrules 형식은 Linux 버전과 호환되지 않습니다.

직접 규칙 만들기

Rules view

차단 목록은 도메인 수준에서 작동하지만, 규칙을 사용하면 더 세밀하게 제어할 수 있습니다. 규칙은 특정 프로세스를 대상으로 하거나, 특정 포트·프로토콜을 매칭하도록 설정할 수 있으며, 필요에 따라 넓게 혹은 좁게 정의할 수 있습니다. 규칙 보기에서는 규칙을 정렬하고 필터링할 수 있어 목록이 커져도 손쉽게 관리할 수 있습니다.

액세스 보안

기본적으로 Little Snitch의 웹 인터페이스는 로컬에서 실행되는 모든 애플리케이션에 열려 있습니다. 오작동하거나 악의적인 앱이 규칙을 추가하거나 제거하고, 차단 목록을 조작하거나, 필터를 완전히 끌 수 있습니다.

이 점이 우려된다면 Little Snitch를 인증이 필요하도록 구성할 수 있습니다. 아래 Advanced configuration 섹션을 참조하십시오.

내부 동작

Little Snitch는 eBPF를 사용하여 Linux 네트워크 스택에 후크를 겁니다. eBPF는 프로그램이 커널 활동을 관찰하고 가로챌 수 있게 하는 메커니즘입니다. eBPF 프로그램은 외부 연결을 감시하고 데이터를 데몬에 전달합니다. 데몬은 통계를 추적하고, 규칙을 평가하며, 웹 UI를 제공합니다.

eBPF 프로그램과 웹 UI의 소스 코드는 GitHub에 있습니다.

고급 설정

UI는 의도적으로 가장 일반적인 설정만 노출합니다. 보다 기술적인 내용은 일반 텍스트 파일을 통해 구성할 수 있으며, littlesnitch 데몬을 재시작한 후 적용됩니다.

기본 구성 파일은 /var/lib/littlesnitch/config/에 있습니다. 해당 파일을 직접 편집하지 말고—변경하고 싶은 파일을 /var/lib/littlesnitch/overrides/config/로 복사한 뒤 그곳에서 편집하세요. Little Snitch는 항상 오버라이드를 우선합니다.

핵심 구성 파일

  • web_ui.toml – 네트워크 주소, 포트, TLS 및 인증 설정. UI에 여러 사용자가 접근할 수 있는 경우 인증을 활성화하고, UI가 루프백 인터페이스를 넘어 노출되는 경우 적절한 TLS를 추가하세요.
  • main.toml – 규칙에 일치하지 않는 연결에 대한 기본 동작. 기본값은 허용이며, 허용 목록 방식을 위해 차단으로 전환할 수 있지만, 자신을 잠그지 않도록 주의하세요.
  • executables.toml – 애플리케이션을 그룹화하기 위한 휴리스틱. 실행 파일 경로에서 버전 번호를 제거해 동일 앱의 다른 릴리스가 하나의 항목으로 표시되도록 하며, 연결을 올바른 상위 프로세스에 연결하기 위해 쉘이나 애플리케이션 관리자로 간주되는 프로세스를 정의합니다. 이러한 휴리스틱은 커뮤니티 입력을 통해 시간이 지남에 따라 개선됩니다.

원한다면 eBPF 프로그램과 웹 UI를 커스텀 빌드로 교체할 수 있습니다. 두 구성 요소의 소스 코드는 GitHub에 있으며, Little Snitch는 overrides에 있는 버전을 선호합니다.

제한 사항에 대한 한 마디

Little Snitch for Linux는 보안이 아니라 프라이버시를 위해 설계되었으며, 이 구분은 중요합니다. macOS 버전은 더 복잡한 시스템 통합을 활용할 수 있기 때문에 더 강력한 보장을 제공할 수 있습니다. Linux에서는 기반이 eBPF이며, 이는 강력하지만 제한이 있습니다: 저장 용량과 프로그램 복잡성에 엄격한 한계가 있습니다. 트래픽이 많을 경우 캐시 테이블이 넘쳐버릴 수 있어, 모든 네트워크 패킷을 프로세스나 DNS 이름에 신뢰성 있게 연결하는 것이 불가능해집니다. 특정 IP 주소에 대한 원래 호스트명을 복원하는 것은 확실성보다는 휴리스틱에 의존합니다. macOS 버전은 보다 신뢰할 수 있는 결과를 위해 딥 패킷 인스펙션을 사용하지만, 이는 여기에서는 제공되지 않습니다.

소프트웨어 동작을 모니터링하고 정당한 애플리케이션이 “홈에 전화”하는 것을 차단하는 데는 Little Snitch for Linux가 잘 작동합니다. 그러나 결연한 공격자에 대비해 시스템을 강화하려는 경우, 이것은 적절한 도구가 아닙니다.

License

Little Snitch for Linux에는 세 가지 구성 요소가 있습니다:

  • eBPF 커널 프로그램과 웹 UI는 GNU 일반 공중 라이선스 버전 2(GPL v2) 하에 배포되며 GitHub에서 확인할 수 있습니다.
  • 데몬(littlesnitch --daemon)은 독점이지만, 사용 및 재배포가 자유롭습니다. 라이선스 페이지를 참고하십시오.
0 조회
Back to Blog

관련 글

더 보기 »

man 페이지 제목에 숫자 (예: sleep(3))

만약 Linux 시스템 프로그래밍을 한다면, 아마도 명령줄에서 혹은 제가 개인적으로 선호하는 훌륭한 man7.org를 사용하여 man pages를 열심히 살펴보았을 것입니다.