특정 IP를 제외한 모든 연결 거부

특정 IP를 제외한 모든 연결 거부

포트 27017을 통해 다른 서버에서 원격으로 연결할 데이터베이스를 Ubuntu에 설치했습니다.

이 서버를 다른 서버의 저장소로만 사용하고 싶습니다. 지정된 IP를 제외한 모든 연결을 차단하는 호스트 지원을 요청합니다.

그랬지만 집에서는 여전히 연결할 수 있습니다. 그는 친숙한 모든 기본 포트(80, 25, 21 등)에서 실행되는 서비스에 대한 모든 IP 액세스를 차단하고 있다고 판단하여 27017에도 동일한 작업을 수행했습니다.

이 설정을 사용하면 내 데이터베이스가 대중에게 공개되지 않는다고 확신할 수 있습니까? ! 감사해요.

답변1

데이터베이스가 사용하는 것만 차단하면 됩니다.

더 흥미로운 질문은 이를 수행하는 방법일 수 있습니다.

iptables -F INPUT # deletes all rules
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
: maybe allow other services here
iptables -A INPUT -s $allowed_source_address -p tcp --dport 27017 -j ACCEPT
iptables -A INPUT -j DROP

이렇게 하면 허용된 IP에서 데이터베이스로의 연결을 제외하고 새로 들어오는 모든 연결이 차단됩니다.

블록 데이터베이스만

iptables -F INPUT # deletes all rules
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -s $allowed_source_address -p tcp --dport 27017 -j ACCEPT
iptables -A INPUT -p tcp --dport 27017 -j DROP

관련 정보