Linux 서버 보안 운영 가이드
SSH는 가장 먼저 점검할 입구다
기본 포트 변경만으로 보안이 완성되지는 않지만, root 직접 로그인 차단, 키 기반 인증, 시도 제한, 접근 가능한 사용자 최소화는 여전히 중요합니다.
# /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
최소 권한 원칙이 핵심이다
애플리케이션 계정, 배포 계정, 운영자 계정의 권한을 분리하는 것이 좋습니다. 모든 작업을 sudo 가능한 단일 계정으로 처리하면 편하지만, 사고 범위도 그만큼 커집니다.
패치와 패키지 정리는 가장 기본적인 방어선
오래된 커널과 패키지를 방치하면 복잡한 공격보다 단순한 취약점 악용으로도 문제가 발생할 수 있습니다. 불필요한 서비스와 패키지를 제거하고, 업데이트 주기를 운영 정책으로 가져가는 편이 좋습니다.
네트워크 노출은 필요한 만큼만
방화벽 규칙은 허용 목록 중심으로 가져가는 것이 안전합니다. SSH, 애플리케이션 포트, 모니터링 포트 모두 외부 공개 범위를 분명히 해야 하며, 내부망과 외부망의 경계도 의식해야 합니다.
로그와 감시가 없으면 대응이 늦어진다
인증 실패, sudo 사용, 서비스 재시작, 비정상 프로세스 실행, 디스크 급증 같은 신호를 볼 수 있어야 합니다. fail2ban 같은 도구도 도움이 되지만, 더 중요한 것은 어떤 로그를 어디서 누가 확인하는지입니다.
자주 하는 실수
초기 구축 시 보안 설정을 한 번 넣고 끝냈다고 생각하는 경우가 많습니다. 그러나 SSH 키 회전, 계정 정리, 패키지 업데이트, 방화벽 검토는 주기적으로 반복되어야 합니다. 또 백업이 없으면 보안 사고 후 복구가 매우 어려워집니다.
마무리
Linux 서버 보안은 한 번의 hardening보다 꾸준한 운영 규율에 가깝습니다. 최소 권한, 패치, 방화벽, 로그, 백업, 계정 관리가 반복 가능한 절차로 자리 잡을 때 서버는 훨씬 안전해집니다.
운영 환경에서 어려워지는 지점
- 리눅스 서버 보안은 일회성 하드닝 명령 모음이 아니라 공격면을 줄이는 운영 규율이다.
- 많은 사고는 평범한 경로로 들어온다. 노출된 서비스, 약한 자격 증명 처리, 오래된 패키지, 낮은 감사 가능성이 대표적이다.
- 운영 편의가 정책을 조용히 우회하기 시작하면 보안은 빠르게 약해진다.
중요한 아키텍처 결정
- 설치 패키지, 노출 포트, 대화형 접근 경로를 최소화한다.
- 강한 SSH 정책, 최소 권한, 명확한 sudo 경계를 둔다.
- 패치, 로깅, secret rotation을 지속 운영으로 본다.
실무 예시
기본 서버 보안 자세는 작고, 관측 가능하고, 강하게 통제되어야 한다.
비밀번호 SSH 비활성화
키 기반 로그인만 허용
sudo 역할 제한
방화벽 활성화
인증/감사 로그 중앙 수집
피해야 할 안티패턴
- 나중에 필요할 수 있다는 이유로 미사용 서비스를 켜두는 것.
- 운영자 사이에서 권한 계정을 공유하는 것.
- 클라우드 경계 보안이 호스트 수준 하드닝을 대체한다고 믿는 것.
운영 체크리스트
- 사용자 계정, sudo 권한, SSH 노출을 정기적으로 점검한다.
- OS와 보안 패키지를 정해진 주기로 패치한다.
- 로그를 중앙화하고 의심 접근에 경보를 건다.
- 예방 통제뿐 아니라 복구와 사고 대응 절차도 테스트한다.
최종 판단
서버 보안은 최소 권한과 감사 가능성이 일상 운영에 내장될 때 가장 강하다. 운영 후속조치 없는 임시 하드닝은 빨리 무너진다.
Continue Reading
다음으로 읽기 좋은 글
빌드 출처 증명과 배포 게이트 운영법
소프트웨어 공급망 보안은 스캔 한 번으로 끝나지 않습니다. 빌드 출처 증명과 배포 게이트를 운영에 연결하는 기준을 정리합니다.
🚀 DevOpsCI/CD를 위한 소프트웨어 공급망 Attestation
SBOM, provenance, attestation, 릴리스 검증을 중심으로 현대 배포 파이프라인을 강화하는 실무 가이드입니다.
🤖 AI / LLMOpsAI 에이전트 도구 권한 경계 설계
에이전트가 도구를 호출할 때 읽기, 쓰기, 승인, 감사 로그를 어떻게 나누어야 운영 가능한 제품이 되는지 정리합니다.
📈 최신 동향Kubernetes User Namespaces 기본 활성화가 의미하는 것
Kubernetes에서 user namespaces가 기본 활성화되는 흐름은 단순 옵션 변경이 아닙니다. 컨테이너 격리의 운영 기준이 한 단계 올라가는 신호입니다.
다음 탐색