새 Ubuntu 14.04 서버에 대한 추가 권장 단계

새 Ubuntu 14.04 서버에 대한 추가 권장 단계

2022-06-01 last update

8 minutes reading System Tools Ubuntu Getting Started Security

소개


새 서버에 대한 기본 최소 구성을 설정한 후, 대부분의 경우 추가 절차를 실행하는 것을 강력히 권장합니다.이 안내서에서 우리는 추천하지만 선택할 수 있는 과정을 처리하여 서버를 계속 설정할 것이다.

선결 조건과 목표


이 안내서를 시작하기 전에 Ubuntu 14.04 initial server setup 안내서를 훑어보십시오.이것은 사용자 계정 설정, 사용sudo 설정 권한 향상 및 SSH 잠금을 통해 안전을 확보하는 데 필요합니다.
상술한 지침을 완성한 후에 당신은 본문을 계속 읽을 수 있습니다.이 안내서에서 우리는 선택할 수 있지만 추천하는 구성 요소를 설정하는 데 중점을 둘 것이다.이것은 우리 시스템을 위한 방화벽 설정, 네트워크 시간 프로토콜 동기화, 파일 교환과 관련될 것이다.

기본 방화벽 구성


방화벽은 서버에 기본적인 보안 수준을 제공한다.이러한 애플리케이션은 승인된 포트/서비스를 제외한 서버에 있는 각 포트의 트래픽을 거부합니다.Ubuntu에는 방화벽 정책을 구성하는 데 사용할 수 있는 ufw 도구가 포함되어 있습니다.우리의 기본 전략은 우리가 개방적인 모든 것을 유지할 충분한 이유가 없다는 것을 잠그는 것이다.
방화벽을 사용하거나 다시 불러오기 전에 정책 예외를 정의하는 규칙을 만들 것입니다.우선, 원격 관리의 액세스 권한을 유지하기 위해 SSH 연결에 이상을 만들어야 합니다.
기본적으로 SSH 데몬은 포트 22에서 실행되며 기본값이 변경되지 않으면 ufw 이름에 따라 규칙을 실행할 수 있습니다.따라서 SSH 포트를 수정하지 않은 경우 다음을 입력하여 예외를 설정할 수 있습니다.
sudo ufw allow ssh
SSH 데몬이 수신 중인 포트를 수정한 경우 실제 포트 번호와 TCP 프로토콜을 지정하여 허용해야 합니다.
sudo ufw allow 4444/tcp
이것은 최소한의 방화벽 배치다.SSH 포트의 트래픽만 허용되며 다른 모든 서비스에는 액세스할 수 없습니다.다른 서비스를 실행할 계획이라면 필요한 모든 포트에서 방화벽을 열어야 합니다.
기존 HTTP 웹 서버를 실행할 계획이라면 포트 80 액세스를 허용해야 합니다.
sudo ufw allow 80/tcp
SSL/TLS가 활성화된 상태에서 웹 서버를 실행할 계획이라면 이 포트의 트래픽도 허용해야 합니다.
sudo ufw allow 443/tcp
SMTP 전자 메일을 사용하려면 포트 25를 열어야 합니다.
sudo ufw allow 25/tcp
예외를 추가한 후에는 다음을 입력하여 선택을 볼 수 있습니다.
sudo ufw show added
모든 것이 정상적이면 다음 내용을 입력하여 방화벽을 활성화할 수 있습니다.
sudo ufw enable
선택을 확인하라는 메시지가 표시되며 계속하려면 "y"를 입력합니다.이것은 모든 다른 통신을 막고 방화벽을 안내할 때 자동으로 시작하도록 설정하는 예외를 적용합니다.
나중에 구성할 수 있는 다른 서비스에 대한 포트를 명시적으로 열어야 한다는 것을 기억하십시오.자세한 내용은 저희 기사 configuring the ufw firewall 를 참조하십시오.

시간대 및 네트워크 시간 프로토콜 동기화 구성


다음 단계는 서버에 로컬 설정을 설정하고 NTP(Network Time Protocol) 동기화를 구성하는 것입니다.
첫 번째 단계는 서버가 정확한 시간대 아래에서 실행되는지 확인합니다.두 번째 단계는 시스템 시계가 NTP 서버의 글로벌 네트워크 유지 보수 표준 시간과 동기화되도록 시스템을 구성합니다.이것은 시계가 동기화되지 않아 발생할 수 있는 일부 불일치 행위를 방지하는 데 도움이 될 것이다.

시간대 구성


우리의 첫 번째 단계는 서버의 시간대를 설정하는 것이다.이것은 매우 간단한 과정으로 가방 재구성tzdata을 통해 완성할 수 있다.
sudo dpkg-reconfigure tzdata
서버의 지리적 영역을 선택할 수 있는 메뉴 시스템이 표시됩니다.

영역을 선택하면 서버에 적합한 특정 시간대를 선택할 수 있습니다.

선택한 시간대를 사용하도록 시스템이 업데이트되고 결과는 화면에 인쇄됩니다.
Current default time zone: 'America/New_York'
Local time is now:      Mon Nov  3 17:00:11 EST 2014.
Universal Time is now:  Mon Nov  3 22:00:11 UTC 2014.
이제 NTP를 계속 구성합니다.

NTP 동기화 구성


현재 시간대를 설정했습니다. NTP를 설정해야 합니다.이렇게 하면 컴퓨터가 다른 서버와 동기화되어 정확한 시간에 의존하는 조작의 예측성을 높일 수 있습니다.
NTP 동기화의 경우 Ubuntu의 기본 저장소에서 설치할 수 있는 ntp 라는 서비스를 사용합니다.
sudo apt-get update
sudo apt-get install ntp
이것이 바로 Ubuntu에서 NTP 동기화를 설정하는 데 필요한 모든 작업입니다.데몬 프로세스는 부트할 때마다 자동으로 시작되며 시스템 시간을 지속적으로 조정하여 하루 종일 글로벌 NTP 서버와 일치하도록 합니다.
NTP servers에 대한 자세한 내용을 보려면 여기를 클릭하십시오.

스왑 파일 만들기


Linux 서버에 "스왑"을 추가하면 RAM에서 실행 중인 액세스 빈도가 낮은 정보를 디스크의 위치로 이동할 수 있습니다.디스크에 저장된 데이터에 대한 액세스는 RAM에 대한 액세스보다 훨씬 느리지만 스왑은 일반적으로 응용 프로그램이 활성 상태를 유지하고 충돌하는 것과 구별됩니다.시스템에서 데이터베이스를 관리할 계획이라면 특히 유용합니다.
메모
일반적으로 전통적인 회전 하드디스크 드라이브를 사용하는 시스템에서 swap를 사용하는 것을 권장하지만, swap을 SSD와 함께 사용하면 시간이 지날수록 하드웨어 성능이 떨어질 수 있다.이러한 이유로 우리는 Digital Ocean이나 SSD 저장소를 사용하는 다른 공급업체에서 교환을 사용하는 것을 권장하지 않습니다.이렇게 하면 당신과 당신의 이웃의 하부 하드웨어의 신뢰성에 영향을 줄 수 있습니다.
서버의 성능을 향상시키려면 Droplet을 업그레이드하는 것이 좋습니다.전체적으로 더 좋은 결과를 가져올 뿐만 아니라 귀하의 서비스에 영향을 미칠 수 있는 하드웨어 문제의 가능성도 낮출 것입니다.
교환 공간의 최적 크기에 대한 건의는 문의의 출처에 따라 다르다.일반적으로 시스템의 RAM 수량은 RAM 수량의 두 배와 같거나 좋은 출발점이다.fallocate 유틸리티를 사용하여 파일 교환에 사용할 공간을 할당합니다.예를 들어, 4GB 파일이 필요한 경우 다음을 입력하여 /swapfile 에 있는 스왑 파일을 만들 수 있습니다.
sudo fallocate -l 4G /swapfile
파일을 만든 후에는 다른 사용자나 프로세스가 쓴 내용을 볼 수 없도록 파일에 대한 액세스를 제한해야 합니다.
sudo chmod 600 /swapfile
우리는 지금 정확한 권한을 가진 문서가 하나 생겼다.시스템 포맷 교환 파일을 알려면 다음과 같이 입력할 수 있습니다.
sudo mkswap /swapfile
이제 스왑 파일을 사용할 수 있도록 다음 내용을 입력하십시오.
sudo swapon /swapfile
우리 시스템은 이 세션에 교환 파일을 사용하고 있지만, 서버가 안내할 때 자동으로 이 작업을 수행할 수 있도록 시스템 파일을 수정해야 합니다.다음을 입력할 수 있습니다.
sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'
이 추가를 통해 시스템은 시작할 때마다 자동으로 교환 파일을 사용해야 합니다.

여기서 어디로 갑니까?


이제 Linux 서버에 매우 좋은 초기 설정이 있습니다.이곳에서 너는 많은 곳을 갈 수 있다.우선, 현재 설정에서 서버를 스냅샷으로 만들 수 있습니다.

현재 구성된 스냅샷 촬영


만약 자신의 설정에 만족하고 향후 설치의 기초로 삼기를 원한다면 Digital Ocean 제어판을 통해 서버의 스냅샷을 촬영할 수 있습니다.2016년 10월부터 파일 시스템에서 사용된 공간을 기준으로 스냅샷의 월 비용은 GB당 0.05달러입니다.
스냅샷을 준비하려면 명령줄에서 서버를 닫으십시오.실행 중인 시스템을 스냅샷으로 만들 수 있지만 전원을 끄면 파일 시스템의 일관성이 향상됩니다.
sudo poweroff
이제 Digital Ocean 대시보드에서 서버에서 스냅샷 탭에 액세스하여 스냅샷을 촬영할 수 있습니다.

스냅샷을 촬영한 후 생성 과정에서 이미지의 내 스냅샷 탭에서 스냅샷을 선택하면 나중에 설치할 수 있는 기반이 됩니다.

추가 리소스 및 다음 단계


여기서부터 경로는 서버에 대해 실행하고자 하는 작업에 달려 있습니다.다음 설명서 목록은 상세하지 않지만 사용자가 다음 단계에서 사용할 더 일반적인 구성을 나타냅니다.
  • Setting up a LAMP (Linux, Apache, MySQL/MariaDB, PHP) stack
  • Setting up a LEMP (Linux, Nginx, MySQL/MariaDB, PHP) stack
  • Installing the WordPress CMS on an Apache web server
  • Installing the WordPress CMS on an Nginx web server
  • Installing the Drupal CMS on an Apache web server
  • Installing Node.js
  • Installing Ruby on Rails and RVM
  • Installing Laravel, a PHP framework
  • Installing Puppet to manage your infrastructure
  • 결론


    이로써 새 서버에 튼튼한 기반을 구축하는 방법을 알아야 합니다.다음 단계에도 좋은 생각이 있기를 바랍니다.서버에서 더 많은 아이디어를 얻을 수 있도록 이 사이트를 마음대로 찾아보세요.