bash script2023. 6. 20. 17:05

 

반달가면 이글루에서 백업 - bahndal.egloos.com/568985

 

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

 

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

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

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

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

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

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

728x90
Posted by 반달가면