Debian 11에서 초기 서버 설정하기

소개

새로운 Debian 11 서버를 처음 생성할 때 기본 설정의 일환으로 몇 가지 구성 단계를 미리 수행해야 합니다. 이렇게 하면 서버의 보안과 사용성이 향상되며 후속 조치에 대한 견고한 기반을 제공합니다.

이 자습서에서는 root 사용자로 서버에 로그인하고, 관리자 권한을 가진 새 사용자를 만들고, 기본 방화벽을 설정하는 방법을 배웁니다.

단계 1 — root로 로그인하기

서버에 로그인하려면 서버의 공용 IP 주소를 알아야 합니다. 또한 인증을 위해 SSH 키를 설치했다면 root 사용자 계정의 개인 키 또는 비밀번호가 필요합니다. 아직 서버에 로그인하지 않은 경우 상세한 프로세스를 다루는 Droplet에 SSH로 연결하는 방법 가이드를 따르는 것이 좋습니다.

이미 서버에 연결되어 있지 않은 경우 다음 명령을 사용하여 root 사용자로 로그인하십시오(명령의 강조 부분은 서버의 공용 IP 주소로 대체하십시오):

  1. ssh root@your_server_ip

호스트 신뢰성 경고를 수락하십시오. 암호 인증을 사용하는 경우 로그인하려면 root 암호를 제공하십시오. 암호로 보호된 SSH 키를 사용하는 경우 세션마다 해당 키를 처음 사용할 때마다 암호를 입력하라는 메시지가 표시될 수 있습니다. 이것이 비밀번호로 서버에 처음 로그인하는 경우이면, root 암호를 변경하라는 메시지도 나타날 수 있습니다.

루트에 대하여

루트 사용자는 Linux 환경에서 매우 넓은 권한을 가진 관리자 사용자입니다. 루트 계정의 높은 권한으로 인해 권장하지 않습니다. 이것은 루트 계정에 내재된 권한의 일부로, 심각한 변경 사항을 실수로도 만들 수 있다는 능력이 있기 때문입니다.

다음 단계는 일상적인 작업을 위해 영향력의 범위가 줄어든 대체 사용자 계정을 설정하는 것입니다. 나중에 필요한 경우 권한을 높일 방법을 설명하겠습니다.

단계 2 — 새 사용자 생성

root로 로그인한 상태에서 이제부터 로그인에 사용할 새 사용자 계정을 추가할 준비가 되었습니다.

이 예제는 sammy라는 새 사용자를 생성하지만, 원하는 사용자 이름으로 대체해야합니다:

  1. adduser sammy

일부 질문을 받게됩니다. 계정 암호부터 시작합니다.

강력한 암호를 입력하고 선택적으로 추가 정보를 입력할 수 있습니다. 이것은 필수가 아니며 건너 뛰고 싶은 필드에는 그냥 ENTER를 누를 수 있습니다.

다음으로,이 새 사용자에게 관리자 권한을 설정합니다.

단계 3 — 관리자 권한 부여

이제 우리는 일반 계정 권한을 가진 새 사용자 계정을 만들었습니다. 그러나 때로는이를 사용하여 관리 작업을 수행해야 할 수 있습니다.

일반 사용자에서 로그 아웃하고 루트 계정으로 다시 로그인할 필요없이 일반 사용자에 대한 슈퍼 사용자 또는 루트 권한을 설정할 수 있습니다. 이렇게하면 명령 앞에 sudo라는 단어를 넣음으로써 일반 사용자가 관리자 권한으로 명령을 실행할 수 있습니다.

이러한 권한을 새 사용자에게 추가하려면 새 사용자를 sudo 그룹에 추가해야합니다. Debian 11의 경우 기본적으로 sudo 그룹에 속한 사용자는 sudo 명령을 사용할 수 있습니다.

루트로 이 새 사용자를 sudo 그룹에 추가하려면이 명령을 실행하십시오 (강조 표시된 단어를 새 사용자로 대체하십시오):

  1. usermod -aG sudo sammy

이제 일반 사용자로 로그인한 상태에서 명령어 앞에 sudo를 입력하여 슈퍼유저 권한으로 명령을 실행할 수 있습니다.

단계 4 — 기본 방화벽 설정

데비안 서버는 특정 서비스로의 연결만 허용하도록 방화벽을 사용할 수 있습니다. 이 가이드에서는 방화벽 정책을 설정하고 예외를 관리하기 위해 UFW 방화벽을 설치하고 사용할 것입니다.

우리는 UFW를 설치하기 위해 apt 패키지 관리자를 사용할 수 있습니다. 최신 패키지 정보를 검색하기 위해 로컬 인덱스를 업데이트하고 UFW 방화벽 소프트웨어를 설치하기 위해 다음과 같이 입력합니다:

  1. apt update
  2. apt install ufw

참고: 만약 서버가 DigitalOcean에서 실행 중이라면, UFW 방화벽 대신 DigitalOcean 클라우드 방화벽을 선택적으로 사용할 수 있습니다. 다른 규칙과 충돌할 수 있는 것을 피하기 위해 한 번에 하나의 방화벽만 사용하는 것을 권장합니다.

방화벽 프로필을 사용하면 UFW가 설치된 애플리케이션에 대한 방화벽 규칙의 명명된 집합을 관리할 수 있습니다. 일부 일반 소프트웨어의 프로필은 UFW와 함께 기본적으로 번들로 제공되며, 패키지는 설치 과정 중에 UFW에 추가 프로필을 등록할 수 있습니다. 현재 서버에 연결할 수 있게 해주는 서비스인 OpenSSH에는 우리가 사용할 수 있는 방화벽 프로필이 있습니다.

입력하여 사용 가능한 모든 애플리케이션 프로필을 나열할 수 있습니다:

  1. ufw app list
Output
Available applications: . . . OpenSSH . . .

방화벽이 SSH 연결을 허용하도록해야 다음에 다시 로그인 할 수 있습니다. 이러한 연결을 허용하려면 다음을 입력하십시오:

  1. ufw allow OpenSSH

그런 다음 방화벽을 활성화하려면 다음을 입력하십시오:

  1. ufw enable

진행하려면 y를 입력 한 다음 ENTER를 누르십시오. SSH 연결이 여전히 허용되어 있는지 확인할 수 있습니다:

  1. ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

방화벽이 현재 SSH를 제외한 모든 연결을 차단하고 있으므로 추가 서비스를 설치하고 구성하는 경우 방화벽 설정을 조정하여 적합한 트래픽을 허용해야 합니다.UFW 핵심 가이드에서 일반적인 UFW 작업을 학습할 수 있습니다.

단계 5 — 정규 사용자의 외부 액세스 활성화

이제 일상적으로 사용할 정규 사용자가 있으므로 해당 계정으로 직접 SSH 할 수 있는지 확인해야합니다.

참고: 새로운 사용자로 로그인하고 sudo를 사용할 수 있는지 확인할 때까지는 root로 로그인하는 것이 좋습니다. 이렇게 하면 문제가 발생할 경우 root로 문제 해결 및 필요한 변경을 할 수 있습니다. DigitalOcean Droplet을 사용하고 root SSH 연결에 문제가 있는 경우 DigitalOcean 콘솔을 사용하여 Droplet에 로그인할 수도 있습니다.

새로운 사용자에 대한 SSH 액세스를 구성하는 프로세스는 서버의 root 계정이 인증에 비밀번호 또는 SSH 키를 사용하는지 여부에 따라 다릅니다.

루트 계정이 비밀번호 인증을 사용하는 경우

비밀번호로 root 계정에 로그인한 경우 SSH에 비밀번호 인증이 활성화됩니다. 새로운 사용자 계정으로 SSH에 접속하려면 새 터미널 세션을 열고 새로운 사용자 이름을 사용하여 SSH를 사용할 수 있습니다:

  1. ssh sammy@your_server_ip

정상 사용자의 비밀번호를 입력한 후에 로그인됩니다. 관리자 권한으로 명령을 실행해야 하는 경우에는 다음과 같이 명령 앞에 sudo를 입력하십시오:

  1. sudo command_to_run

세션마다 (그리고 정기적으로 이후) 첫 번째로 sudo를 사용할 때 정상 사용자 비밀번호를 입력해야 합니다.

서버 보안을 강화하려면 비밀번호 인증 대신 SSH 키를 설정하는 것이 강력히 권장됩니다. Debian 11에서 SSH 키를 설정하는 방법은 SSH 키 설정 가이드를 따르세요. 키 기반 인증을 구성하는 방법을 알아보세요.

루트 계정이 SSH 키 인증을 사용하는 경우

SSH 키를 사용하여 루트 계정에 로그인한 경우 SSH에 대한 비밀번호 인증이 비활성화됩니다. 성공적으로 로그인하려면 로컬 공개 키의 복사본을 새로운 사용자의 ~/.ssh/authorized_keys 파일에 추가해야 합니다.

서버의 루트 계정의 ~/.ssh/authorized_keys 파일에 이미 공개 키가 있으므로 우리는 해당 파일과 디렉토리 구조를 cp 명령어를 사용하여 현재 세션에서 새 사용자 계정으로 복사할 수 있습니다. 그런 다음 chown 명령을 사용하여 파일의 소유권을 조정할 수 있습니다.

아래 명령어의 강조된 부분을 귀하의 일반 사용자 이름에 맞게 변경하세요:

  1. cp -r ~/.ssh /home/sammy
  2. chown -R sammy:sammy /home/sammy/.ssh

cp -r 명령은 전체 디렉토리를 새로운 사용자의 홈 디렉토리로 복사하고, chown -R 명령은 해당 디렉토리(및 그 안에 있는 모든 것)의 소유자를 지정된 사용자명:그룹명으로 변경합니다 (Debian은 기본적으로 사용자 이름과 동일한 이름의 그룹을 생성합니다).

이제 새로운 터미널 세션을 열고 SSH를 통해 새로운 사용자 이름으로 로그인하세요:

  1. ssh sammy@your_server_ip

비밀번호를 사용하지 않고 새 사용자 계정으로 로그인해야 합니다. 관리자 권한으로 명령을 실행해야 할 경우, 다음과 같이 명령 앞에 sudo를 입력하십시오:

  1. sudo command_to_run

세션마다 (그리고 정기적으로) 처음으로 sudo를 사용할 때 일반 사용자 암호를 입력해야 합니다.

다음 단계는 어디로 가야 할까요?

이 시점에서 서버에 대한 견고한 기반을 갖추었습니다. 이제 서버에 필요한 소프트웨어를 설치할 수 있습니다.

Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-11