내 애플리케이션 서버 는 조직 전체 방화벽으로 보호되는 네트워크에 있고 내 서버도 fail2ban
. iptables
구성에 문제가 있습니다. 특히 애플리케이션 서버에서 외부 콘텐츠에 액세스하는 데 문제가 있습니다.
필요하다:
- 모든 사람의 액세스를 거부한 다음 특정 IP 범위를 허용합니다(4.3.2.*)
- 애플리케이션 서버에서 외부 콘텐츠를 검색하는 기능
알려진 것:
- 애플리케이션 서버 IP는 1.2.3.4입니다.
- 내 노트북의 고정 IP는 4.3.2.1입니다.
내가 시도한 것:
iptables
포트 22, 80, 443을 통한 트래픽을 허용하는 일반 구성 에서 시작하여 다음을 추가했습니다.
# allow traffic from a specific IP range
iptables -A INPUT -s 4.3.2.0/24 -j ACCEPT
# allow traffic over LDAP port
iptables -A INPUT -p tcp --dport 636 -j ACCEPT
# keep existing traffic
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# deny all traffic
iptables --policy INPUT DROP
을 사용하여 구성을 저장한 service iptables save
다음 서비스를 다시 시작합니다.
이것은iptables -L -v -n --line-numbers
Chain INPUT (policy DROP 461 packets, 81259 bytes)
num pkts bytes target prot opt in out source destination
1 11835 1095K fail2ban-SSH tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
2 2972K 1083M ACCEPT all -- * * 4.3.2.0/24 0.0.0.0/0
3 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:636
4 3747K 436M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 89676 packets, 26M bytes)
num pkts bytes target prot opt in out source destination
Chain fail2ban-SSH (1 references)
num pkts bytes target prot opt in out source destination
1 11776 1092K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
질문:
위의 규칙 세트를 사용하여 외부 콘텐츠에 액세스할 수 없습니다. 기본 출력 정책은 승인이므로 문제가 무엇인지 잘 모르겠습니다. 나는 이것을 응용 프로그램 자체에서 테스트했을 뿐만 아니라 단순히 명령을 사용하고 lynx를 사용하여 테스트했습니다.https://some.site. 기본 입력 정책을 수락하도록 변경하면 lynx가 콘텐츠를 추출할 수 있습니다. INPUT 정책으로 인해 콘텐츠 로드가 차단되는 이유는 무엇입니까?
답변1
문제를 해결했습니다. 간단한 해결책입니다. 단일 외부 시스템(1.1.1.99)에서 데이터를 가져오고 있지만 해당 IP가 내 규칙 세트에 없어 차단되었습니다.
따라서 이것을 추가하고 저장하면 문제가 해결되었습니다.
iptables -A INPUT -s 1.1.1.99 -j ACCEPT