IPTABLES, 특정 서브넷의 액세스를 특정 사용자로만 제한하는 방법은 무엇입니까?

IPTABLES, 특정 서브넷의 액세스를 특정 사용자로만 제한하는 방법은 무엇입니까?

특정 사용자가 특정 IP에서만 내 서버에 액세스할 수 있도록 해야 합니다. 예를 들어, Remoteadmin 사용자는 IP 범위 192.168.50에서만 액세스할 수 있습니다. *, 192.168.80. *

특정 포트에만 액세스하도록 지정할 수도 있나요?

감사해요

답변1

TCP 연결이 시도되면 일반적으로 표준 TCP/IP 4-튜플(소스 IP, 대상 IP, 소스 포트 및 대상 포트)만 알 수 있습니다. 소스 포트는 일반적으로 소스 호스트에 동적으로 할당되며 일반적으로 신뢰할 수 있는 표시기가 아닙니다.

연결된 사용자가 누구인지 확실하지 않습니다. 확인하려면 먼저 연결을 수락하고 인증 프로세스를 수행해야 합니다. 이 프로세스에는 일반적으로 일정량의 양방향 통신이 필요합니다. 그런 다음 사용자 이름이 허용되면그리고유효한 인증 자격 증명을 제공하여 사용자가 시스템에 대한 액세스 권한을 부여합니다. 그렇지 않은 경우 여러 번의 인증 시도 실패 후 연결이 끊어집니다.

iptables물론 특정 IP 범위에서 특정 포트로의 액세스를 제한하는 것도 가능합니다. 그러나 iptables들어오는 연결과 관련된 사용자 이름은 인증 프로세스가 발생하기 전에 결정되어야 하기 때문에 알 수 있는 방법이 없습니다.

모든 사용자 이름 기반 액세스 제어 결정은 연결 인증을 처리하는 실제 서비스 내에서 이루어져야 합니다. 즉, 들어오는 연결이 SSH 연결인 경우 사용자 이름을 기반으로 액세스 결정을 내리는 첫 번째 연결은 sshd데몬이 됩니다. PAM을 사용하도록 구성 되거나 라이브러리를 사용하도록 컴파일된 경우 sshdPAM 규칙을 사용할 수도 있습니다 .sshdlibwrap/etc/hosts.allow/etc/hosts.deny

관련 정보