SSH 서버를 보호하는 방법

SSH 서버를 보호하는 방법

SSH 연결을 보호하면 Linux 시스템과 데이터를 보호하는 데 도움이 됩니다. 시스템 관리자와 개인 사용자도 인터넷 연결 컴퓨터를 보호해야 합니다. SSH 서버를 보호 하는 데 도움이 되는 10가지 쉬운 방법은 다음과 같습니다 .

SSH 보안에 대한 몇 가지 기본 사항

SSH는 Secure Shell을 의미합니다. SSH 프로토콜 또는 소프트웨어 도구를 사용하면 시스템 관리자와 사용자가 해당 프로토콜을 사용하여 원격 컴퓨터에 안전하게 연결할 수 있습니다.

SSH 프로토콜은 인터넷과 같은 안전하지 않은 네트워크를 통해 보안 연결을 제공하도록 설계된 암호화된 프로토콜입니다. Linux의 SSH는 OpenSSH 프로젝트의 휴대용 버전을 기반으로 구축되었습니다. 이는 SSH 클라이언트의 연결을 허용하는 SSH 서버를 갖춘 클래식 클라이언트-서버 모델로 구현됩니다. 클라이언트는 서버에 연결하고 원격 사용자에게 세션을 노출하는 데 사용됩니다. 서버는 연결을 수락하고 세션을 시작합니다.

기본 구성에서 SSH 서버는 TCP(전송 제어 프로토콜), 포트 22에서 들어오는 연결을 "수신"합니다. 이 포트는 표준화되고 널리 사용되는 포트이므로 공격자 위협 및 악성 봇의 표적이 됩니다.

악의적인 행위자는 열려 있는 포트를 찾기 위해 IP 주소 범위를 스캔하는 봇을 시작합니다 . 그런 다음 이러한 포트에 악용 가능한 취약점이 있는지 조사합니다. 나는 안전하다, 나보다 더 크고 좋은 표적이 많다고 생각하고 나쁜 놈들이 표적을 삼는 것은 완전히 잘못된 것입니다. 이 봇은 어떤 기준에 따라 대상을 선택하지 않으며 단지 시스템에 침투할 방법을 찾고 있습니다.

시스템을 보호하지 않으면 피해자가 됩니다.

보안 마찰

보안 마찰 지점은 보안 요구 사항으로 인해 주요 작업이 방해되거나 지연되는 모든 상황입니다.

보안 마찰은 보안 조치를 구현할 때 사용자와 다른 사람에게 (모든 수준에서) 불편함을 야기합니다. 컴퓨터 시스템을 처음 접하는 사람들은 메인프레임에 로그인할 때마다 실제로 암호를 입력해야 하는지 걱정할 수 있습니다. 그들에게 이는 보안 마찰의 한 형태이기도 합니다.

보안 조치를 도입하면 일부 사람들에게는 일종의 마찰이 발생하는 경우가 많습니다. 사업주는 이러한 조치에 대한 비용을 지불해야 합니다. 컴퓨터 사용자는 습관을 바꾸거나 다른 인증 정보를 기억해야 할 수 있으며, 성공적으로 연결하려면 단계를 추가해야 할 수도 있습니다. 시스템 관리자는 새로운 보안 조치를 구현하고 유지하기 위해 추가 작업을 수행해야 합니다.

Linux 또는 Unix와 같은 운영 체제를 강화하고 잠그는 것은 빠를 수 있습니다. 여기의 보안 조치는 타사 응용 프로그램 및 심층적인 방화벽 개입 없이 컴퓨터 보안을 향상시키는 따라하기 쉬운 일련의 단계입니다 .

SSH 프로토콜 버전 2 사용

2006년에 SSH 프로토콜이 버전 1에서 버전 2로 업데이트되었습니다. 이는 중요한 업그레이드입니다. 특히 암호화 및 보안 측면에서 많은 변경 및 개선 사항이 있으며 버전 2는 버전 1과 이전 버전과 호환되지 않습니다. 버전 1 클라이언트의 연결을 방지하려면 버전 2의 연결만 허용하도록 컴퓨터를 지정할 수 있습니다.

이렇게 하려면 다음 명령을 사용하여 /etc/ssh/sshd_config 파일을 편집합니다.

sudo gedit /etc/ssh/sshd_config

SSH 서버를 보호하는 방법

다음 줄을 추가합니다.

Protocol 2

SSH 서버를 보호하는 방법

파일을 저장한 후 다음 명령을 사용하여 SSH 데몬 프로세스를 다시 시작합니다.

sudo systemctl restart sshd

SSH 서버를 보호하는 방법

다른 컴퓨터로 전환하고 테스트 컴퓨터에 SSH를 시도하여 실제 새 설정을 테스트합니다. -1(프로토콜 1) 옵션을 사용하여 ssh 명령이 프로토콜 버전 1을 사용하도록 강제합니다.

ssh -1 [email protected]

SSH 서버를 보호하는 방법

연결 요청이 거부되었습니다. 여전히 프로토콜 2에 연결할 수 있는지 확인하세요. 테스트에는 -2(프로토콜 2)를 사용하겠습니다.

ssh -2 [email protected]

SSH 서버를 보호하는 방법

SSH 서버가 비밀번호를 요구한다는 사실은 연결이 이루어졌고 서버와 상호작용하고 있다는 긍정적인 신호입니다. 최신 SSH 클라이언트는 기본적으로 프로토콜 2를 사용합니다. 클라이언트가 최신 상태라면 프로토콜 2를 지정할 필요가 없습니다.

ssh [email protected]

SSH 서버를 보호하는 방법

연결이 승인되었습니다.

22번 게이트를 피하세요

포트 22는 SSH 연결을 위한 표준 포트입니다. 다른 포트를 사용하면 시스템에 STO(Security Through Obscurity)가 추가됩니다. 모호성을 통한 보안은 실제 보안 조치로 간주되어서는 안됩니다. 실제로 일부 더 똑똑한 공격 봇은 일반적으로 간단한 포트 검색 목록에 의존하고 서비스를 제공한다고 가정하는 대신 열려 있는 모든 포트를 조사하고 수행 중인 서비스를 결정합니다. 그러나 비표준 포트를 사용하면 포트 22의 불량 트래픽을 줄이는 데 도움이 될 수 있습니다.

비표준 포트를 구성하려면 위와 같이 SSH 구성 파일을 편집하십시오.

SSH 서버를 보호하는 방법

포트 줄 시작 부분의 #을 삭제 하고 22를 원하는 번호로 바꿉니다. 구성 파일을 저장하고 SSH 데몬을 다시 시작합니다.

다른 컴퓨터에서는 ssh 명령을 사용하여 서버에 연결합니다. 기본 ssh 명령은 포트 22를 사용합니다.

ssh [email protected]

SSH 서버를 보호하는 방법

연결이 거부되었습니다. –p (포트) 옵션을 사용하여 다시 시도하고 포트 470을 지정하십시오 .

ssh -p 479 [email protected]

SSH 서버를 보호하는 방법

연결이 확인되었습니다.

TCP 래퍼를 사용하여 필터 연결

TCP Wrappers는 이해하기 쉬운 액세스 제어 목록입니다. IP 주소나 호스트 이름과 같은 연결 요청의 특성을 기반으로 연결을 거부하거나 허용할 수 있습니다. TCP 래퍼는 적절하게 구성된 방화벽을 대신하는 것이 아니라 함께 사용해야 합니다.

TCP Wrappers는 Ubuntu 18.04 LTS 시스템 에 사전 설치되어 제공됩니다 . Manjaro 18.10 및 Fedora 30에 설치해야 합니다.

Fedora에 설치하려면 다음 명령을 사용하십시오.

sudo yum install tcp_wrappers

SSH 서버를 보호하는 방법

Manjaro에 설치하려면 다음 명령을 사용하십시오.

sudo pacman -Syu tcp-wrappers

SSH 서버를 보호하는 방법

두 개의 파일이 포함되어 있습니다. 한 파일에는 허용 목록이 있고 다른 파일에는 거부 목록이 있습니다. 다음 명령을 사용하여 거부 목록을 편집합니다.

sudo gedit /etc/hosts.deny

SSH 서버를 보호하는 방법

위의 명령은 파일 로드를 거부하는 gedit 편집기를 엽니다.

SSH 서버를 보호하는 방법

다음 줄을 추가해야 합니다.

ALL : ALL

그리고 파일을 저장하세요. 이 라인은 모든 무단 액세스를 차단합니다. 이제 수락하려는 연결에 권한을 부여해야 합니다. 그렇게 하려면 권한 파일을 편집해야 합니다.

sudo gedit /etc/hosts.allow

SSH 서버를 보호하는 방법

위의 명령은 다운로드 가능한 파일이 포함된 gedit 편집기를 엽니다.

SSH 서버를 보호하는 방법

SSH 데몬 이름인 SSHD와 연결을 허용하는 컴퓨터의 IP 주소를 추가했습니다. 파일을 저장하고 제한 사항 및 권한이 적용되는지 확인하세요.

먼저, Host.allow 파일에 없는 컴퓨터에서 연결을 시도합니다:

SSH 서버를 보호하는 방법

연결이 거부되었습니다. IP 주소가 192.168.4.23인 시스템에서 연결을 시도하겠습니다.

SSH 서버를 보호하는 방법

연결이 승인되었습니다.

여기의 예에서는 하나의 머신만 연결할 수 있도록 허용합니다. TCP 래퍼는 매우 유연하며 호스트 이름, 와일드카드 및 서브넷 마스크를 지원하여 IP 주소 범위의 연결을 허용합니다.

비밀번호 없이 연결 요청 거부

좋지는 않지만 Linux 시스템 관리자는 비밀번호 없이 사용자 계정을 만들 수 있습니다. 즉, 이 계정의 원격 연결에는 비밀번호가 필요하지 않습니다. 이러한 연결은 허용되지만 인증되지는 않습니다.

SSH의 기본 설정은 비밀번호 없이 연결 요청을 허용합니다. 쉽게 변경할 수 있으며 모든 연결이 인증되었는지 확인할 수 있습니다.

SSH 구성 파일을 편집해야 합니다.

SSH 서버를 보호하는 방법

#PermitEmptyPasswords no 라고 표시된 줄이 보일 때까지 파일을 아래로 스크롤합니다 . 줄 시작 부분의 #을 삭제하고 파일을 저장합니다. SSH 데몬을 다시 시작합니다.

비밀번호 대신 SSH 키 사용

SSH 키는 SSH 서버에 로그인하는 안전한 방법을 제공합니다. 비밀번호는 해독, 추측 또는 무차별 공격을 받을 수 있습니다 . SSH 키는 이러한 유형의 공격��� 취약하지 않습니다.

SSH 키를 생성할 때 키 쌍을 생성합니다. 하나는 공개 키이고 다른 하나는 개인 키입니다. 공개 키는 연결하려는 서버에 설치됩니다. 개인 키는 귀하의 컴퓨터에 안전하게 보관됩니다.

SSH 키를 사용하면 비밀번호 없이 연결이 가능하므로 비밀번호 인증을 사용한 연결보다 더 안전합니다.

연결 요청을 할 때 원격 컴퓨터는 공개 키 복사본을 사용하여 컴퓨터로 다시 전송되는 암호화된 메시지를 생성합니다. 공개키로 암호화되어 있으므로 컴퓨터는 개인키로 복호화할 수 있다.

그런 다음 컴퓨터는 메시지에서 일부 정보를 추출하고 암호화한 후 서버로 다시 보냅니다. 서버가 공개 키 사본을 사용하여 이를 해독할 수 있는 경우. 메시지의 정보가 서버에서 보낸 정보와 일치하면 연결이 확인됩니다.

여기서는 SSH 키를 사용하여 사용자가 192.168.4.11의 서버에 연결합니다. 비밀번호를 입력하라는 메시지가 표시되지 않습니다.

ssh [email protected]

SSH 서버를 보호하는 방법

비밀번호 인증을 완전히 비활성화

SSH 키를 사용하는 경우 비밀번호 인증을 완전히 비활성화할 수 있습니다. SSH 구성 파일을 편집해야 합니다.

SSH 서버를 보호하는 방법

#PasswordAuthentication yes 로 시작하는 줄이 보일 때까지 파일을 아래로 스크롤합니다 . 줄 시작 부분의 #을 삭제하고 yes를 no로 변경한 후 파일을 저장합니다. SSH 데몬을 다시 시작합니다.

X11 전달 비활성화

X11 전달을 사용하면 원격 사용자가 SSH 세션을 통해 서버에서 그래픽 응용 프로그램을 실행할 수 있지만 악의적인 행위자가 쉽게 악용할 수 있습니다. SSH 구성 파일을 편집하여 끄는 것이 좋습니다.

SSH 서버를 보호하는 방법

#X11Forwarding no 줄이 보일 때까지 파일을 아래로 스크롤하고 줄 시작 부분의 #을 삭제 하고 파일을 저장합니다. SSH 데몬을 다시 시작합니다.

유휴 시간 초과 값 설정

컴퓨터와 SSH 연결이 설정되고 일정 기간 동안 컴퓨터에서 활동이 없으면 보안 위험이 발생할 수 있습니다.

따라서 시간 초과 제한을 설정해야 합니다. 제한 시간 내에 활동이 없으면 SSH 연결이 끊어집니다. 다시 한 번 SSH 구성 파일을 편집해야 합니다.

SSH 서버를 보호하는 방법

#ClientAliveInterval 0 으로 시작하는 줄이 보일 때까지 파일을 아래로 스크롤합니다 . 줄 시작 부분의 #을 제거하고 숫자 0을 원하는 값으로 변경합니다. 보통 사람들은 300초, 즉 5분으로 설정합니다. 파일을 저장하고 SSH 데몬을 다시 시작합니다.

비밀번호 입력 횟수 제한 설정

확인 횟수에 대한 제한을 정의하면 비밀번호 추측 및 무차별 대입 공격을 방지하는 데 도움이 될 수 있습니다. 지정된 인증 요청 횟수가 지나면 사용자는 SSH 서버에서 연결이 끊어집니다. 기본적으로 비밀번호 시도 횟수에는 제한이 없지만 SSH 구성 파일에서 이를 편집할 수 있습니다.

SSH 서버를 보호하는 방법

#MaxAuthTries 0 으로 시작하는 줄이 보일 때까지 파일을 아래로 스크롤합니다 . 줄 시작 부분에서 #을 제거하면 숫자가 원하는 값으로 변경됩니다. 3으로 설정할 수 있습니다. 변경 시 파일을 저장하고 SSH 데몬을 다시 시작합니다.

연결을 시도하고 잘못된 비밀번호를 입력하여 이를 테스트할 수 있습니다.

SSH 서버를 보호하는 방법

MaxAuthTries 숫자는 사용자에게 허용된 시도 횟수보다 큽니다. 두 번의 시도가 실패하면 연결이 끊어지며 이는 MaxAuthTries가 3으로 설정됨을 의미합니다.

루트 로그인 비활성화

루트로 로그인하지 말고 Linux에서 일반 사용자로 로그인한 후 sudo를 사용하여 루트 권한이 필요한 작업을 수행하는 것이 좋습니다. 또한 루트가 SSH 서버에 로그인하도록 허용해서는 안 됩니다. 일반 사용자만 접속이 가능합니다. 관리 수준 작업을 수행해야 하는 경우 sudo를 사용할 수도 있습니다. 루트 사용자의 로그인을 허용해야 하는 경우 SSH 키를 사용하도록 강제할 수 있습니다.

루트 로그인을 비활성화하려면 구성 파일을 편집하십시오.

SSH 서버를 보호하는 방법

#PermitRootLogin Prohibit-password 로 시작하는 줄이 보일 때까지 파일을 아래로 스크롤하고 줄 시작 부분의 #을 삭제합니다.

  • 루트가 로그인하는 것을 방지하려면 금지 비밀번호를 no로 바꾸십시오.
  • 루트 로그인을 허용하지만 SSH 키를 강제로 사용하도록 하는 경우에는 금지 비밀번호를 그대로 두십시오.

변경 사항을 저장하고 SSH 데몬을 다시 시작합니다.

마지막 단계

물론 컴퓨터에서 SSH를 실행할 필요가 없다면 다음 명령을 사용하여 SSH를 끄십시오.

sudo systemctl stop sshd
sudo systemctl disable sshd

당신의 성공을 기원합니다!


Chromebook을 별도의 화면이나 TV에 연결하는 방법

Chromebook을 별도의 화면이나 TV에 연결하는 방법

Chrome OS는 사용자가 Chromebook을 별도의 화면이나 TV에 연결할 수 있는 다양한 방법을 지원합니다.

ITop Data Recovery를 사용하여 컴퓨터 데이터를 복원하는 방법

ITop Data Recovery를 사용하여 컴퓨터 데이터를 복원하는 방법

iTop Data Recovery는 Windows 컴퓨터에서 삭제된 데이터를 복구하는 데 도움이 되는 소프트웨어입니다. 이 가이드에서는 iTop Data Recovery 사용 방법에 대해 자세히 설명합니다.

Cleaner One Pro로 Mac, Windows PC 속도를 높이는 방법

Cleaner One Pro로 Mac, Windows PC 속도를 높이는 방법

느린 PC와 Mac의 속도를 높이고 유지 관리하는 방법과 Cleaner One Pro와 같은 유용한 도구를 알아보세요.

MSIX란 무엇인가요? Windows의 새로운 파일 형식에 대해 알아보기

MSIX란 무엇인가요? Windows의 새로운 파일 형식에 대해 알아보기

MSIX는 LOB 애플리케이션부터 Microsoft Store, Store for Business 또는 기타 방법을 통해 배포되는 애플리케이션까지 지원하는 크로스 플랫폼 설치 관리자입니다.

키보드 없이 Windows 컴퓨터 화면에 로그인하는 방법

키보드 없이 Windows 컴퓨터 화면에 로그인하는 방법

컴퓨터 키보드가 작동을 멈춘 경우, 마우스나 터치 스크린을 사용하여 Windows에 로그인하는 방법을 알아보세요.

AMD Ryzen Master로 RAM을 쉽게 오버클럭하는 방법

AMD Ryzen Master로 RAM을 쉽게 오버클럭하는 방법

다행히 AMD Ryzen 프로세서를 실행하는 Windows 컴퓨터 사용자는 Ryzen Master를 사용하여 BIOS를 건드리지 않고도 RAM을 쉽게 오버클럭할 수 있습니다.

MS Edge를 실행하고 명령줄에서 URL을 여는 방법

MS Edge를 실행하고 명령줄에서 URL을 여는 방법

Microsoft Edge 브라우저는 명령 프롬프트와 같은 명령줄 도구에서 열 수 있도록 지원합니다. 명령줄에서 Edge 브라우저를 실행하는 방법과 URL을 여는 명령을 알아보세요.

컴퓨터에서 가상 드라이브를 생성하는 최고의 소프트웨어

컴퓨터에서 가상 드라이브를 생성하는 최고의 소프트웨어

이것은 컴퓨터에 가상 드라이브를 생성하는 많은 소프트웨어 중 5개입니다. 가상 드라이브 생성 소프트웨어를 통해 효율적으로 파일을 관리해 보세요.

이제 Windows Store에서 Surface 노트북 하드웨어 테스트 도구를 사용할 수 있습니다.

이제 Windows Store에서 Surface 노트북 하드웨어 테스트 도구를 사용할 수 있습니다.

Microsoft의 공식 Surface 하드웨어 테스트 도구인 Surface Diagnostic Toolkit을 Windows Store에서 다운로드하여 배터리 문제 해결 등의 필수 정보를 찾으세요.

USB에 숨겨진 파일과 폴더를 표시하는 방법

USB에 숨겨진 파일과 폴더를 표시하는 방법

바이러스가 USB 드라이브를 공격하면 USB 드라이브의 모든 데이터를 "먹거나" 숨길 수 있습니다. USB 드라이브의 숨겨진 파일과 폴더를 표시하는 방법은 LuckyTemplates의 아래 기사를 참조하세요.