Linux 보안 신입 기술면접
새 면접Q. Linux에서 파일 권한을 나타내는 'rwxr-xr--'의 의미를 설명하고, chmod 명령어로 이 권한을 설정하는 방법을 말씀해주세요.
소유자, 그룹, 기타 사용자의 읽기(r), 쓰기(w), 실행(x) 권한을 순서대로 생각해보세요.
rwxr-xr--는 소유자는 읽기/쓰기/실행 모든 권한을 가지고, 그룹은 읽기와 실행 권한만 가지며, 기타 사용자는 읽기 권한만 가진다는 의미입니다. 이를 숫자로 표현하면 소유자는 7(4+2+1), 그룹은 5(4+1), 기타는 4로 754가 됩니다. chmod 754 filename 명령어로 이 권한을 설정할 수 있습니다. 파일 권한은 보안의 기본으로, 중요한 설정 파일이나 실행 파일에 적절한 권한을 부여하여 무단 접근을 방지합니다.
- • 소유자/그룹/기타 사용자 구분
- • 읽기(4), 쓰기(2), 실행(1) 권한의 숫자 표현
- • chmod 명령어 사용법
웹 서버의 설정 파일이나 SSH 키 파일은 타인이 읽지 못하도록 권한을 제한하여 보안을 유지합니다.
umask는 무엇이며, 기본 파일 생성 권한에 어떤 영향을 주나요?
Q. Linux에서 사용자의 비밀번호 정보가 저장되는 파일은 무엇이며, 일반 사용자가 이 파일을 읽을 수 없는 이유를 보안 관점에서 설명해주세요.
/etc/passwd와 /etc/shadow 파일의 역할 차이를 생각해보세요.
사용자 비밀번호의 해시값은 /etc/shadow 파일에 저장됩니다. 과거에는 /etc/passwd에 저장했지만, 이 파일은 모든 사용자가 읽을 수 있어 보안상 취약했습니다. /etc/shadow는 root만 읽을 수 있도록 권한이 설정되어 있어, 일반 사용자가 해시된 비밀번호에 접근할 수 없습니다. 이를 통해 무차별 대입 공격(brute force)이나 사전 공격(dictionary attack)을 방지할 수 있습니다. 비밀번호는 SHA-512 같은 강력한 해시 알고리즘으로 암호화되어 저장됩니다.
- • /etc/shadow에 비밀번호 해시 저장
- • root만 읽기 가능한 권한 설정
- • 무차별 대입 공격 방지
서버 계정 관리 시 /etc/shadow 파일의 권한이 잘못 설정되면 해커가 비밀번호 크래킹을 시도할 수 있어 주기적인 권한 점검이 필요합니다.
salt가 비밀번호 보안에 어떤 역할을 하는지 설명해주세요.
Q. Linux 방화벽인 iptables 또는 firewalld의 기본 동작 원리를 설명하고, 특정 IP에서 SSH 접속만 허용하고 나머지는 차단하는 보안 정책의 필요성을 말씀해주세요.
패킷 필터링 규칙과 기본 정책(default policy)의 개념을 생각해보세요.
iptables는 패킷 필터링 기반 방화벽으로, 들어오는 패킷(INPUT), 나가는 패킷(OUTPUT), 포워딩 패킷(FORWARD)에 대한 규칙을 체인 형태로 관리합니다. 특정 IP에서만 SSH(22번 포트) 접속을 허용하면 무차별 대입 공격이나 봇넷의 자동화된 공격을 원천 차단할 수 있습니다. 기본 정책을 DROP으로 설정하고 필요한 트래픽만 ACCEPT하는 화이트리스트 방식이 보안상 안전합니다. 예를 들어 관리자 IP만 SSH 접근을 허용하고, 나머지는 모두 차단하여 서버 침입 위험을 크게 줄일 수 있습니다.
- • 패킷 필터링 기반 방화벽
- • INPUT/OUTPUT/FORWARD 체인
- • 화이트리스트 방식의 보안 정책
클라우드 서버 운영 시 관리자 IP만 SSH 접속을 허용하여 외부 공격자의 무단 접근 시도를 차단합니다.
fail2ban은 어떤 방식으로 무차별 대입 공격을 방어하나요?
Q. Linux에서 보안 관련 로그가 주로 저장되는 위치와 로그 파일의 중요성을 설명하고, 로그 파일 자체를 보호해야 하는 이유를 말씀해주세요.
/var/log 디렉토리와 침입 탐지 시 로그의 역할을 생각해보세요.
보안 관련 로그는 주로 /var/log 디렉토리에 저장되며, 인증 로그는 /var/log/auth.log 또는 /var/log/secure에 기록됩니다. 로그는 침입 시도, 권한 상승, 비정상적인 접근 등을 추적할 수 있는 중요한 증거 자료입니다. 공격자는 자신의 흔적을 지우기 위해 로그 파일을 삭제하거나 수정하려 하므로, 로그 파일에 적절한 권한을 설정하고 원격 로그 서버로 실시간 전송하는 것이 좋습니다. 또한 logrotate를 통해 로그를 주기적으로 보관하여 디스크 공간 관리와 장기 감사를 동시에 수행합니다.
- • /var/log에 보안 로그 저장
- • 침입 추적 및 감사 증거 자료
- • 로그 파일 보호 및 원격 전송 필요
보안 사고 발생 시 로그 분석을 통해 공격 경로와 시점을 파악하여 대응 방안을 수립합니다.
syslog 프로토콜과 rsyslog의 역할은 무엇인가요?
Q. Linux에서 불필요한 서비스를 중지하고 부팅 시 자동 실행되지 않도록 설정해야 하는 보안상의 이유를 설명하고, systemctl 명령어를 사용한 관리 방법을 말씀해주세요.
공격 표면(attack surface) 최소화 원칙을 생각해보세요.
불필요한 서비스는 잠재적인 취약점이 될 수 있어 공격 표면을 넓히는 원인이 됩니다. 사용하지 않는 서비스가 실행 중이면 해당 서비스의 보안 취약점이 발견될 때 공격 대상이 될 수 있습니다. systemctl stop 서비스명으로 즉시 중지하고, systemctl disable 서비스명으로 부팅 시 자동 실행을 방지할 수 있습니다. 예를 들어 웹 서버가 아닌 시스템에서 Apache나 nginx가 실행 중이라면 중지해야 하며, systemctl list-unit-files 명령으로 활성화된 서비스를 주기적으로 점검해야 합니다. 최소 권한 원칙에 따라 필요한 서비스만 실행하는 것이 보안의 기본입니다.
- • 공격 표면 최소화
- • systemctl stop/disable 사용
- • 주기적인 서비스 점검
서버 하드닝 작업 시 텔넷, FTP 같은 오래된 프로토콜 서비스를 중지하여 보안 취약점을 제거합니다.
SELinux나 AppArmor 같은 MAC(Mandatory Access Control)는 어떤 추가 보안을 제공하나요?
아직 댓글이 없습니다. 첫 번째 댓글을 남겨보세요!