LiteSpeedServer

서버 초기 설정 및 보안 강화 (SSH 및 사용자 관리)

이번 포스팅을 따라서 진행하기 전에, 서버 인스턴스(Server Instance)를 생성하고 터미널 설정이 완료되었는지 확인해 주십시오. 이번 강의에는 첨부된 PDF 파일이 있으니 다운로드하시기 바랍니다.

이번 강의에서는 SSH(Secure Shell)를 사용하여 처음으로 루트(Root) 사용자로 서버에 로그인할 것입니다. 로그인 후에는 서버의 보안 강화(Hardening) 과정을 시작합니다. 보안 강화란 설치 과정에서 적용된 기본(취약할 수 있는) 설정을 더 안전한 값으로 변경하는 작업을 의미합니다. 서버 인스턴스를 생성할 때, 클라우드 제공업체는 다음 두 가지 정보를 메모해 두라고 요청했을 것입니다.

  1. Server IP 주소
  2. 루트(root)의 비밀번호
1. 루트 사용자로 처음 로그인(SSH)

서버에 로그인하기 위해 터미널 에뮬레이터를 엽니다. 기본 명령어 형식은 다음과 같습니다.

ssh root@X.X.X.X

로그인 후 다음과 같은 보안 강화 절차를 진행할 것입니다:

  1. 루트 사용자 비밀번호 변경
  2. 새로운 비루트(Non-root) 사용자 추가
  3. 새 사용자에게 루트 권한 부여 (Sudo)
  4. 루트 사용자의 직접 로그인 비활성화
[실습시작]

Linux나 Mac 사용자는 터미널(Terminal)을, Windows 사용자는 Git Bash나 Windows Terminal을 실행하세요. 서버에 로그인하기 전, 로컬 PC에서 다음 명령어를 입력하여 SSH 관련 디렉토리를 생성하는 것이 좋습니다.

mkdir .ssh

이미 디렉토리가 존재한다는 메시지가 뜨면 괜찮습니다. 이제 clear 명령어로 화면을 정리하겠습니다. 호스팅 프로바이더 제어 패널에서 IP 주소를 복사한 뒤, 터미널에 다음 명령어를 입력합니다.

ssh root@복사한_IP_주소

처음 접속하면 “The authenticity of host… can’t be established”라는 서버 지문(Fingerprint) 경고가 나타납니다. 연결을 계속하시겠습니까? 라는 질문에 반드시 yes를 입력하고 엔터를 누릅니다. 그러면 서버의 지문이 여러분 PC의 known_hosts 파일에 저장되며, 이후에는 묻지 않습니다. 이제 비밀번호를 묻습니다. 제어 패널에서 비밀번호를 복사하여 터미널에 붙여넣습니다. (참고: 보안상 비밀번호를 입력할 때 화면에는 아무것도 표시되지 않습니다.)

PS C:\Users\bests> ssh root@X.X.X.X
The authenticity of host 'X.X.X.X (X.X.X.X)' can't be established.
ED25519 key fingerprint is SHA256:PK6OxP66~~~ejzv7kTZ/OEK.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'X.X.X.X' (ED25519) to the list of known hosts.
root@X.X.X.X's password:
Welcome to Ubuntu 24.04.3 LTS (GNU/Linux 6.8.0-87-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

로그인에 성공하면 프롬프트가 다음과 같이 바뀝니다.

root@lightspeed:~#
  • root: 현재 사용자
  • lightspeed: 서버 호스트네임 (예시)
  • ~: 루트 사용자의 홈 디렉토리
  • #: 루트 권한으로 작업 중임을 의미

로그인 시 환영 메시지와 시스템 상태 요약, 적용 가능한 업데이트 개수(예: 78 updates)가 표시됩니다. 업데이트는 잠시 후에 다루겠습니다. clear를 입력하여 화면을 정리합니다.

2. 루트 비밀번호 변경 및 사용자 관리

가장 먼저 할 일은 루트 비밀번호를 변경하는 것입니다.

passwd

새로운 강력한 비밀번호를 두 번 입력합니다. “password updated successfully”가 뜨면 성공입니다.

이제 새로운 Non-root 사용자를 추가하겠습니다. 이 사용자는 평소에는 일반 사용자지만, 필요할 때 루트 권한을 행사할 수 있게 설정할 것입니다.

먼저 홈 디렉토리 구조를 확인해 봅시다.

cd /home
ls

현재는 비어 있을 것입니다. 이제 새 사용자를 추가합니다. 저는 제 이름인 ‘youngsoo’를 사용하겠습니다. 여러분은 원하는 ID를 사용하세요.

adduser youngsoo

명령어를 실행하면 자동으로 그룹이 생성되고 /home/youngsoo 디렉토리가 만들어집니다. 새 사용자의 비밀번호를 설정하고, 나머지 정보(이름, 방 번호 등)는 엔터를 눌러 건너뜁니다. 정보가 맞는지 확인(Y)하면 사용자가 생성됩니다. ls를 입력하여 /home 디렉토리를 확인하면 youngsoo 폴더가 생성된 것을 볼 수 있습니다.

(참고: 만약 사용자를 삭제하고 싶다면 deluser 사용자명을 사용하고, 홈 디렉토리까지 삭제하려면 deluser --remove-home 사용자명을 사용합니다.)

답글 남기기