[bash: expect] 리눅스 다중 사용자(multi-user) 환경에서의 작업 자동화 문제 리눅스 bash script

작업 자동화를 위해 expect 스크립트를 사용할 경우, 접속암호를 인자(argument)로 사용하면 보안 측면에서 한가지 큰 문제가 있다. 이전에 게시했던 ssh 자동접속이라던가, rsync 자동백업이라던가 이런 종류의 작업이 가지고 있는 약점이다.

나 혼자만 사용하는 리눅스 PC/서버라면 별 문제가 되지 않으나, 여러 사람이 함께 사용하는 환경이라면 expect 스크립트에서 접속암호를 인자로 사용하는 것이 심각한 문제가 된다. 프로세스 목록에서 접속암호가 노출되기 때문이다.

# 프로세스 목록중에 expect 추려내기
# -e 옵션: 전체 프로세스 선택
# -f 옵션: full-format 출력
ps -ef | grep expect

리눅스에서는 기본적으로 어느 사용자라도 해당 기기에서 실행중인 전체 프로세스 목록을 볼 수 있다. 즉, 다른 사람이 실행중인 프로세스가 무엇이 있는지 다 볼 수 있다는 얘기다.

# 사용자 john이 실행중인 프로세스 추려내기
ps -ef | grep "^john "

다중 사용자 환경이라면 접속암호를 인자로 사용하는 일이 없도록 해야 한다. 즉, 이전에 게시한 expect 스크립트를 통한 ssh/rsync 자동화 작업은 사용하지 말아야 한다.

이 문제를 피하기 위한 expect 스크립트 변경은 추후에 정리해 볼 예정.



핑백

  • 반달가면 : [bash: expect] 다중 사용자 환경에서 보안을 강화한 작업 자동화 2015-12-14 21:51:37 #

    ... 트 관련 문제에 대한 해결책이다. ssh, rsync 등 원격접속이 포함된 작업을 자동화할 때 생기는 보안 문제이며, 이에 대한 자세한 내용은 이전 게시물을 참고하자. 여기로 기본적인 접근 방식은 사용자로부터 암호를 입력 받아서 이것을 임시 파일에 저장한 후, expect 스크립트에서 이 임시 파일을 조회하여 사용하도록 하는 것이다. ... more

덧글

  • 대나무 2015/12/10 14:57 # 답글

    ID와 패스워드 대신 인증키방식으로 하면 문제 없지 않을까요. 인증키는 권한을 400을 주니 다른사람이 볼 일도 없고요.
  • 반달가면 2015/12/10 23:19 #

    네. 키 파일을 사용할 경우엔 위와 같은 문제가 없겠습니다만 인증방식을 제 마음대로 못하는 경우도 있고, 개인적으로는 키 파일보다 '복잡하고 긴 암호'를 선호하는 편입니다.
댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

340823
6228
2031960

ad_widget_2