• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
오픈소스

홈서버용 만능 Docker 앱 Cosmos-Cloud

달소 달소 1402

5

5

 

안녕하세요 달소입니다.

 

예전에 한번 소개해드린적이 있는 Cosmos-Cloud 라는 앱입니다.

 

기본적으로 Reverse Proxy의 역할을 하면서도 홈서버에서 운영할 수 있는 여러가지 앱들을 한번에 설치할 수 있는 앱입니다.

 

Docker로 구성된 하나의 앱을 통해서 리버스프록시 뿐만아니라 다른 앱(워드프레스,plex 등) 도 손쉽게 설치할 수 있으며 부가적인 vpn기능이나 smart shield, 인증까지 구현 가능한 프로젝트입니다.

 

처음 출시되고 한 6개월정도 지났는데 그래도 개발자분이 유지보수 의지도 확실하고 향후 유료화까지 계획하고있는걸 보면 앞으로도 충분히 기대되는 프로젝트로 보입니다.

 

HTTP3나 Crowdsec 과의 연동등에대해서도 문의를 남겨놨는데 추후 구현이 되면 좋겠네요

 

image.png.jpg

 

Cosmos-Cloud란?

서버 , NAS 또는 Plex , HomeAssistant 또는 블로그와 같은 응용 프로그램이 포함된 Raspberry Pi가 있든 Cosmos는 모든 것을 실행하고 보호할 수 있는 완벽한 솔루션입니다. 서버에 Cosmos를 설치하고 이를 통해 애플리케이션에 연결하기만 하면 모든 서비스에 내장된 보안과 견고성을 즉시 사용할 수 있습니다.

코스모스는 다음과 같습니다.

  • App Store 📦📱 간단한 설치 프로그램, 자동 업데이트 및 보안 검사를 통해 애플리케이션을 쉽게 설치하고 관리합니다. 이는 docker-compose 파일 가져오기 또는 docker CLI와 같은 수동 설치 방법과 함께 작동합니다.
  • 사용자 정의 가능한 홈페이지 🏠🖼 아름답고 사용자 정의 가능한 UI를 사용하여 한 곳에서 모든 애플리케이션에 액세스하려면
  • 역방향 프록시 🔄🔗 자동 HTTPS 및 멋진 UI 를 사용하여 컨테이너, 기타 서버를 대상으로 지정하거나 정적 폴더/SPA 제공
  • 인증 서버 👦👩 강력한 보안, 다단계 인증 및 다양한 전략( OpenId , 전달 헤더, HTML) 을 갖추고 있습니다.
  • 컨테이너 관리자 🐋🔧 컨테이너와 해당 설정을 쉽게 관리하려면 최신 상태로 유지하고 보안을 감사하세요. docker-compose 지원이 포함되어 있습니다!
  • VPN 🌐🔒 라우터에서 포트를 열지 않고도 어디서나 애플리케이션에 안전하게 액세스할 수 있습니다.
  • 모니터링 📈📊 사용자 정의 가능한 경고 및 알림을 통해 완벽하게 지속되는 실시간 모니터링을 통해 모든 문제에 대한 알림을 받을 수 있습니다.
  • ID 공급자 👦👩 사용자를 쉽게 관리하려면 자격 증명을 어색하게 공유하지 않고 친구와 가족을 애플리케이션에 초대하세요. 귀하가 수동으로 계정을 잠금 해제하지 않고 이메일로 비밀번호 변경을 요청할 수 있도록 하세요!
  • SmartShield 기술 🧠🛡 수동 조정 없이 애플리케이션을 자동으로 보호합니다(자세한 내용은 아래 참조). 안티 봇 및 안티 DDOS 전략이 포함됩니다.

다음과 같이 구축되었습니다.

  • 사용하기 쉬움 🚀👍 설치 및 사용이 간편하며 간단한 웹 UI로 모든 기기에서 애플리케이션을 관리할 수 있습니다.
  • 강력함 🧠🔥 쉽다고 해서 바보가 되는 것은 아닙니다. Cosmos는 사용하기 쉽지만 강력하고 유연하며 원할 경우 터미널에서 사용할 수도 있습니다!
  • 사용자 친화적 🧑‍🎨 신규 및 숙련된 사용자 모두: 기존 홈 서버, 기존 애플리케이션, 설치하려는 새 애플리케이션에 쉽게 통합됩니다.
  • 보안 🔒🔑 강력한 보안 , 다단계 인증 및 OpenId를 포함하여 동일한 계정으로 모든 애플리케이션에 연결하세요 . Cosmos는 귀하의 데이터를 암호화하고 개인 정보를 보호합니다. 보안은 나중에 고려하지 않고 설계한 것입니다.
  • Anti-Bot 🤖❌ 일반적인 봇 감지, IP 기반 감지 등과 같이 봇이 애플리케이션에 액세스하는 것을 방지하는 도구 모음
  • Anti-DDOS 🔥⛔️ 가변 시간 초과/제한, IP 속도 제한 및 지역 블랙리스트 지정과 같은 추가 보호
  • 새로운 기능과 통합을 쉽게 추가할 수 있는 모듈식 🧩📦, 필요한 기능만 실행(예: 도커 없음, 데이터베이스 없음 또는 HTTPS 없음)

그리고 훨씬 더 많은 계획된 기능이 출시될 예정입니다!

다른 대안과의 차이점은 무엇입니까?

Cosmos는 YunoHost, Unraid 등과 같은 다른 대안과 몇 가지 주요 차이점이 있습니다.


* 사용자 정의가 없는 UI로 생성된 컨테이너만 * 경고 없음

  • 보안 : Cosmos는 스마트 실드와 같은 독점적인 기능을 통해 애플리케이션 보안에 중점을 두고 있습니다. 2FA, OpenID, DDOS 방지 및 기타 보안 기능이 내장되어 있습니다. 또한 최신 암호화 방법과 데이터 보호에 중점을 두어 개인 정보 보호에 중점을 두고 있습니다. 다른 솔루션과 달리 실행하는 소프트웨어가 신뢰할 수 없다고 가정하고 이러한 소프트웨어로부터 사용자를 보호합니다.
  • 고급 사용자 친화적 : 이러한 대안 중 일부는 자신이 하는 일을 잘 아는 사람에게 약간 "제한적"이라고 느낄 수 있습니다. 반면에 Cosmos는 사용하기 쉽게 설계되었지만 강력하고 유연합니다. 이는 신규 사용자와 숙련된 사용자 모두가 사용할 수 있도록 설계되었으며 기존 홈 서버, 기존 응용 프로그램 및 설치하려는 새 응용 프로그램에 통합되도록 설계되었습니다. 원한다면 터미널에서도 사용할 수 있습니다!
  • 유연성 : 대안과 달리 Cosmos는 앱 스토어에만 집중하지 않습니다. 대신, 원하는 방식으로 애플리케이션을 자유롭게 설치하고 UI, Portainer 또는 Docker에서 직접 관리할 수 있습니다. 이러한 애플리케이션은 모두 Cosmos에 계속 통합되며 Let's Encrypt 등의 모든 보안 기능의 이점도 누릴 수 있습니다.
  • 학습 경험 : 셀프 호스팅을 처음 사용하는 경우 모든 복잡성을 숨기는 소프트웨어를 사용하면 서버를 올바르게 관리하는 방법을 배우지 못할 수 있습니다. Cosmos는 사용하기 쉬울 뿐만 아니라 학습 경험을 제공하도록 설계되었습니다. 내용을 숨기지 않고 대신 안내하고 사용 중인 도구에 대해 더 많이 배울 수 있도록 제안합니다.
  • 벤더 잠금 없음 : 애플리케이션을 컨테이너에 긴밀하게 연결하는 솔루션과 달리 Cosmos는 어디서나 생성된 앱을 동일하게 관리할 수 있으며 기존 컨테이너를 Cosmos 앱으로 변환하는 것은 UI에 URL을 추가하는 것만큼 간단합니다. 바닐라 도커 컨테이너만 사용하므로 언제든지 Cosmos에서 마이그레이션할 수도 있습니다.

보안과 관련하여 cloudflare 프록시 와 cloudflare 터널 에 대해 궁금하실 수도 있습니다 . 그러나 대중적인 믿음과는 달리 다음과 같은 문제는 그 자체로는 해결책이 아닙니다.

  • 애플리케이션에 대한 원격 액세스를 보호하는 반면 원본 서버는 완전히 보호되지 않은 상태로 둡니다. 로컬 네트워크의 악성 장치/응용 프로그램은 이를 활용하는 데 아무런 문제가 없습니다.
  • 이러한 옵션을 통해 Cloudflare는 전체 네트워크를 암호화되지 않은 상태로 볼 수 있습니다 . 예, HTTPS를 사용하더라도: Cloudflare 프록시는 트래픽을 암호화 해제하고 다시 암호화합니다. 이는 트래픽을 통과하는 모든 것이 Cloudflare에서 읽을 수 있는 일반 텍스트라는 의미입니다. 반면 Cosmos는 자체 호스팅되므로 데이터를 계속 제어할 수 있습니다.

스마트쉴드란 무엇인가요?

SmartShield는 고급 속도 제한 및 사용자 제한을 구현하여 API를 보호하도록 설계된 최신 API 보호 패키지입니다. 이를 통해 제한 및 정책을 수동으로 조정하지 않고도 리소스를 효율적으로 할당하고 보호할 수 있습니다.

주요 특징들:

  • 동적 속도 제한 ✨ SmartShield는 사용자 행동에 따라 속도 제한을 계산하여 사용자 경험에 부정적인 영향을 주지 않고 API 상태를 유지할 수 있는 유연한 접근 방식을 제공합니다.
  • 적응형 작업 📈 SmartShield는 속도 제한을 초과하는 사용자를 자동으로 제한하여 요청을 갑자기 종료하지 않고도 허용된 것보다 더 많은 리소스를 소비하지 않도록 방지합니다.
  • 사용자 금지 및 경고 🚫 일시적 또는 영구적 금지를 구현하고 자동으로 경고를 발행하여 악의적이거나 리소스를 많이 사용하는 사용자의 API 남용을 방지합니다.
  • 전역 요청 제어 🌐 서버의 총 동시 요청 수를 대기열로 모니터링하고 제한하여 최적의 성능과 안정성을 보장합니다.
  • 사용자 기반 지표 📊 SmartShield는 요청, 데이터 사용량 및 동시 연결 측면에서 사용자 소비를 추적하여 세부적인 제어가 가능합니다.
  • 권한 있는 액세스 🔑 특정 사용자 그룹에 권한 있는 액세스를 할당하여 특정 제한 사항에서 면제를 부여하고 공격 중에도 서비스가 중단되지 않도록 보장합니다.
  • 사용자 정의 가능한 정책 ⚙️ 요청 제한, 시간 예산 등과 같은 특정 요구 사항에 맞게 SmartShield의 기본 정책을 수정합니다.

왜 코스모스를 사용하나요?

Plex 서버와 같은 자체 호스팅 데이터가 있거나 자체 사진 서버일 수 있는 경우 데이터가 해킹되거나 서버가 하이재킹될 수 있습니다 ( 로컬 네트워크 에서도 !).

그것은 당신에게 중요한 위협이 되고 있습니다 . 서버, 애플리케이션 및 데이터 관리는 매우 복잡 하며 문제는 스스로 이를 수행할 수 없다는 것입니다 . 가족 사진을 저장하는 서버 애플리케이션에 보안 코드가 있는지 어떻게 알 수 있습니까? 감사된 적이 없습니다.

Plex 등 주요 애플리케이션도 해킹을 당해 사용자 데이터가 노출된 적이 있다. 실제로 최근 LastPass 유출은 LastPass 직원이 최신 버전으로 업데이트되지 않은 Plex 서버를 보유하고 있었고 중요한 보안 패치가 누락되었기 때문에 발생했습니다 !

이것이 바로 Cosmos Server가 해결하려고 하는 문제입니다. 자체 호스팅 애플리케이션을 실행하는 안전하고 강력한 방법을 제공함으로써 데이터가 안전 하고 보안에 대해 걱정할 필요 없이 액세스할 수 있음을 확신할 수 있습니다 .

Cosmos가 어떻게 여러분을 도울 수 있는지에 대한 간단한 예는 다음과 같습니다.

diag_SN

다른 예시:

diag_SN

또한 모든 새로운 자체 호스팅 응용 프로그램은 매번 처음부터 인증과 같은 중요한 시스템을 다시 구현하기 때문에 대부분 의 응용 프로그램은 별다른 문제 없이 해킹 당할 가능성이 매우 높습니다 . Docker 컨테이너는 격리되지 않을 뿐만 아니라 기본적으로 루트 로 실행되므로 전체 서버 또는 인프라에 대한 액세스를 제공하는 데 쉽게 사용할 수 있기 때문에 이는 매우 나쁩니다.

설치

Docker를 사용하면 설치가 간단합니다.

docker run -d -p 80:80 -p 443:443 -p 4242:4242/udp --privileged --name cosmos-server -h cosmos-server --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /:/mnt/host -v /var/lib/cosmos:/config azukaar/cosmos-server:latest
 

COSMOS를 설치하기 위해 UNRAID 템플릿이나 Portainer 스택을 사용하지 마십시오. 제대로 작동하지 않습니다.

이 명령에서 -v /:/mnt/host선택 사항이며 Cosmos에서 폴더를 관리할 수 있도록 허용합니다. 원하지 않는 경우 제거할 수 있지만 컨테이너의 바인딩 폴더를 수동으로 만들어야 합니다.

--privileged또한 선택 사항이지만 AppArmor 또는 SELinux와 같은 강화 소프트웨어를 사용하는 경우 도커 소켓에 대한 액세스를 제한하므로 필수입니다. Constellation이 작동하는 데도 필요합니다. 사용하지 않으려면 Constellation용 NET_ADMIN 기능을 추가하면 됩니다.

http://your-server-ip설치가 완료되면 설치 마법사 로 이동하여 지침을 따르기만 하면 됩니다. 브라우저 캐시 문제를 방지하려면 항상 시크릿 모드에서 브라우저로 설치를 시작하세요 .

포트 4242는 Constellation VPN에 사용되는 UDP 포트입니다.

올바른 포트(기본적으로 80/443)를 노출하는지 확인하십시오. Cosmos는 역방향 프록시로 실행되므로 해당 포트를 그대로 유지하는 것이 가장 좋습니다. 다른 리버스 프록시 뒤에 Cosmos를 설정하는 것은 가능하지만 골칫거리만 만들 것입니다.

Cosmos가 컨테이너를 관리할 수 있어야 하므로 Docker 소켓을 마운트된 상태로 유지해야 합니다.

홈페이지 / 깃허브

 

 

활용하기

 실제 구축부터 사용은 다음글부터 천천히 해보겠습니다.

신고공유스크랩
5

달소 달소
98Lv. 195508P
다음 레벨까지 512P


메인서버 - Ryzen 5700G / Proxmox 7.2 / Ubuntu / Xpenology / 기타 VM 등등
보조서버 - Intel i9-9900ES(QQC0) / H370M / Proxmox 7.1 / 아직개발용서버로 사용중
백업스토리지서버 - DS920+ 
하드웨어,가상화 등등 여러 IT분야에 관심이 두루두루많습니다만 깊게알고있는건 없습니다 하하하

라즈베리크림파이 2023.11.24. 15:36
좋은 정보글 감사합니다 ㅎㅎ 바로 설치해버렸네요. 다만 이전에 이미 설치해둔 도커들을 끌어올수가 있을까요? Home assistant를 잘 쓰고있었는데 말이죠..

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
오픈소스 개인 구독 추적기 Wallos 6 달소 16시간 전23:26 216 +2
질문 /var/www 폴더가 삭제되었습니다. ㅜ,.ㅜ 2 니속사정 2일 전20:42 270 +1
잡담 jellyfin 자원 진짜 안쓰네요 1 kmw_ 2일 전19:26 393 +1
61 오픈소스
image
달소 24.03.02.17:00 565 +5
오픈소스
image
달소 23.11.19.18:28 1402 +5
59 오픈소스
image
달소 23.09.02.00:03 911 +5
58 오픈소스
image
달소 23.11.13.00:03 808 +5
57 오픈소스
image
달소 24.01.06.22:02 880 +4
56 오픈소스
image
끼리 23.08.04.15:30 625 +4
55 오픈소스
normal
달소 23.11.06.23:16 995 +4
54 오픈소스
image
달소 23.07.15.00:41 2519 +4
53 오픈소스
image
달소 23.07.24.00:32 1726 +4
52 오픈소스
image
달소 23.08.27.18:49 777 +4
51 오픈소스
image
달소 23.08.24.22:23 1625 +4
50 오픈소스
image
달소 23.07.22.00:34 354 +3
49 오픈소스
image
달소 23.07.25.15:15 633 +3
48 오픈소스
image
secops 24.01.19.22:05 716 +3
47 오픈소스
image
달소 23.10.02.13:49 748 +3
46 오픈소스
image
달소 24.03.30.22:45 471 +3
45 오픈소스
image
keiminem 24.04.30.17:43 415 +3
44 오픈소스
image
달소 23.09.18.23:18 1016 +3
43 오픈소스
image
달소 23.08.27.11:10 894 +2
42 오픈소스
image
달소 23.09.15.11:59 1225 +2