컴퓨터가 외부 FTP 서버에 연결하는 것을 방지하는 방법은 무엇입니까? ftp와 sftp를 모두 사용할 수 있습니다.
inet, iptables, 서비스를 종료하시겠습니까?
답변1
제 생각에는 포트 21과 포트 22에 대한 연결을 차단하려는 것 같습니다. 이는 FTP 호스트 자체에서 수행될 수 있습니다.
iptables -I OUTPUT -p tcp --dport 21 \
-d the.rem.ote.ip \
-m comment --comment "blocked as per ticket##" \
-j REJECT
그러나 SFTP는 까다롭습니다. SSH와 포트를 공유합니다. 나가는 SSH 연결도 차단하는 데 동의하는 경우 마지막 명령 뒤에 ^21^22를 추가하세요. ssh를 유지하고 sftp를 차단해야 하는 경우 sftp 하위 주석을 절대 제공하지 않도록 원격 측을 설정하거나 모든 종류의 sftp를 차단하도록 로컬 구성을 변경해야 합니다(문제는 사용자가 항상 차단할 수 있다는 것입니다). sftp 바이너리를 다운로드하세요).
귀하가 제어하는 중간 방화벽에서 포트 21과 22를 차단하는 것이 더 안정적이지만 여기서 질문해야 할 centos/rhel 질문은 아닙니다.
방화벽을 통해 모든 포트 22 액세스를 차단할 수 없다면 문제가 발생한 것입니다.
답변2
사용iptables
iptables -A OUTPUT -p 21 -j REJECT # FTP
iptables -A OUTPUT -p 22 -j REJECT # SFTP et.al.
sftp
에서도 사용되는 포트 22를 사용 합니다 ssh
.
프로세스가 인식되지 않도록 하려면 REJECT
로 변경하십시오 DROP
.
위의 규칙은 차단하려는 컴퓨터에 분명히 있습니다. 라우터나 기타 방화벽 장치에서 규칙을 구성하는 경우 이 트래픽을 전역적으로 차단하지 않으려면 인터페이스와 IP 주소를 보다 구체적으로 지정해야 합니다.
답변3
이전 답변에 덧붙여, 물론 이러한 포트를 차단할 수 있습니다(컴퓨터에서나 나가는 도중에 방화벽에서)... 하지만 비표준 포트를 사용하여 연결을 시도하면 어떻게 될까요?
정말로 편집증을 갖고 싶다면 모든 아웃바운드 트래픽을 차단하는 경로를 택한 다음 허용하려는 포트/서비스에 대한 규칙을 명시적으로 추가하는 힘든 경로를 택할 수 있습니다. 완전히 잠긴 인바운드 방화벽을 구성하는 것과 마찬가지로 시간이 걸릴 수 있지만 시스템에서 나가는 트래픽에 대한 정확한 가시성/제어를 제공합니다.