Ubuntu에서 22를 제외한 모든 포트에서 아웃바운드 SSH 연결을 차단합니다.

Ubuntu에서 22를 제외한 모든 포트에서 아웃바운드 SSH 연결을 차단합니다.

내 서버에서 많은 SSH 아웃바운드 연결이 생성되고 있는 것을 볼 수 있습니다. 특정 사용자를 제외한 모든 사용자에 대해 SSH 명령을 차단할 수 있습니까?

또는

iptable을 통해 포트 22를 제외한 모든 포트에서 아웃바운드 SSH 연결을 차단할 수 있습니까? 하지만 이러한 포트를 다른 프로세스에서 사용할 수 있도록 허용해야 합니다. 모든 포트(22번 제외)만 차단해야 합니다.SSH아웃바운드 연결.

노트: 아래 출력을 실행해 netstat |grep ssh보면 서로 다른 포트를 사용하는 서로 다른 IP에 대해 SSH 연결이 생성되는 것을 볼 수 있습니다. 10.25.218.4내 서버 IP 주소는 어디에 있습니까?

root@ubuntu:/var/log# netstat grep ssh |

tcp        0      1 10.25.218.4:ssh         222.186.31.204:25262    FIN_WAIT1
tcp        0      0 10.25.218.4:ssh         host-92-0-218-178.:1834 ESTABLISHED
tcp        0      0 10.25.218.4:ssh         host-92-0-218-178:14717 ESTABLISHED
tcp        0      0 10.25.218.4:ssh         222.186.31.204:41642    ESTABLISHED

산출netstat -np | 네트워크 통계 grep -E 'local|:22\b'

PID에 예상치 못한 연결이 보입니다.23909동일한 외부 IP 주소에 대해 매번 2개의 다른 PID를 볼 수 있습니다.

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0     64 10.25.218.4:22          92.0.218.178:7341       ESTABLISHED 22943/sshd: rsantos
tcp        0      0 10.25.218.4:22          92.0.218.178:1834       ESTABLISHED 11378/sshd: rsantos
tcp        0      0 10.25.218.4:22          222.186.42.155:10064    ESTABLISHED 23909/sshd: unknown

답변1

귀하의 질문은 질문 제목에서 알 수 있는 것과는 다른 것 같습니다. 하지만 질문 제목에 답해 보겠습니다.

SSH 연결을 생성하는 유일한 방법은 ssh, scp또는 을 호출하는 것이라고 가정하면 sftp다음을 수행할 수 있습니다.

  1. 그룹 만들기sshclient
  2. 이 바이너리 그룹을 다음으로 변경하십시오.sshclient
  3. 이 바이너리의 권한을 다음으로 변경하세요.750
  4. 이 그룹에 SSH를 허용하려는 사용자를 추가하세요.

이는 방화벽과는 아무런 관련이 없습니다.

이전 이름의 래퍼 스크립트를 배치하여 다른 사용자가 방화벽 제어 방식으로 SSH를 사용하도록 허용할 수 있습니다. 여기서 $PATH바이너리는 동일한 사용자 sudo(환경 유지) 로 실행되지만 sshclient프로세스에 그룹을 추가합니다. 그런 다음 이 iptables모듈을 사용하여 이 그룹에 속하는 owner모든 패킷(SSH 패킷만)을 선택할 수 있습니다.sshclient

관련 정보