Show GN: NotionSSH - VPN 없이도 Notion으로 원격 서버를 제어하세요
(github.com/mirseo)개발하다 보면 보안 때문에 특정 사이트로 http/https는 가능한데 SSH, RDP를 개방 안 해주는 곳이 있어서
만들어봤습니다
NotionSSH라는 프로잭트로 노션에서 “!(docker ps)” 같이 입력하면
해당 페이지를 모니터하는 머신에서 shell로 실행하고 결과를 반환하는 간단한 러스트 프로그램입니다
아직 초기 버전이라 버그가 많을 수 있습니다
많이 사용해주세요!
2025 | Rust 기반 SSH 브릿지, NotionSSH (2.0) 개발 (https://github.com/mirseo/notionSSH) <- 미지원 및 삭제됨
이라고 적어두셨네요... 여기 응답해주시거나 뉴스를 지우는 게 나을 것 같아요.
여러 개발자 분들이 보안 및 팁에 대하여 말해주시고, 댓글이 27개가 넘어가는 이상 이 글은 혼자만의 글이 아니라고 생각합니다...
그런데 글 삭제 버튼이 있으면 본인 자유가 맞겠죠 ㅋㅋ
글을 올려본 적은 없어서 삭제가 가능한지 궁금하네요
맞아요! 근데 제가 작업하는 곳이 ssh 프로토콜 자체를 방화벽으로 차단하는 곳이라서 그래요!
Cf tunnel과 tailscale도 시도는 했는데 규정 위반이 될 수 있다고 해서 안전하게 외부 쉘 사용 중입니다 :) ( 규정 문의하니 학교 보안팀이 80, 443의 http/https)만 인바운드/아웃바운드 승인이래요 )
맞아요 그럴 수도 있죠
근데 이거 만든 목적이 실제로 쓰기 위해서가 아니라 이런 게 있으면 어떨까 해서 만든 게 커서요!
그래서 사이드 프로젝트로 만들어봤어요!!
엄밀하게 보면 RCE 인거죠. 엄청 위험한데요. 이건 보안을 위한 검증이 없는거잖아요? 서버에서 실행되는 에이전트에서 주기적으로 외부 페이지의 명령을 실행하는건데. 이때 외부 페이지를 검증없이 무조건적인 신뢰하도록 하는건데. 노션 api를 사용한다고 해도,, 음.. 위험하군요.
보안 장치를 추가했어요!
-
CA 검증 - 3 스텝 구성으로 1. CA 인증서 체인 검증, 2. DoH DNS 검증( cf, google ), 3. 인증서 핀 ( 공개키 검증)
-
ACL 추가 ( 사용자 이메일 권한 계정 별 명령어 사용 권한 제어 추가 + 팀 기반 권한 제어 추가 )
-
Allow에 없는 명령어 기본 차단
음.. 사실 맞아요
지금은 초기 버전이라 차후 버전에 계정명을 기반으로 실행을 차단하는 기능을 추가하려고 하는데
(NotionAPI로 받은 계정명과 시스템 환경변수로 실행 가능한 계정을 제한하고 권한 레이어를 넣으려고 해요!! )
보안 강화가 중점이 될 것 같아요!!
제가 잘 이해가 안되서 여쭤보고 싶은게 있는데요,
- 명령을 실행할 원격 컴퓨터가 주기적으로 notion을 모니터링하여 읽어서 실행하는건가요?
- 만약 맞다고 하면 ssh 랑 관계 없는 프로젝트가 아닌지...?
그 외에는 SSH 자체가 안전한 쉘 접근이 목표라고 생각해서 이 방식을 통하면 쉘 접근 자체는 안전하니까 ( 서버 - 노션서버 - 사용자 ) 구조라서 SSH 이름을 붙였어요!
음.. 그렇네요 사실 원래는 키 교환 기반의 프로젝트였는데 개발 과정에서 notion Page를 이용하게 읽도록 선회했어요
왜냐하면 사용자에게 키 교환을 요구하고 인증을 하는 방식은 구현 난이도도 그렇고 노션에 적합하지 않아서요
(1.0 미공개 초기버전 - 이 버전은 키 교환 방식에 디스코드용이었는데 불편해서 제가 안 쓰게 되더라구요 패스워드 특성상 노션에 공개하기가 조금 그렇기도 하고)
좋은 의견 감사합니다! 프로젝트명은 차후에 변경하게 될지도 모르겠네요
네! 사실 실무에서 노션을 많이 사용한다고 들었고, 저의 경우 데이터를 올려놓고 정리하는 용도로 사용해서 노션을 고르게 되었어요
디스코드, 이메일, 슬랙은 Code블록 지원에 부분에서 API 사용 측면 및 모니터 환경에서 불편할 것 같아서 노션을 사용한 것도 있어요!
그 외에는 실행 결과 공유와 회사를 기점으로 생각하면 디자인 팀 등의 지원 시에 회사 전산팀이 빠르게 문제 해결에 개입할 수 있도록 협업에 편리한 노션을 고른 것도 있어요
실무적인 경우도 고려하셨군요, 그런데 ssh 접속 같은 경우 일부는 폐쇄망에서만 가능해서 인터넷 접속이 안되게 때문에 노션을 사용할 수 없을 것 같아요 ㅠ
아앗… 그 부분은 생각하지 못했네요
사실 보안이 중요한 서버라면 이런 방식보다는 tailscale 같은 게 더 안전할 것 같아요!!
좋은 의견 감사합니다!!
아하핫... 편리한 기능에는 그 만큼의 트레이드가.. (...)
엄.. 유사 웹쉘처럼 동작할지도 모르겠네요
그래도 보안 관련해서 로그는 남기니.. 로그가 남아 있다면 탐지할 수 있을지도요..?
웹쉘로 이용할 수도 있을 것 같은데 모르고 있었네요
알려주셔서 감사합니다!!