본문으로 바로 가기

최근 많은 VOS 및 OpenVOS 고객들이 표준 FTP 클라이언트(ftp.pm)에서 보안 FTP 클라이언트(sftp.pm)로 전환했습니다. FTP 대신 sftp를 사용하는 데에는 두 가지 주요 이유가 있습니다. 첫째, sftp는 비밀번호를 절대 일반 텍스트로 전송하지 않으며, 항상 암호화하여 전송합니다. 둘째, sftp는 전송 중인 데이터를 암호화합니다.  그러나 많은 고객이 FTP에 미리 정의된 사용자 ID와 비밀번호를 전달하는 VOS 명령 매크로를 작성해 온 것으로 보이며, 이들은 sftp에 사용자 ID는 미리 지정할 수 있지만 비밀번호는 미리 지정할 방법이 없다는 점을 알게 되었습니다. sftp 명령이 비밀번호 입력을 요청할 때까지 기다린 후 키보드로 직접 입력해야 합니다.

이는 모든 운영 체제에서 SFTP의 표준 절차입니다. 처음에는 이런 동작이 마음에 들지 않을 수도 있지만, 사실 SFTP가 사용자를 위해 그렇게 하는 것입니다. SFTP는 의도적으로 터미널에서 직접 비밀번호를 읽어들이며, “stdin”에서 읽어들이지 않습니다. SFTP 개발자들은 비밀번호를 파일이나 셸 스크립트에 저장하는 것을 좋지 않은 관행으로 간주했는데, 이는 보안상 매우 위험하기 때문입니다.

다행히도 sftp 개발자들은 이 문제에 대한 훌륭한 해결책을 제시했습니다.  그들은 공개 키 메커니즘을 통해 사용자 인증을 구현했습니다. 소스 모듈(sftp 또는 ssh 명령을 사용하는 컴퓨터)의 홈 디렉터리 아래 .ssh 하위 디렉터리에 개인 키를 저장하고, 대상 모듈의 동일한 디렉터리에 공개 키를 저장하면, 비밀번호를 입력할 필요 없이 로그인하거나 sftp를 사용할 수 있습니다.

이 방식은 소프트웨어가 사용자의 개인 키를 사용하기 전에, 다른 누구도 사용자의 홈 디렉터리를 수정할 수 없고 .ssh 하위 디렉터리의 파일을 읽을 수 없음을 확인하기 때문에 안전합니다. 원격 서버에는 사용자의 공개 키만 저장되므로, 설령 해당 원격 서버가 해킹당하더라도 보안상의 문제는 발생하지 않습니다. 공개 키는 그 정의상 누구나 읽을 수 있기 때문입니다. 개인 키는 항상 사용자의 로컬 컴퓨터에 남아 있으며 네트워크를 통해 전송되지 않습니다. 이는 SSH2 프로토콜의 핵심적인 특성입니다. 이 프로토콜을 해독하는 데 필요한 컴퓨팅 성능은 현재 이용 가능한 수준을 훨씬 뛰어넘습니다. 이 프로토콜은 모든 패킷을 볼 수 있는 공격자에게도 안전합니다.

그러니 sftp 명령어가 ftp를 그대로 대체할 수 없다는 점에 대해 걱정하지 마세요. 향상된 보안 기능을 활용하고, 사용 편의성 또한 누려보세요. 정적 비밀번호는 버리고 공개/개인 키 방식으로 전환하세요.

© 2024 Stratus Technologies.