특정 IP 주소에서 텔넷 액세스를 중지하는 방법은 무엇입니까?

특정 IP 주소에서 텔넷 액세스를 중지하는 방법은 무엇입니까?

명령줄에서 특정 IP 주소에 대한 텔넷 액세스를 어떻게 중지합니까?

답변1

보다 일반적인 솔루션로렌티우스 로스쿠해결책은 모든 배포판에서 동일하게 작동하고 기본적으로 어떤 소프트웨어가 설치되어 있는지 독립적인 iptables를 사용하는 것입니다.

# iptables -A INPUT -p tcp -s <ip_address> --dport telnet -j DROP

-j REJECT대신 사용하도록 선택할 수 있습니다 -j DROP. REJECT를 사용하면 상대방에게 해당 특정 포트에 아무 것도 없다는 사실이 전달됩니다. DROP을 사용하면 패킷이 삭제되어 원격 호스트의 연결 시간 초과 간격이 경과한 후 연결 시도가 시간 초과됩니다.

이미 존재할 수 있는 "수락" 규칙 앞에 이 규칙을 삽입해야 할 수도 있습니다. 그렇다면 나는 이렇게 하는 것을 좋아한다:

# iptables -L INPUT --line-number
<some or lots of output>
# iptables -I INPUT <number of telnet accept rule> ...

위 명령의 ...모든 내용은 어디에 있습니까? -p tcp기본적으로 -I INPUT n( -A INPUT-I는 위치 앞에 삽입됩니다.N, -A가 추가됩니다. )

/etc/services에 나열된 --dport telnet대로 사용할 수 있습니다 . 궁금하다면 한번 시도해 보세요. 그렇지 않은 경우 숫자 포트 번호(예: )를 사용해야 합니다 .telnetgrep telnet /etc/services23

iptables-save비슷한 방법을 사용하여 재부팅 시 규칙을 유지할 수 있습니다 . 세부 사항은 배포 및 설정에 따라 다르므로 일반화하는 것은 불가능합니다. 배포판과 버전을 지정하면 누군가 이에 대한 구체적인 통찰력을 제공할 수 있습니다(또는 "배포판 X 버전 Y에서 재부팅 시 iptables 규칙을 유지하는 방법"이라는 별도의 질문으로 더 나을 수도 있습니다).

그 의미는, 나는 이것에 동의합니다대신 SSH를 사용해야 합니다.그러나 여전히 특정 IP의 액세스를 차단하고 싶을 수 있으며, 이를 수행할 수 있는 수준이 낮을수록 스택의 상위 수준 부분에 버그가 있어 손상이나 서비스 거부로 이어질 위험이 줄어듭니다.

답변2

/etc/host.deny에 추가:

telnet: <ip_addres>

하지만 대신 ssh를 사용해야 합니다.

관련 정보