Ubuntu 20.04 LTS(Focal Fossa)를 사용한 초기 서버 설정

Ubuntu 20.04 LTS(Focal Fossa)를 사용한 초기 서버 설정

2022-10-18 last update

7 minutes reading Ubuntu 20.04 Ubuntu Focal Fossa Initial Server Setup
이 튜토리얼에서는 Ubuntu Ubuntu 20.04 LTS(Focal Fossa) 서버를 이미 새로 설치했다고 가정합니다. Ubuntu 20.04 LTS(Focal Fossa)와 같은 서버에 LTS 버전의 Ubuntu를 사용하는 것이 좋습니다. 이제 Ubuntu 서버 20.04 서버를 설치한 후 서버에서 사후 설치 단계를 진행하십시오. 이 자습서에는 서버에 기본 보안을 적용하도록 서버를 구성하는 데 유용한 단계가 포함되어 있습니다. 아래 단계를 따르십시오.

1. 시스템 업그레이드

먼저 시스템 터미널을 통해 Ubuntu 20.04 시스템에 로그인합니다. 이제 다음 명령을 실행하여 apt 캐시를 업데이트하고 시스템의 모든 패키지를 업그레이드하십시오.
sudo apt update
sudo apt upgrade

2. 사용자 계정 생성

루트 사용자를 사용하여 Ubuntu 20.04에서 작업하는 것은 절대 권장하지 않습니다. 시스템 관리를 위한 계정을 만들고 이에 대한 sudo 액세스를 활성화해 보겠습니다.
sudo adduser sysadmin
이제 새로 생성된 사용자를 sudo 그룹에 추가하여 모든 sudo 권한을 얻을 수 있도록 합니다.
ssudo usermod -aG sudo sysadmin

3. SSH 서버 보안

기본 SSH 포트를 변경하는 것이 좋습니다. 해킹 시도로부터 시스템을 보호하는 데 도움이 됩니다. 기본 포트를 변경하려면 OpenSSH 구성 파일/etc/ssh/sshd_config를 편집하고 다음 변경을 수행합니다.
  • 기본 포트 변경 – 기본 포트는 항상 공격자에게 있으므로 기본 ssh 포트를 변경하는 것이 좋습니다.
     Port 2222
    
  • 루트 SSH 로그인 비활성화 – 또한 ssh를 통한 루트 로그인을 비활성화하려고 합니다.
     PermitRootLogin no
    
  • 4. 키 기반 SSH 설정

    비밀번호 로그인 대신 키 기반 ssh 로그인을 사용하는 것이 좋습니다. 이를 구성하려면 로컬 시스템에 ssh 키 쌍을 만듭니다. Linux 사용자는 다음 명령을 사용할 수 있고 Windows 사용자는 puttygen.exe를 사용하여 ssh 키 쌍을 생성할 수 있습니다.
    ssh-keygen
    
    샘플 출력:
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/sysadmin/.ssh/id_rsa):
    Created directory '/home/sysadmin/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/sysadmin/.ssh/id_rsa
    Your public key has been saved in /home/sysadmin/.ssh/id_rsa.pub
    The key fingerprint is:
    SHA256:Wewuzm5MjMkiTQA4zFKPpGWpOcEE7TGRlFSgYGpsWHE [email protected]
    The key's randomart image is:
    +---[RSA 3072]----+
    |@O%OE            |
    |@@O+     .       |
    |*X.+.     o      |
    |* . .    +       |
    | . o . +S .      |
    |  . o + o.       |
    |   . . o. .      |
    |       oo.       |
    |       o+        |
    +----[SHA256]-----+
    
    이제 새로 생성된 공개 키 .ssh/id_rsa.pub 파일 내용을 서버 ~/.ssh/authorized_keys 파일에 복사합니다. 공개 키를 서버 파일에 직접 복사하거나 다음 명령을 사용할 수 있습니다.
    ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
    
    이제 SSH로 서버에 로그인하면 암호를 다시 묻지 않습니다.
    ssh [email protected]
    

    5. FirewallD를 사용하여 방화벽 구성

    기본 Ubuntu 20.04 서버 에디션에는 firewalld가 설치되어 있지 않습니다. 다음 명령을 실행하여 기본 리포지토리에서 필요한 패키지를 설치할 수 있습니다.
    sudo apt install firewalld
    
    설치 후 방화벽 서비스를 시작하고 시스템 부팅 시 자동 시작되도록 활성화합니다.
    systemctl start firewalld
    systemctl enable firewalld
    
    기본적으로 방화벽은 원격 사용자에 대한 SSH 액세스를 허용했습니다. 원격 사용자에게 방화벽을 통해 다른 서비스를 허용해야 할 수도 있습니다. "http"또는 "https"와 같은 서비스 이름을 직접 제공하여 허용할 수 있습니다. firewalld는/etc/services 파일을 사용하여 서비스의 해당 포트를 결정합니다.
    firewall-cmd --permanent --add-service=http
    firewall-cmd --permanent --add-service=https
    
    /etc/services 파일에 서비스 이름이 정의되어 있지 않은 경우. 포트 번호를 직접 사용하여 방화벽 규칙을 지정할 수 있습니다. 예를 들어 방화벽에 TCP 포트 8080 또는 10000(기본 Webmin)을 허용합니다.
    firewall-cmd --permanent --add-port=8080/tcp
    firewall-cmd --permanent --add-port=10000/tcp
    
    방화벽을 변경한 후 다음 명령을 사용하여 변경 사항을 다시 로드해야 합니다.
    firewall-cmd --reload
    
    보기 위해 허용된 모든 포트 및 서비스는 다음 명령을 사용합니다.
    firewall-cmd --permanent --list-all
    
    출력:
    public
      target: default
      icmp-block-inversion: no
      interfaces:
      sources:
      services: cockpit dhcpv6-client http https ssh
      ports: 8080/tcp 10000/tcp
      protocols:
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks:
      rich rules:
    

    결론

    Ubuntu 20.04 LTS(Focal Fossa) 시스템을 사용할 준비가 되었습니다. 다른 사람들에게 도움이 될 초기 서버 설정에 대한 아이디어를 공유하는 것을 잊지 마십시오.