Computer >> 컴퓨터 >  >> 체계 >> Linux

Linux 홈 서버를 보호하는 방법

Linux 홈 서버를 보호하는 방법

홈 서버를 설정하는 데에는 여러 가지 이유가 있습니다. 미디어 서버, 파일 서버 또는 로컬 백업 서버로 사용할 수 있습니다. 기본적으로 온라인 상태일 필요가 없는 모든 파일은 홈 서버에 적합한 후보입니다. 특히 요즘에는 Linux 기반 홈 서버를 설정하는 것이 상대적으로 쉽습니다. 즉, 해당 서버를 안전하게 유지하는 것은 완전히 다른 이야기입니다. 보안은 중요한 만큼 까다로울 수 있습니다.

꼭 필요한 것만 설치

홈 서버를 안전하게 유지하는 가장 쉬운 방법 중 하나는 처음부터 보안을 염두에 두는 것입니다. 이것은 설치로 시작됩니다. 애플리케이션이나 서비스가 필요한지 확신이 서지 않습니까? 설치하지 마십시오. 나중에 언제든지 설치할 수 있습니다.

Linux를 몇 번 설치했다면 훨씬 쉽습니다. 기본값을 고수하는 대신 설치를 가장 잘 제어할 수 있는 모드를 사용하십시오. 때때로 이들은 "전문가 모드" 또는 이와 유사한 이름으로 지정됩니다.

설치 옵션을 주의 깊게 추적하면 나중에 보안상의 이유로 서비스를 비활성화하는 시간을 절약할 수 있습니다.

sudo 구성

다른 단계로 이동하기 전에 sudo를 구성해야 합니다. . 왜요? 여기에서 완료되면 SSH를 통해 서버에 로그인하고 루트 계정으로 로그인할 수 없기 때문입니다. 시스템을 추가로 변경하려면 sudo를 사용해야 합니다. .

먼저 sudo를 사용할 수 있는지 확인하세요. . 사용자 계정에서 USERNAME 대신 사용자 이름으로 다음을 실행합니다.

sudo -lU USERNAME

사용자 이름이 "(ALL) ALL" 또는 이와 유사한 것을 실행할 수 있다는 메시지가 표시되면 계속 진행할 준비가 된 것입니다.

이제 서버의 루트 계정으로 다음을 실행하여 "/etc/sudoers" 파일을 편집합니다. 다른 에디터를 원하시면 nano 대신 사용하세요.

EDITOR=nano visudo

USERNAME 대신 사용자 이름을 사용하여 다음을 포함하도록 파일을 편집하십시오.

USERNAME   ALL=(ALL) ALL

SSH 구성

Linux 홈 서버를 보호하는 방법

홈 서버에서 이미 SSH를 활성화했을 수 있습니다. 실제로 이것이 일반적으로 서버와 상호 작용하는 방식이기 때문에 그렇게 할 가능성이 큽니다.

먼저 OpenSSH가 설치되어 있는지 확인합니다. 다른 배포판을 사용하는 경우 명령은 다양하지만 패키지 이름은 상당히 일관성이 있어야 합니다. Ubuntu에서 다음을 실행합니다.

sudo apt install openssh-server

키 기반 인증을 사용하는 것이 암호 인증보다 훨씬 더 안전하므로 SSH가 이 방식으로 작동하도록 설정합니다. 이렇게 하려면 서버 자체가 아니라 서버에 연결할 클라이언트에서 작업하고 있는지 확인하십시오. 먼저 SSH 키가 없는지 확인합니다.

ls ~/.ssh/

나열된 파일 이름 중 "id_rsa" 및 "id_rsa.pub"가 표시되면 이미 SSH 키가 있는 것입니다. 이 다음 단계를 건너뛰세요.

ssh-keygen -t rsa -b 4096 -C "youremail@domain.com"

이제 SSH 키를 서버에 복사합니다.

ssh-copy-id USERNAME@SERVER

홈 서버의 경우 이름 대신 서버의 IP 주소를 사용하고 있을 수 있습니다. 서버 이름을 모르는 경우 위의 SERVER 대신 IP 주소를 사용하십시오.

이제 SSH 설정을 수정하여 보안을 강화하겠습니다. 키를 생성한 클라이언트에서 서버에 로그인합니다. 이렇게 하면 이 단계 후에 다시 로그인할 수 있습니다. nano를 대체하여 다음을 실행합니다. 원하는 편집자와 함께하세요.

sudo nano /etc/ssh/sshd_config

다음 설정으로 파일을 편집합니다. 파일의 다양한 위치에 있습니다. 설정의 첫 번째 인스턴스만 따를 것이므로 중복이 없는지 확인하십시오.

ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
PermitRootLogin no

이제 다음 명령 중 하나로 SSH 서버를 다시 시작해야 합니다.

Ubuntu에서 다음을 실행합니다.

sudo systemctl restart ssh

방화벽 구성

실행 중인 서비스와 서버가 인터넷에 연결하는 정도에 따라 방화벽을 실행할 수 있습니다. 이에 대한 몇 가지 옵션이 있지만 Linux에서 시도되고 진정한 방법은 iptables입니다.

iptables 설정은 이 기사의 범위를 벗어나지만 걱정하지 마십시오. 컴퓨터에서 iptables를 구성하는 방법에 대한 완전한 가이드가 있습니다.

방화벽을 설정하는 또 다른 쉬운 방법은 ufw를 사용하는 것입니다. . 다음 명령으로 설치할 수 있습니다.

sudo apt install ufw

기본적으로 모든 포트를 차단합니다. 온라인 및 ssh 액세스를 활성화하려면 다음 ufw 명령을 실행하여 포트 80, 443 및 22를 엽니다.

sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 22

마지막으로 ufw 서비스를 활성화합니다.

sudo ufw enable

최신 상태 유지

Linux 홈 서버를 보호하는 방법

서버가 제대로 작동한다면 잊어버리기 쉽지만 이는 위험할 수 있습니다. 소프트웨어를 최신 상태로 유지하십시오. 무인 업그레이드를 사용할 수 있지만 이는 예측할 수 없습니다. 가장 안전한 방법은 정기적인 주간 또는 월간 서버 유지 관리 일정을 예약하여 모든 것이 제대로 작동하는지 확인하는 것입니다.

여기서 갈 곳

이제 외부 위협으로부터 서버를 보호하기 위한 좋은 출발이 되었습니다. 하지만 집에서 서버에 액세스해야 하는 경우 어떻게 해야 합니까? 귀하가 여는 모든 문은 잠재적으로 공격자가 사용할 수 있으며 모든 열린 포트는 귀하의 취약성을 증가시킵니다.

외부에서 홈 네트워크에 액세스하는 가장 쉬운 방법 중 하나는 이 기사의 범위를 벗어나는 VPN을 사용하는 것입니다. 어떤 옵션이 있는지 알아보려면 사용 가능한 최고의 보안 VPN 서비스 목록을 살펴보세요.