내 컴퓨터에 어떤 포트가 열려 있는지 다른 사람이 알지 못하도록 하려면 사용하지 않는 포트를 모두 열어 nmaper가 실제로 열려 있는 포트를 식별할 수 없도록 하는 것이 유용할 것이라고 생각했습니다.
nmap
스캔을 통해 포트가 열린 것처럼 보이게 하는 방법
답변1
이미 네트워크의 IP 주소를 스캔하는 사람들이 사용할 수 있는 Labrea가 있지만 한동안 테스트하지 않았습니다.
labrea - 들어오는 IP 연결 시도를 위한 허니팟
labrea는 지정된 IP 주소 블록에서 사용되지 않은 IP 주소에 대한 가상 머신을 생성합니다. LaBrea는 ARP "소유자" 요청을 듣고 있습니다.
특정 IP에 대한 ARP 요청이 "속도" 설정(기본값: 3초)보다 오랫동안 응답하지 않으면 labrea는 해당 IP로의 모든 트래픽을 "가짜" MAC 주소로 라우팅하는 ARP 응답을 만듭니다. labrea는 해당 MAC 주소로 전송된 TCP/IP 트래픽을 탐지하고 생성된 SYN/ACK 패킷으로 모든 SYN 패킷에 응답합니다.
Debian에 설치하려면 다음을 수행하십시오.
sudo apt-get install labrea
일부 지정된 공용 포트에서 응답하고 경고를 제공하는 경우psad, 비록 내가 기억하는 한 이것이 모든 포트에서 수신 대기하는 것은 아닙니다.
한동안 테스트하지는 않았지만 언제든지 허니팟을 실행할 수 있습니다.
그럼에도 불구하고, 내 생각에는 사용되지 않는 포트에 대한 모든 연결을 끊고, 외부에 노출되는 서비스 수가 적을수록 공격 경로도 줄어드는 것을 선호합니다.
답변2
iptables
Linux에서는 '를 사용할 수 있습니다.socket
iptables
포트가 TCP
사용 중인지 확인 하려면 일치하세요 . 결합하다xtables 플러그인~의TARPIT
Target (또한 LaBrea의 개념을 사용함) 이것은 어떤 모습이든 개방적으로 만들 수 있습니다.사용되지 않음 TCP
자동 포트는 실제 열려 있는 포트를 평소처럼 작동하도록 둡니다. UDP
응답하지 않는 열린 포트와 삭제된 포트 사이에는 큰 차이가 없기 때문에 더 이상 이에 대해 이야기하지 않겠습니다(기본적으로 udp만 삭제됩니다).
규칙:
iptables -N openclosed
iptables -A openclosed -p tcp -m socket --nowildcard -j RETURN
iptables -A openclosed -p tcp -j TARPIT --honeypot
iptables -I INPUT -j openclosed
참고: 각 연결은 netfilter에서 사용하는 conntrack 항목을 생성합니다. 따라서 이 솔루션을 사용하면 대량의 conntrack 리소스를 활용할 수 있습니다. 시스템이 검사를 받기보다는 공격을 받고 있을 때 이 점을 염두에 두십시오. TARPIT
netfilter 없이 사용(사용)은 가능 하지만 , 가능한지는 NOTRACK
잘 모르겠고 , 어쨌든 위와 같이 간단할 수는 없습니다. socket
이 --honeypot
옵션을 추가하면 TARPIT
스캔(데이터가 전송되지 않은 경우)이 더 저렴해지고 넷필터도 더 저렴해집니다. 또한 --nowildcard
라우터 사용에 적합할 수도 있고 적합하지 않을 수도 있습니다(그러나 INPUT
어쨌든 체인의 로컬 사용에는 괜찮습니다).