[linux] 리눅스 시스템 보안 취약한 설정

리눅스 시스템을 보호하기 위해서는 취약점을 찾아내고 보완하는 것이 매우 중요합니다. 여기에는 시스템 설정, 서비스 구성, 사용자 권한 관리 등이 포함됩니다. 이 글에서는 리눅스 시스템에서 흔히 발견되는 취약점과 그 해결 방법에 대해 알아보겠습니다.

취약한 SSH 설정

SSH(Secure Shell)는 원격으로 안전하게 접속할 수 있는 프로토콜이지만, 취약한 설정으로 인해 보안에 취약해질 수 있습니다. 기본적인 보안 설정을 통해 SSH 보안을 향상시킬 수 있습니다. 예를 들어, PermitRootLogin 옵션을 no로 변경하여 root 계정으로의 SSH 접속을 제한하고, 키 기반 인증을 사용하도록 설정할 수 있습니다.

PermitRootLogin no
PasswordAuthentication no

미관리 사용자 계정

리눅스 시스템에서는 사용자 계정을 신중하게 관리해야 합니다. 장기간 사용되지 않는 사용자 계정이 존재할 경우 보안 위협이 될 수 있습니다. 따라서, 주기적으로 사용자 계정을 검토하고 비활성화 또는 삭제하는 것이 좋습니다.

# 사용자 계정 정보 확인
cat /etc/passwd

# 사용자 계정 비활성화
usermod -L username

# 사용자 계정 삭제
userdel username

방화벽 설정 미흡

적절하게 설정된 방화벽은 시스템 보안에 중요한 역할을 합니다. 방화벽은 불필요한 네트워크 트래픽을 차단하고, 허용된 포트와 프로토콜만 허용함으로써 시스템을 보호합니다. 오픈소스 방화벽 도구인 iptablesfirewalld를 사용하여 방화벽 정책을 설정할 수 있습니다.

# iptables 방화벽 정책 확인
iptables -L

# firewalld 방화벽 허용 설정
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

패치되지 않은 소프트웨어

리눅스 시스템에서는 사용 중인 소프트웨어 및 커널을 최신 버전으로 유지하는 것이 중요합니다. 패치되지 않은 소프트웨어에는 알려진 보안 취약점이 존재할 수 있으며, 이를 악용당하면 시스템이 해킹될 수 있습니다. 주기적인 패치 및 업그레이드를 통해 시스템을 보호할 수 있습니다.

이러한 보안 취약점을 보완하고 시스템을 안전하게 유지하는 것은 시스템 관리자의 중요한 역할입니다. 이러한 취약점을 지속적으로 모니터링하고 보완함으로써 시스템 보안을 향상시킬 수 있습니다.

참고 자료: Red Hat Security Blog