내 서버에서 많은 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
다음을 수행할 수 있습니다.
- 그룹 만들기
sshclient
- 이 바이너리 그룹을 다음으로 변경하십시오.
sshclient
- 이 바이너리의 권한을 다음으로 변경하세요.
750
- 이 그룹에 SSH를 허용하려는 사용자를 추가하세요.
이는 방화벽과는 아무런 관련이 없습니다.
이전 이름의 래퍼 스크립트를 배치하여 다른 사용자가 방화벽 제어 방식으로 SSH를 사용하도록 허용할 수 있습니다. 여기서 $PATH
바이너리는 동일한 사용자 sudo
(환경 유지) 로 실행되지만 sshclient
프로세스에 그룹을 추가합니다. 그런 다음 이 iptables
모듈을 사용하여 이 그룹에 속하는 owner
모든 패킷(SSH 패킷만)을 선택할 수 있습니다.sshclient