웹사이트 검색

CentOS/RHEL 8을 사용한 초기 서버 설정


이 문서에서는 설치된 시스템에 대한 정보를 검색하기 위해 그래픽 환경 없이 최소 CentOS/RHEL 8 서버를 설치한 후 적용해야 하는 첫 번째 기본 단계를 안내합니다. 서버가 실행 중인 하드웨어 위에 시스템 업데이트, 네트워킹, 루트 권한, SSH 구성, 서비스 관리 등과 같은 기타 특정 시스템 작업을 구성합니다.

요구사항

  1. CentOS 8 설치 가이드
  2. RHEL 8 최소 설치
  3. RHEL 8에서 RHEL 구독 활성화

중요: 시스템 업데이트를 수행하려면 RHEL 8 서버에서 Red Hat 구독 서비스가 활성화되어 있어야 합니다. 소프트웨어 설치.

1단계: 시스템 소프트웨어 업데이트

먼저 루트 사용자로 서버에 로그인하고 다음 명령을 실행하여 최신 커널, 시스템 보안 패치, 소프트웨어 저장소 및 패키지로 시스템을 완전히 업데이트하십시오.

dnf check-update
dnf update

소프트웨어 업그레이드 프로세스가 완료되면 디스크 공간을 확보하기 위해 다음 명령을 실행하여 캐시된 모든 리포지토리 정보와 함께 다운로드한 모든 소프트웨어 패키지를 삭제할 수 있습니다.

dnf clean all

2단계: 시스템 유틸리티 설치

다음 시스템 유틸리티는 일상적인 시스템 관리 작업에 매우 유용할 수 있습니다. nano, vim 편집기, wget &curl(주로 네트워크를 통해 패키지를 다운로드하는 데 사용되는 유틸리티) net-tool(로컬 네트워킹 관리용 유틸리티) lsof(다음 작업에 유용함) 프로세스별로 열린 파일 목록 찾기) 및 bash-completion(명령줄 자동 완성).

dnf install nano vim wget curl net-tools lsof bash-completion

3단계: 호스트 이름 및 네트워킹 설정

CentOS/RHEL 8에는 네트워크 구성 파일을 수동으로 변경하는 것부터 ifconfig, ip, nmcli 및 nmtui.

네트워크 호스트 이름 설정, 고정 IP 주소 구성 등 초보자가 네트워크 구성을 구성하고 관리하는 데 사용할 수 있는 가장 쉬운 유틸리티는 nmtui 그래픽 명령줄 유틸리티를 사용하는 것입니다.

CentOS 8에서 호스트 이름 설정

시스템 호스트 이름을 설정하거나 변경하려면 다음 nmtui-hostname 명령을 실행하세요. 그러면 아래 스크린샷에 표시된 대로 시스템 호스트 이름을 입력하고 확인을 눌러 완료하라는 메시지가 표시됩니다.

nmtui-hostname

CentOS 8에서 고정 IP 주소 설정

네트워크 인터페이스를 구성하려면 다음 nmtui-edit 명령을 실행하세요. 그러면 아래 스크린샷과 같이 메뉴에서 구성하려는 인터페이스를 선택하라는 메시지가 표시됩니다.

nmtui-edit

수정 버튼을 클릭하면 아래 스크린샷과 같이 네트워크 인터페이스 IP 설정을 지정하라는 메시지가 표시됩니다. 완료되면 [tab] 키를 사용하여 확인으로 이동하여 구성을 저장하고 종료합니다.

네트워크 구성이 완료되면 다음 명령을 실행하여 관리하려는 인터페이스를 선택하여 새 네트워크 설정을 적용하고 비활성화/활성화 옵션을 눌러 인터페이스를 해제하고 불러와야 합니다. 아래 스크린샷과 같이 IP 설정을 사용합니다.

nmtui-connect

네트워크 구성 설정을 확인하려면 인터페이스 파일의 내용을 확인하거나 아래 명령을 실행하면 됩니다.

ifconfig enp0s3
ip a
ping -c2 google.com

ethtoolmii-tool과 같은 다른 유용한 네트워크 유틸리티를 사용하여 네트워크 인터페이스 속도, 네트워크 링크 상태를 확인하고 기계 네트워크 인터페이스에 대한 정보를 얻을 수도 있습니다.

ethtool enp0s3
mii-tool enp0s3

머신 네트워킹의 중요한 측면은 어떤 서비스가 어떤 포트에서 수신 대기하고 있는지, 설정된 네트워크 연결의 상태를 확인하고 프로세스에서 열린 모든 파일을 나열하기 위해 열려 있는 모든 네트워크 소켓을 나열하는 것이 중요합니다.

netstat -tulpn
ss -tulpn
lsof -i4 -6

4단계: 새 사용자 계정 만들기

필요할 때 관리 작업을 수행하려면 루트 권한이 있는 일반 사용자를 두는 것이 항상 권장됩니다. 일반 사용자에게 루트 권한을 할당하려면 먼저 useradd 명령으로 사용자를 생성하고 비밀번호를 설정한 후 관리 휠 그룹에 사용자를 추가합니다.

useradd ravisaive
passwd ravisaive
usermod -aG wheel ravisaive

새 사용자에게 루트 권한이 있는지 확인하려면 사용자의 자격 증명으로 시스템에 로그인하고 표시된 대로 Sudo 권한으로 dnf 명령을 실행하세요.

su - ravisaive
sudo dnf update

5단계: CentOS 8에서 SSH 비밀번호 없는 로그인 설정

서버 보안을 강화하려면 공개개인 키가 포함된 SSH 키 쌍을 생성하여 새 사용자에 대해 SSH 비밀번호 없는 인증을 설정하세요. 하지만 하나를 만들어야 합니다. 이렇게 하면 시스템에 연결하기 위해 개인 SSH 키를 요구하여 서버의 보안이 강화됩니다.

su - ravisaive
ssh-keygen -t RSA

키가 생성되면 개인 키를 보호하기 위해 암호를 입력하라는 메시지가 표시됩니다. 강력한 암호를 입력하거나 SSH 서버를 통해 관리 작업을 자동화하려는 경우 암호를 비워 두도록 선택할 수 있습니다.

SSH 키가 생성되면 표시된 대로 원격 서버의 사용자 이름과 IP 주소를 사용하여 ssh-copy-id 명령을 실행하여 생성된 공개 키 쌍을 원격 서버에 복사해야 합니다.

ssh-copy-id [email 

SSH 키가 복사되면 이제 개인 키를 인증 방법으로 사용하여 원격 Linux 서버에 로그인을 시도할 수 있습니다. SSH 서버에서 비밀번호를 묻지 않고도 자동으로 로그인할 수 있어야 합니다.

[email 

6단계: SSH 원격 로그인 보안

여기서는 SSH 구성 파일에서 루트 계정에 대한 원격 SSH 액세스를 비활성화하여 서버를 좀 더 안전하게 보호하겠습니다.

vi /etc/ssh/sshd_config

#PermitRootLogin yes라고 표시된 줄을 찾아 줄 시작 부분에서 #를 삭제하여 줄의 주석 처리를 해제하고 줄을 수정합니다.

PermitRootLogin no

그런 다음 SSH 서버를 다시 시작하여 최근의 새로운 변경 사항을 적용하십시오.

systemctl restart sshd

이제 루트 계정으로 로그인을 시도하여 구성을 확인하면 표시된 대로 SSH 액세스 권한 거부 오류가 발생합니다.

ssh [email 

특정 기간 동안 활동이 없으면 서버에 대한 모든 원격 SSH 연결을 자동으로 연결 해제하려는 시나리오가 있습니다.

7단계: CentOS 8에서 방화벽 구성

CentOS/RHEL 8에서 기본 방화벽은 서버에서 iptables 규칙을 관리하는 데 사용되는 Firewalld입니다. 서버에서 방화벽 서비스를 활성화하고 시작하려면 다음 명령을 실행하세요.

systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

특정 서비스(SSH)에 대한 수신 연결을 열려면 먼저 해당 서비스가 방화벽 규칙에 있는지 확인한 다음 다음에 대한 규칙을 추가해야 합니다. 표시된 대로 명령에 --permanent 스위치를 추가하여 서비스를 실행하세요.

firewall-cmd --add-service=[tab]  #List services
firewall-cmd --add-service=ssh
firewall-cmd --add-service=ssh --permanent

HTTP 또는 SMTP와 같은 다른 네트워크 서비스에 대한 수신 연결을 열려면 서비스 이름을 지정하여 표시된 대로 규칙을 추가하기만 하면 됩니다.

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=smtp

서버의 모든 방화벽 규칙을 보려면 다음 명령을 실행하십시오.

firewall-cmd --permanent --list-all

8단계: CentOS 8에서 원치 않는 서비스 제거

새로운 CentOS/RHEL 8 서버를 설치한 후에는 서버에 대한 공격을 줄이기 위해 서버에서 기본적으로 실행되는 원치 않는 서비스를 제거하고 비활성화해야 합니다.

서버에서 TCPUDP를 포함하여 실행 중인 모든 네트워크 서비스를 나열하려면 아래 예에 표시된 대로 ss 명령 또는 netstat 명령을 실행합니다.

ss -tulpn
OR
netstat -tulpn

위 명령은 Postfix 메일 서버와 같이 서버에서 기본적으로 실행되는 몇 가지 흥미로운 서비스를 나열합니다. 서버에서 메일 시스템을 호스팅할 계획이 없다면 표시된 대로 메일 시스템을 중지하고 시스템에서 제거해야 합니다.

systemctl stop postfix
systemctl disable postfix
dnf remove postfix

ss 명령 및 netstat 명령 외에도 ps, top 또는 pstree 명령을 실행하여 원치 않는 모든 서비스를 검색 및 식별하고 시스템에서 제거할 수도 있습니다.

dnf install psmisc
pstree -p

9단계: CentOS 8에서 서비스 관리

CentOS/RHEL 8에서는 모든 서비스와 데몬이 systemctl 명령을 통해 관리되며 이 명령을 사용하여 모든 활성, 실행 중, 종료 또는 실패한 서비스를 나열할 수 있습니다.

systemctl list-units

시스템 시작 중에 데몬이나 서비스가 자동으로 활성화되는지 확인하려면 다음 명령을 실행하십시오.

systemctl list-unit-files -t service

systemctl 명령에 대해 자세히 알아보려면 Linux에서 'Systemctl'을 사용하여 서비스를 관리하는 방법을 설명하는 문서를 읽어보세요.

그게 다야! 이 문서에서는 모든 Linux 시스템 관리자가 새로 설치된 CentOS/RHEL 8 시스템에서 또는 시스템에서 일상적인 작업을 수행하기 위해 알고 적용해야 하는 몇 가지 기본 설정과 명령에 대해 설명했습니다. .