shorewall/iptables - 사용자별로 아웃바운드 포트를 제한합니다.

shorewall/iptables - 사용자별로 아웃바운드 포트를 제한합니다.

특정 사용자 및 그룹을 필터링했지만 SSH에서는 작동하지 않습니다. SSH의 경우 ssh 그룹의 구성원이 아웃바운드 SSH 트래픽을 가질 수 있도록 지정합니다. 나는 데몬(DNS 및 privoxy)과 동일한 구문을 사용하며 잘 작동합니다.

프로세스를 나열하면 ssh가 스스로 실행된다는 것을 알 수 있는데 왜 나를 내보내지 않을까요?

매크로

?COMMENT SSH
PARAM - - tcp ssh - - - :ssh

iptables

ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 owner GID match 1006

1006은 SSH 그룹의 그룹 ID입니다.

저는 ssh 그룹의 구성원이고 iptables가 소유자 GID를 ssh의 소유자 GID와 일치시키는 것을 확인했습니다. 내가 이걸 할 수 있을까? 인바운드가 아니라 아웃바운드인데...

답변1

@DavidKing은 이미 주석에서 이 질문에 답변했습니다. iptables에서 확인한 GID는 프로세스가 실행 중인 GID를 나타냅니다. Iptables는 프로세스 소유자가 지정된 그룹의 구성원인지 확인하지 않습니다.

설정을 변경하지 않고 유지하려면 특정 그룹 ID로 ssh를 실행해야 합니다.

sg ssh "ssh [email protected]"

여기에 있는 명령은 sg명령이 실행되는 그룹을 변경하는 데 사용됩니다( su사용자에 대해 수행하는 것과 마찬가지로). sum 의 출력을 비교하여 id이것이 어떻게 작동하는지 확인할 수 있습니다 sg ssh id. gid의 값은 달라지지만 다른 모든 것은 동일하게 유지된다는 점을 알 수 있습니다.

그룹 ID의 전체 주제는 다음 질문에 대한 답변에 잘 설명되어 있습니다.이 문제.

관련 정보