웹사이트 검색

CentOS 7의 초기 서버 설정 및 구성


이 튜토리얼에서는 그래픽 환경 없이 최소 CentOS 7 시스템을 설치한 후 설치된 시스템에 대한 정보를 얻기 위해 거쳐야 하는 첫 번째 기본 단계, 즉 시스템을 실행하는 하드웨어에 대해 설명합니다. 네트워킹, 루트 권한, 소프트웨어, 서비스 등과 같은 기타 특정 시스템 작업을 구성합니다.

요구사항

  1. CentOS 7 최소 설치

중요: RHEL 7 사용자는 이 문서에 따라 RHEL 7에서 초기 서버 설정을 수행할 수 있습니다.

CentOS 7 시스템 업데이트

새로 설치된 CentOS 시스템에서 수행해야 하는 첫 번째 단계는 시스템이 최신 커널 및 시스템 보안 패치, 소프트웨어 저장소 및 패키지로 최신 상태인지 확인하는 것입니다.

CentOS 7 시스템을 완전히 업데이트하려면 루트 권한으로 다음 명령을 실행하세요.


yum check-update
yum upgrade

업그레이드 프로세스가 완료된 후 디스크 공간을 확보하려면 다음 명령을 실행하여 모든 캐시된 리포지토리 정보와 함께 업그레이드 프로세스에 사용된 다운로드된 모든 패키지를 제거할 수 있습니다.


yum clean all

CentOS 7에 시스템 유틸리티 설치

다음 유틸리티 패키지는 일상적인 시스템 관리에 유용할 수 있습니다: nano(vi 편집기를 대체하는 텍스트 편집기), wget, curl(다운로드에 사용되는 유틸리티) 대부분 네트워크를 통한 패키지) net-tools, lsof(로컬 네트워킹 관리용 유틸리티) 및 bash-completion(명령줄 자동 완성).

아래 명령을 실행하여 한 번에 모두 설치하십시오.


yum install nano wget curl net-tools lsof bash-completion

CentOS 7에서 네트워킹 설정

CentOS 7에는 네트워크 구성 파일을 수동으로 편집하는 것부터 ip, ifconfig, nmtui, nmcli 또는 경로.

초보자가 네트워크 구성을 관리하고 변경하는 데 사용할 수 있는 가장 쉬운 유틸리티는 nmtui 그래픽 명령줄입니다.

nmtui 유틸리티를 통해 시스템 호스트 이름을 변경하려면 그림과 같이 nmtui-hostname 명령을 실행하고 시스템 호스트 이름을 설정한 후 확인을 눌러 완료합니다. 아래 스크린샷에서.


nmtui-hostname

네트워크 인터페이스를 조작하려면 아래 스크린샷과 같이 nmtui-edit 명령을 실행하고 편집하려는 인터페이스를 선택한 다음 오른쪽 메뉴에서 edit를 선택합니다.


nmtui-edit

nmtui 유틸리티에서 제공하는 그래픽 인터페이스에 들어가면 아래 스크린샷에 표시된 대로 네트워크 인터페이스 IP 설정을 지정할 수 있습니다. 완료되면 [tab] 키를 사용하여 확인으로 이동하여 구성을 저장하고 종료합니다.

네트워크 인터페이스 새 구성을 적용하려면 nmtui-connect 명령을 실행하고 관리하려는 인터페이스를 선택한 다음 비활성화/활성화 옵션을 눌러 해제하고 시작하세요. 아래 스크린샷에 표시된 대로 IP 설정과의 인터페이스입니다.


nmtui-connect

네트워크 인터페이스 설정을 보려면 인터페이스 파일의 내용을 검사하거나 아래 명령을 실행할 수 있습니다.


ifconfig enp0s3
ip a
ping -c2 google.com

속도, 링크 상태를 관리하거나 기계 네트워크 인터페이스에 대한 정보를 얻는 데 사용할 수 있는 다른 유용한 유틸리티로는 ethtoolmii-tool이 있습니다.


ethtool enp0s3
mii-tool enp0s3

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

청취 상태에서 TCP 또는 UDP 소켓을 연 모든 서버를 나열하려면 다음 명령을 실행하십시오. 그러나 UDP는 네트워크를 통해서만 패킷을 보내고 연결을 설정하지 않는 비연결 프로토콜이기 때문에 UDP 서버는 소켓 상태를 나열하지 않습니다.


netstat -tulpn
ss -tulpn
lsof -i4 -6

CentOS 7에서 서비스 관리

CentOS 7은 systemctl 유틸리티를 통해 데몬이나 서비스를 관리합니다. 모든 서비스 상태를 나열하려면 다음 명령을 실행하십시오.


systemctl list-units

시스템 시작 시 데몬이나 서비스가 자동으로 시작되도록 활성화되어 있는지 확인하려면 다음 명령을 실행합니다.


systemctl list-unit-files -t service

시스템에 있는 이전 SysV 서비스를 나열하고 비활성화하려면 다음 chkconfig 명령을 실행하십시오.


chkconfig --list
chkconfig service_name off

5. CentOS 7에서 원치 않는 서비스 비활성화

CentOS 7을 설치한 후 위 명령을 실행하여 시스템에서 실행 중인 서비스를 나열하고 해당 서비스를 비활성화 및 제거하여 시스템에 대한 공격 벡터를 줄이는 것이 좋습니다.

예를 들어 CentOS 7에서는 Postfix 데몬이 기본적으로 설치되어 활성화되어 있습니다. 시스템에서 메일 서버 실행이 필요하지 않은 경우 아래 명령을 실행하여 postfix 서비스를 중지, 비활성화 및 제거하는 것이 가장 좋습니다. .


systemctl stop postfix
systemctl disable postfix
yum remove postfix

netstat, ss, lsof 또는 systemctl 명령 외에도 ps, top 또는 pstree 명령을 실행하여 시스템에서 실행 중인 원하지 않는 서비스를 검색하고 식별할 수도 있습니다. 비활성화하거나 제거합니다.

CentOS 7에는 기본적으로 pstree 유틸리티가 설치되어 있지 않습니다. 설치하려면 다음 명령을 실행하세요.


yum install psmisc
pstree -p

CentOs 7에서 방화벽 활성화

Firewalld는 iptables 규칙을 관리하기 위해 상호 작용을 사용하는 주요 방화벽 유틸리티입니다.
CentOS 7에서 방화벽을 활성화하고 시작하고 확인하려면 다음 명령을 실행하십시오.


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

서비스가 이제 방화벽 규칙에 이미 정의되어 있는 경우 아래 예와 같이 서비스 포트를 수동으로 추가할 수 있습니다.


firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --reload     #Apply the rule on-fly

사용자 계정에 Sudo 권한 활성화

일반 사용자에게 루트 권한을 부여하려면 먼저 adduser 명령을 실행하여 사용자를 생성하고 해당 사용자에 대한 비밀번호를 설정한 후 관리 휠 그룹에 새 사용자를 추가하는 아래 명령을 실행하여 해당 사용자에게 루트 권한을 부여합니다.


adduser tecmint
passwd tecmint
usermod -aG wheel tecmint

새 사용자에게 루트 권한이 있는지 테스트하려면 아래 발췌 내용과 같이 사용자의 자격 증명으로 시스템에 로그인하고 sudo 권한으로 yum 명령을 실행하세요.


su - tecmint
sudo yum update

CentOS 7에서 SSH 공개 키 인증 구성

SSH 서버를 보호하고 공개 키 인증을 설정하여 로그인할 수 있는 개인 SSH 키로 서버의 보안을 강화하려면 먼저 다음 명령을 사용하여 SSH 키 쌍을 생성하세요.

SSH를 통해 서버 관리를 자동화하려는 경우 암호를 입력하지 마세요.


ssh-keygen -t RSA

SSH 키 쌍이 생성된 후 아래 명령을 실행하여 연결하려는 서버에 키를 복사합니다. 처음에는 공개 키를 복사하기 위해 원격 SSH 사용자 비밀번호를 입력하세요.


ssh-copy-id remote_user@SSH_SERVER_IP

SSH 공개키를 원격 서버에 복사한 후, 다음 명령어를 사용하여 원격 SSH 서버에 로그인합니다.


ssh remote_user@SSH_SERVER_IP

마지막으로 SSH 서버를 보호하려면 텍스트 편집기를 루트로 사용하여 구성 SSH 파일 /etc/ssh/sshd_config을 열어 루트 계정에 대한 원격 SSH 액세스를 허용하지 않도록 하고 이를 다음에서 변경하세요. 또는 아니요.


PermitRootLogin no

설정을 적용하려면 SSH 서비스를 다시 시작하여 새 구성을 사용해야 합니다.


systemctl restart sshd

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

CentOS 7 서버를 보호하고 강화하려면 다음 문서를 확인하세요.

  1. CentOS 7 강화 및 보안을 위한 메가 가이드 – 1부
  2. CentOS 7 강화 및 보안을 위한 메가 가이드 - 2부

이 CentOS 7 시스템에 웹사이트를 배포할 계획이라면 LAMP 스택 또는 LEMP 스택을 설정하고 구성하는 방법을 알아보세요.