특정 사용자 및 아웃바운드 연결에 대한 scp 명령을 차단하는 방법

특정 사용자 및 아웃바운드 연결에 대한 scp 명령을 차단하는 방법

DenyUsersSSH 서버를 통해 시스템에 로그인하는 것을 방지하기 위해 파일의 지시문 옆에 사용자 이름을 추가하여 특정 사용자를 제한 할 수 있습니다 .sshd_config

scp 명령으로 동일한 작업을 수행할 수 있습니까?

편집하다:

다른 컴퓨터에서 또는 동일한 컴퓨터의 사용자로 scp를 실행하려고 하면 scp가 차단됩니다. 이 경우 scp가 차단됩니다. 그러나 제한된 사용자의 터미널에서 명령을 실행하면 scp가 작동합니다. 즉, SSH 서버는 이 아웃바운드 연결을 차단하지 않습니다.

그러한 아웃바운드 요청을 차단하도록 SSH 서버를 구성할 수 있습니까?

답변1

사용자가 아웃바운드 연결에 대해 바이너리 (또는 기타 바이너리) 를 sshd_config호출할 수 있는지 여부를 제어 하는 ​​설정이 파일에 없습니다 .sshscpsftp

사용자가 이 바이너리를 호출하지 못하도록 제한하려면 바이너리에 대한 실행 권한이 없도록 권한을 변경해야 합니다. 예를 들어 바이너리에 액세스하려는 모든 사용자를 그룹에 넣고 scp바이너리의 그룹을 해당 그룹으로 변경하고 바이너리의 권한을 0750으로 설정할 수 있습니다.

일반적으로 누군가가 연결할 수 있는 방법이 여러 가지가 있기 때문에 범용 Unix 시스템에서 아웃바운드 네트워크 액세스를 제한하는 것은 어려울 수 있습니다. 터미널(또는 "응용 프로그램 실행" 창)에 액세스하지 않고 제한된 그래픽 세션에 넣을 수 있습니다.이와 같이, 그러나 사용자에게 셸 액세스 권한이 있으면 행운을 빕니다. 필터링된 프록시를 강제로 적용할 수도 있지만 HTTPS 연결에서 안전하게 작동하도록 하는 것은 어렵습니다.

답변2

사용자가 시스템에서 바이너리를 생성하고 noexec를 사용하여 실행하는 것을 방지해야 합니다(즉, 적어도 install /home, /tmp, /var/tmp, /dev/shm, 및 /run/user/*(특정 Lennart는 똑똑하지 않고 너무 오만해서 다른 사람의 말을 들을 수 없기 때문에 재미있는 일입니다) )) .

22가 아닌 다른 포트에서 수신 대기하는 SSH 데몬이 있을 수 있습니다. 그러나 해당 포트에 대한 연결을 차단할 만큼 충분하다면 Netfilter( iptables)를 사용하여 해당 포트에 대한 연결을 차단할 수 있습니다(일부 사용자의 경우).

문제는 scp시스템 안팎으로 데이터를 이동하는 방법이 많기 때문에 차단이 유용한지 여부입니다.

관련 정보