Debian 보안 설정

Debian은 많은 사용자와 개발자들에게 사랑받는 안정성과 보안성을 지닌 Linux 배포판입니다. 이 문서에서는 Debian 시스템의 보안 설정에 중점을 둘 것입니다. 특히, bash 스크립트를 사용하여 다양한 보안 설정을 자동화하는 방법을 알아보겠습니다.

1. 초기 설정

Debian 시스템에서 보안 설정을 시작하기 전에, root 사용자로 로그인하여 다음 명령을 실행하여 시스템을 최신 상태로 업데이트하십시오:

sudo apt update
sudo apt upgrade -y

2. 방화벽 설정

접근 제어를 위해 방화벽을 설정하는 것은 중요한 보안 절차입니다. Debian에서는 기본적으로 iptables를 사용하여 방화벽을 설정할 수 있습니다.

#!/bin/bash

# 모든 트래픽을 막기
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT DROP
sudo iptables -P FORWARD DROP

# SSH 연결 허용
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

# HTTPS 연결 허용
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT

# HTTP 연결 허용
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

위 스크립트는 모든 트래픽을 차단하고, SSH, HTTPS 및 HTTP 연결을 허용합니다. 이러한 규칙은 필요에 따라 추가 또는 수정할 수 있습니다.

3. 패키지 업데이트

Debian 시스템에 설치된 패키지를 최신 상태로 유지하는 것은 중요합니다. 보안 취약점이 해결된 패치와 업데이트된 버전을 시스템에 적용하면 해킹 및 공격으로부터 시스템을 보호할 수 있습니다.

#!/bin/bash

# 패키지 목록 업데이트
sudo apt update

# 업그레이드 가능한 패키지 업그레이드
sudo apt upgrade -y

# 시스템 재부팅
sudo reboot

위 스크립트는 패키지 목록을 업데이트하고, 업그레이드 가능한 패키지를 업그레이드한 후 시스템을 재부팅합니다.

4. 암호 정책 강화

시스템 보안을 강화하기 위해 Debian에서는 암호 정책을 적용해야 합니다.

#!/bin/bash

# 패스워드 복잡성 강화
sudo apt install libpam-pwquality

# 패스워드 만료 설정
sudo sed -i 's/PASS_WARN_AGE 7/PASS_WARN_AGE 14/g' /etc/login.defs

# 패스워드 최소 길이 설정
sudo sed -i 's/^PASS_MIN_LEN [[:digit:]]*$/PASS_MIN_LEN 12/g' /etc/login.defs

# 패스워드 만료 기간 설정
sudo passwd -x 90 <username>

위 스크립트는 패스워드 정책을 강화하는데 필요한 패키지를 설치하고, 패스워드 만료 주기, 최소 길이 및 만료 기간을 설정합니다. <username>을 실제 사용자 이름으로 대체해야 합니다.

5. 로그 감사 설정

로그 감사는 시스템에서 발생한 이벤트를 기록하여 보안 조사 및 문제 해결에 도움을 줍니다. Debian에서는 rsyslog을 사용하여 로그를 수집할 수 있습니다.

#!/bin/bash

# rsyslog 패키지 설치
sudo apt install rsyslog

# 로그 감사 규칙 설정
sudo bash -c 'cat << EOF > /etc/rsyslog.d/50-default.conf
auth,authpriv.*         /var/log/auth.log
*.*;auth,authpriv.none  -/var/log/syslog
kern.*                  -/var/log/kern.log
EOF'

# rsyslog 서비스 재시작
sudo systemctl restart rsyslog

위 스크립트는 rsyslog 패키지를 설치하고, 로그 감사 규칙을 설정한 후 rsyslog 서비스를 재시작합니다.

결론

위에서 제시한 몇 가지 예제는 Debian 시스템의 보안 설정을 자동화하는 데 도움이 될 수 있는 간단한 bash 스크립트입니다. 이러한 설정을 수행하면 시스템의 보안성을 높이고 일상적인 보안 작업을 간소화할 수 있습니다. Debian에서는 더 많은 보안 관련 패키지와 설정 옵션이 제공되며, 필요에 따라 이에 대해 추가적인 조치를 취할 수 있습니다.