우분투 보안 설정 방법

우분투는 안정성과 보안성이 높은 리눅스 배포판으로 알려져 있습니다. 그러나 기본적인 운영 체제 보안 설정 외에도 몇 가지 추가 단계를 수행하여 시스템을 더욱 안전하게 유지할 수 있습니다. 이 블로그 포스트에서는 우분투에서의 보안 설정 방법에 대해 알아보겠습니다.

1. 강력한 패스워드 정책 사용

좋은 보안을 위해 우분투에서는 사용자 계정의 패스워드 복잡성을 강화해야 합니다. /etc/login.defs 파일에서 PASS_MAX_DAYSPASS_MIN_DAYS 변수를 수정하여 패스워드 유효 기간과 최소 변경 간격을 설정할 수 있습니다. 예를 들어, 아래와 같이 설정할 수 있습니다:

PASS_MAX_DAYS 90
PASS_MIN_DAYS 7

이렇게 설정하면 패스워드는 90일마다 만료되어야 하며 최소 7일에 한 번은 변경해야 합니다.

2. 방화벽 구성

방화벽은 시스템을 외부의 공격으로부터 보호하기 위한 필수적인 보안 기능입니다. 우분투의 기본 방화벽은 ufw (Uncomplicated Firewall) 입니다. 다음 명령어를 사용하여 방화벽을 설치하고 설정할 수 있습니다:

sudo apt update
sudo apt install ufw

기본적으로 모든 트래픽은 차단되어 있으며, 필요한 포트만 열어주어야 합니다. 예를 들어, HTTP 서버를 운영하려면 80번 포트를 열어주어야 합니다:

sudo ufw allow 80/tcp

3. 업데이트와 패치 관리

일반적으로 시스템을 안전하게 유지하기 위해서는 최신 보안 패치와 업데이트를 설치해야 합니다. 우분투에서는 apt 패키지 관리자를 사용하여 업데이트 관리를 할 수 있습니다. 아래의 명령어들을 사용하여 패키지 목록을 업데이트하고, 패키지를 업그레이드할 수 있습니다:

sudo apt update
sudo apt upgrade

이렇게 하면 최신 보안 패치와 업데이트가 설치됩니다.

4. SSH 액세스 제한

SSH (Secure Shell)는 원격으로 컴퓨터에 액세스하기 위한 프로토콜입니다. SSH 서비스의 보안을 강화하기 위해 몇 가지 추가 설정을 해야 합니다. /etc/ssh/sshd_config 파일을 수정하여 기본 SSH 포트를 변경하고, PermitRootLoginno로 설정하여 루트 액세스를 제한할 수 있습니다:

Port 2222
PermitRootLogin no

위 예시에서는 SSH 포트를 2222로 변경하고, 루트 액세스를 제한합니다.

5. 적절한 파일 권한 설정

파일 권한 설정은 시스템 보안에 중요한 역할을 합니다. 필요한 권한만을 부여하여 불필요한 액세스를 차단해야 합니다. 핵심 시스템 파일과 디렉토리는 root 사용자만이 읽고 쓸 수 있도록 설정되어야 합니다. 파일의 권한은 다음의 명령어를 사용하여 수정할 수 있습니다:

sudo chmod 600 파일명

위의 예시에서는 파일의 권한을 600으로 변경합니다.

이외에도 우분투에서는 다양한 보안 설정을 통해 시스템을 더욱 안전하게 유지할 수 있습니다. 하지만 이 블로그 포스트에서는 몇 가지 중요한 설정만 다뤄보았습니다. 보안 측면에서 중요한 것은 적용한 설정들을 주기적으로 검토하고 업데이트하는 것입니다.