iptables 설정 문제(LDAP 트래픽 차단됨)

iptables 설정 문제(LDAP 트래픽 차단됨)

내 애플리케이션 서버는 조직 전체의 방화벽으로 보호되는 네트워크에 있고 내 서버도 fail2ban. 즉, iptables. 구성에 약간의 문제가 있습니다.

요구사항:

  1. 모든 사람의 액세스를 거부한 다음 특정 IP 범위(4.3.4.0/16)에 대한 액세스를 허용합니다.
  2. 애플리케이션에서 계속 LDAP 기능 사용( ldap_connectPHP에서 사용)
  3. URL을 통해 외부 콘텐츠를 검색하는 기능

알려진 것:

  • 애플리케이션 서버 IP는 1.2.3.4입니다.
  • LDAP 서버는 1.2.100.200으로 확인되고 포트 636을 사용합니다.
  • 내 노트북의 고정 IP는 4.3.2.1입니다.

내가 시도한 것:

포트 22, 80 및 443을 통한 트래픽을 허용하는 바닐라 iptables구성으로 시작하여 다음을 추가했습니다.

# explicitly allow ssh access from my laptop
iptables -A INPUT -s 4.3.2.1 -d 1.2.3.4 -p tcp --dport 22 -j ACCEPT

# deny all traffic
iptables --policy INPUT DROP

# allow traffic from a specific IP range
iptables -A INPUT -s 4.3.4.0/24 -j ACCEPT

# allow traffic from LDAP server IP
iptables -A INPUT -s 1.2.100.200 -j ACCEPT
iptables -A INPUT -p tcp --dport 636 -j ACCEPT

을 사용하여 해당 구성을 저장한 service iptables save다음 서비스를 다시 시작합니다.

문제:

이미 로그인되어 있으면 애플리케이션을 탐색하고 사용할 수 있습니다(아래 한 가지 제외). 로그인하지 않은 경우 LDAP 인증이 중단됩니다.

두 번째 문제는 새 구성으로 외부 콘텐츠에 액세스할 수 없다는 것입니다. HTTPS를 사용하여 다른 컴퓨터에서 데이터를 검색합니다. 외부 머신의 IP로의 아웃바운드 트래픽을 허용하는 규칙을 추가하기만 하면 되는 것입니까?

답변1

LDAP 서버가 비표준 포트를 사용하고 있습니까?

LDAP 서버가 어떤 포트를 수신하고 있는지 확인할 수 있습니다.netstat -tlpn

두 번째 문제는 새 구성으로 외부 콘텐츠에 액세스할 수 없다는 것입니다.

이 규칙을 적용한 후에는 이 컴퓨터에서 네트워크 리소스에 연결할 수 없다는 뜻이라고 가정합니다. 요청은 아마도 나가고 있지만(분명히 OUTPUT의 기본 정책을 DROP으로 설정하지 않았기 때문에) 원격 서버의 응답은 방화벽에 의해 삭제되고 있습니다.

관심 있는 트래픽을 생성할 때 기본 정책의 패킷 수를 모니터링하여 이러한 상황이 발생하는지 확인할 수 있습니다.

root@xxxxxxvld02 ~ $ iptables -nvL
Chain INPUT (policy ACCEPT 157 packets, 18048 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 63 packets, 6998 bytes)
 pkts bytes target     prot opt in     out     source               destination

위에서 157 packets체인의 는 INPUT기본 정책이 적용된 패킷의 개수입니다(규칙은 왼쪽에 자체 개수가 있으며 해당 숫자를 위쪽으로 변경하지 않습니다).

이미 존재하는 연결과 관련된 트래픽을 명시적으로 허용하는 규칙을 만들고 싶을 수도 있습니다.

iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

관련 정보