[shell] 셸 보안 모범 사례
운영 체제에서 셸은 매우 강력한 도구이지만 보안 상 이슈가 발생할 수 있습니다. 이를 해결하기 위해 셸 보안을 강화하는 여러 모범 사례가 있습니다.
1. 약한 암호 사용하지 않기
쉘 계정에 대해 강력한 암호 정책을 적용하고, 사용자들에게 안전한 암호를 생성하도록 권장합니다.
# 암호 정책 설정 예시
/etc/security/pwquality.conf
2. 권한 및 액세스 제어
- 최소한의 권한을 할당하고, 사용자의 액세스 권한을 제한합니다.
- 애초에 불필요한 셸 액세스를 차단합니다.
# 권한 설정 예시
chmod 700 /bin/bash
3. 셸 스크립트 검증
셸 스크립트를 실행하기 전에 항상 스크립트의 유효성을 검증하고, 코드 실행 시 보안 취약점을 최소화하기 위해 입력값을 검증해야 합니다.
# 취약한 입력값 검증
user_input=$(grep "pattern" $file)
4. 보안 패치 및 업데이트
항상 최신 보안 패치를 적용하고, 셸 환경 관련 모든 패키지와 소프트웨어들을 최신 상태로 유지해야 합니다.
# 시스템 업데이트
sudo apt-get update && sudo apt-get upgrade
5. 로깅과 모니터링
셸 활동과 관련된 로그를 모니터링하여, 의심스러운 활동을 식별하고 대응할 수 있어야 합니다.
# 로깅 설정
/var/log/auth.log
셸 보안을 강화하는 것은 시스템 전반적인 보안에 큰 영향을 미칩니다. 따라서 이러한 모범 사례를 따르면 시스템 보안을 높일 수 있습니다.
참고 자료
- “Shell Scripting: Expert Recipes for Linux, Bash, and More” - Chris F.A. Johnson
- “Pro Bash Programming: Scripting the Linux Shell” - Chris F.A. Johnson