목록 보기
SSH 프록시 구조를 통한 Shell Native 명령어 제어
아키텍처

SSH 프록시 구조를 통한 Shell Native 명령어 제어

QueryPie
QueryPie
2024년 11월 22일

두줄요약

SSH 프록시 기반 명령어 파싱의 한계를 줄이기 위해 script injection으로 실제 실행 명령을 제어하는 방식을 소개했습니다. 에이전트 없이도 서버 레벨 수준의 보안성을 높이는 확장 방향도 제안했습니다.

문제 상황

  • SSH 프록시 기반 서버 접근 제어에서 ANSI 이스케이프 시퀀스와 한 글자씩 전송되는 입력 때문에 명령어 정확한 파싱이 어려움
  • 단축키, alias, 심볼릭 링크, 스크립트 포함 명령어 등 우회 실행 경로로 인해 위험 명령 차단 신뢰성 저하
  • 프록시에서 키 입력을 재조합하는 방식만으로는 서버 보안 수준의 명령 제어에 한계

원인 분석

  • 터미널 제어용 ANSI 코드가 섞인 문자열 스트림 구조
  • 사용자 입력을 엔터 전까지 버퍼링해 조합하는 가상 터미널 방식의 복잡성
  • 프록시 레벨에서 실행 맥락까지 완전히 파악하기 어려운 구조

해결 방법

  • SSH 세션 수립 시 script injection으로 실제 실행 명령을 파악해 로깅과 차단 수행
  • 스크립트에서 금지 명령, alias, 심볼릭 링크 명령까지 식별 가능하도록 설계
  • 차단 사실을 Proxy 서버로 전달해 에이전트 없는 확장 가능성 확보

적용해볼 점

  • 서버 설치 없이 보안성을 높이는 명령어 제어 방식 검토
  • 필요 시 LD_PRELOAD, ptrace, eBPF 같은 감시 기술로 단계적 확장
  • 보안 요구사항과 사용자 편의성의 균형을 고려한 아키텍처 선택

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...