Einfachste/beste Möglichkeit, nur bestimmte IP-Bereiche für den Zugriff zuzulassen

Einfachste/beste Möglichkeit, nur bestimmte IP-Bereiche für den Zugriff zuzulassen

Ich suche nach der einfachsten/besten Möglichkeit, nur bestimmten IP-Bereichen Zugriff auf meine Ubuntu 20.04-Installation zu gewähren. Das würde mir vor allem gefallen, damit ich den Webverkehr (Apache) blockieren kann, aber eine vollständige Serverblockierung wäre am besten.

Mir ist klar, dass eine Hardwarelösung hierfür am besten geeignet ist, aber die kann ich mir nicht leisten. Mir ist auch klar, dass „am einfachsten“ und „am besten“ nicht immer Hand in Hand gehen.

Und wird der Server langsamer, wenn mehr IP-Bereiche vorhanden sind?

Jede Hilfe wäre willkommen.

Antwort1

Sie können bei den meisten Linux-Installationen den gesamten IP-Verkehr mit Ausnahme des gewünschten ganz einfach filtern. Denken Sie daran, dass Sie dadurch möglicherweise den Zugriff auf den Server verlieren.

Hier ist eine kleine Basis, die funktionieren könnte.

# Allow some related traffic
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow single source ip
iptables -A INPUT -s x.x.x.x/net -j ACCEPT
# Drop everything else
iptables -P INPUT DROP

Bevor Sie die letzte Drop-Line ausführen, die alles aktiviert, können Sie sie verwenden, iptables -vnLum Zähler für Regelübereinstimmungen anzuzeigen. Stellen Sie sicher, dass dies der Fall ist.

Das Durchführen der IP-Filterung verbraucht CPU-Zyklen, aber das Gleiche gilt für das Beantworten von Paketen. Dies ist fast nie ein Problem, es sei denn, Sie wenden komplexe Regeln mit hohem Durchsatz an. Dies sind keine komplexen Regeln.

verwandte Informationen