스크립트가 해당 서버 중 하나에 연결할 수있는 경우 스크립트에 액세스 할 수있는 (또는 스크립트가 실행되는 시스템에 대한 특권 액세스 권한이있는) 누구나 해당 서버에 연결할 수 있습니다.
경우 스크립트가 자율적으로 실행하는 데 필요한 모든 베팅은 꺼져 있습니다. 여기에 대한 대답은 아니요, 그러한 환경에서 암호를 저장하는 절대 안전한 방법은 아닙니다 . 절대 안전 하고 실용적인 방법은 없습니다 .
피할 수없는 것을 피하려고하는 대신, 심층 방어에 집중해야합니다 .
물론 암호를 적절히 보호해야합니다 . 이는 일반적으로 스크립트와 별도의 파일로 파일을 유지하고 제한적인 파일 시스템 권한을 구성하는 것을 의미 합니다 . 이것이 보안 관점에서이 정면에서 할 수있는 모든 것입니다.
다른 조치는 프로세스 에 불명확성 을 추가 할 수 있습니다 . 암호를 암호화하면 공격자가 암호 해독 키를 검색해야합니다. 일종의 운영 체제 보호 스토리지를 사용하면 일반적으로 키에 액세스 하는 다른 사용자 로부터 보호 됩니다 (따라서 공격 및 사용이 복잡하지 않은 파일 시스템 권한보다 이점이 없음). 이러한 조치는 공격 을 지연 시키지만 결정된 공격자에 대한 공격을 막지는 못할 것입니다.
이제 비밀번호를 잠시 공개로 취급 하겠습니다 . 피해를 완화하기 위해 무엇을 할 수 있습니까?
오래되고 테스트 된 솔루션은 해당 자격 증명으로 수행 할 수있는 작업을 제한하는 것입니다. UNIX 시스템에서이를 수행하는 좋은 방법은 스크립트에 별도의 사용자 를 설정 하고 액세스 및 액세스 된 서버 모두에서 해당 사용자의 기능을 제한하는 것 입니다. SSH 수준 , 셸 수준 또는 SELinux와 같은 필수 액세스 제어 메커니즘을 사용하여 사용자 기능 을 제한 할 수 있습니다 .
고려해야 할 사항은 스크립트 논리를 서버로 옮기는 것 입니다. 그렇게하면 제어하기 쉬운 작은 인터페이스, 특히 ...
모니터 . 항상 서버에 대한 액세스를 모니터하십시오. 바람직하게는, 로그 인증 및 명령은 추가 전용 로그로 실행된다 . auditd
예를 들어을 사용하여 스크립트 파일 변경 사항을 모니터링하는 것을 잊지 마십시오 .
물론, 이러한 메커니즘 중 다수는 서버에 대한 제어 권한이없는 경우 유용하지 않습니다. 질문에서 알 수 있듯이. 이 경우 서버를 관리하는 사람들과 연락 하여 스크립트와 잠재적 인 보안 위험에 대해 알려주십시오.