Ubuntu 18.04에서 포트 노킹 시퀀스로 SSH를 추가로 보호하는 방법

소개

SSH의 기본 포트를 변경하고 인증을 위해 키 페어를 사용하는 것 외에도 포트 노킹을 사용하여 SSH 서버를 더욱 안전하게 (보다 정확하게는 모호하게) 사용할 수 있습니다. SSH 네트워크 포트에 대한 연결을 거부하여 작동합니다. 이것은 사전 정의 된 포트에 일련의 연결 시도가 이루어질 때까지 SSH 서버를 실행한다는 사실을 숨 깁니다. 매우 안전하고 구현하기 쉬운 포트 노킹은 악의적 인 SSH 연결 시도로부터 서버를 보호하는 가장 좋은 방법 중 하나입니다.

전제 조건

  • Ubuntu 18.04를 실행하는 Vultr 서버
  • Sudo 액세스

아래 단계를 수행하기 전에 루트 사용자로 로그인하지 않은 경우 sudo -i비밀번호를 실행 하고 입력하여 임시 루트 쉘을 확보 하십시오. 또는 sudo이 기사에 표시된 명령 앞에 추가 할 수 있습니다 .

1 단계 : 설치 중단

Knockd는 서버에서 포트 노킹을 구현하기 위해 iptables와 함께 사용되는 패키지입니다. ' iptables-persistent'패키지도 필요합니다.

apt update
apt install -y knockd iptables-persistent

2 단계 : iptables 규칙

다음 명령을 순서대로 실행하십시오.

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j DROP
iptables-save > /etc/iptables/rules.v4

이 명령들은 각각 다음을 수행합니다.

  • 기존 연결을 유지하도록 iptables에 지시하십시오.
  • iptables에 포트 tcp / 22에 대한 연결을 끊으라고 지시하십시오 (SSH 데몬이 22 이외의 포트에서 수신 대기중인 경우, 위의 명령을 적절히 수정해야합니다).
  • 다시 부팅 한 후에도 유지되도록이 두 규칙을 저장하십시오.

3 단계 : 노크 구성

선택한 텍스트 편집기를 사용하여 파일을 엽니 다 /etc/knockd.conf.

다음이 표시됩니다.

[openSSH]
sequence    = 7000,8000,9000
seq_timeout = 5
command     = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags    = syn

포트 순서를 변경하고 (위의 포트 번호를 선택 1024하고 다른 서비스에서 사용하지 않음) 안전하게 보관해야합니다. 이 조합은 비밀번호처럼 취급해야합니다. 잊어 버린 경우 SSH에 액세스 할 수 없게됩니다. 우리는이 새로운 시퀀스를로 언급 할 것 x,y,z입니다.

seq-timeout라인은 포트 노크 시퀀스를 완료하기 위해 클라이언트에 대한 대기 Knockd (초)입니다. 특히 포트 노킹이 수동으로 수행되는 경우이를 더 큰 것으로 변경하는 것이 좋습니다. 그러나 시간 제한 값이 작을수록 안전합니다. 15이 자습서에서는 수동으로 노크하므로 변경하는 것이 좋습니다.

시작 순서를 선택한 포트로 변경하십시오.

[openSSH]
sequence    = x,y,z

명령 값을 다음으로 변경하십시오.

command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

이제 닫기 순서를 변경하십시오.

[closeSSH]
sequence    = z,y,x

변경 사항을 저장하고 종료 한 후 파일을여십시오 /etc/default/knockd.

  • 교체 START_KNOCKD=0와 함께 START_KNOCKD=1.
  • 파일 끝에 다음 줄을 추가하십시오. KNOCKD_OPTS="-i ens3"( ens3공용 네트워크 인터페이스 이름이 다른 경우 바꾸 십시오.)
  • 저장하고 종료.

이제 Knockd를 시작하십시오 :

systemctl start knockd

이제 서버에서 분리하면 포트에 노크해야합니다 x, y그리고 z다시 연결할 수 있습니다.

4 단계 : 테스트

이제 SSH 서버에 연결할 수 없습니다.

텔넷 클라이언트로 포트 노킹을 테스트 할 수 있습니다.

Windows 사용자는 명령 프롬프트에서 텔넷을 시작할 수 있습니다. 텔넷이 설치되어 있지 않으면 제어판의 "프로그램"섹션에 액세스 한 다음 "Windows 기능 켜기 또는 끄기"를 찾으십시오. 기능 패널에서 "Telnet Client"를 찾아서 사용하십시오.

터미널 / 명령 프롬프트에서 다음을 입력하십시오.

telnet youripaddress x
telnet youripaddress y
telnet youripaddress z

15 초 안에이 작업을 수행하십시오. 이는 구성에 부과 된 한계입니다. 이제 SSH를 통해 서버에 연결해보십시오. 액세스 할 수 있습니다.

SSH 서버에 대한 액세스를 닫으려면 명령을 역순으로 실행하십시오.

telnet youripaddress z
telnet youripaddress y
telnet youripaddress z

결론

포트 노킹을 사용하는 가장 좋은 부분은 개인 키 인증과 함께 구성된 경우 누군가가 포트 노킹 순서를 알고 개인 키를 가지고 있지 않으면 다른 사람이 들어갈 가능성이 거의 없다는 것입니다.

댓글 남기기

NTLite를 사용하여 업데이트로 Windows 사용자 지정 ISO를 만드는 방법

NTLite를 사용하여 업데이트로 Windows 사용자 지정 ISO를 만드는 방법

NTLite를 사용하여 Vultr 시스템과 호환되는 Windows 사용자 지정 ISO를 만드는 방법을 단계별로 설명합니다. 최신 드라이버와 업데이트 통합을 포함한 완벽 가이드.

Vultr에서 BGP 구성

Vultr에서 BGP 구성

Vultr BGP 설정을 위한 단계별 튜토리얼. ASN 할당부터 IP 라우팅 구성, BIRD 데몬 설정, FreeBSD 특이사항 및 실전 문제 해결 팁 7가지 포함한 최종 가이드

WsgiDAV를 사용하여 Debian 10에 WebDAV 배포

WsgiDAV를 사용하여 Debian 10에 WebDAV 배포

WebDAV (Web Distributed Authoring and Versioning)를 이용한 원격 파일 작성을 위한 프레임워크로, WsgiDAV 설치 및 구성 방법을 안내합니다.

데비안 7에 Mailcow 설치

데비안 7에 Mailcow 설치

Mailcow는 DoveCot, Postfix 및 기타 여러 오픈 소스 패키지를 기반으로 하는 경량 메일 서버입니다. 데비안에서 Mailcow 설치 방법을 안내합니다.

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.

ReactOS: 이것이 Windows의 미래입니까?

ReactOS: 이것이 Windows의 미래입니까?

오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구