Come posso sul mio server Ubuntu, in Iptables consentire solo un indirizzo IP su una porta specifica?
Grazie
Come posso sul mio server Ubuntu, in Iptables consentire solo un indirizzo IP su una porta specifica?
Grazie
Risposte:
Una fodera:
iptables -I INPUT \! --src 1.2.3.4 -m tcp -p tcp --dport 777 -j DROP # if it's not 1.2.3.4, drop it
Una soluzione più elegante:
iptables -N xxx # create a new chain
iptables -A xxx --src 1.2.3.4 -j ACCEPT # allow 1.2.3.4
iptables -A xxx --src 1.2.3.5 -j ACCEPT # allow 1.2.3.5
iptables -A xxx --src 1.2.3.6 -j ACCEPT # allow 1.2.3.6
iptables -A xxx -j DROP # drop everyone else
iptables -I INPUT -m tcp -p tcp --dport 777 -j xxx # use chain xxx for packets coming to TCP port 777
INPUT
con OUTPUT
si bloccherebbe alcuni pacchetti inviati utilizzando alcuni indirizzi del server stesso (e non instradati / inoltrati). Dubito che abbia senso, a meno che tu non voglia bloccare programmi che si legano ad alcune interfacce specifiche.
--src 1.2.3.4/30
iptables -I xxx --src 7.8.9.10 -j ACCEPT
Ecco un esempio da uno dei miei sistemi CentOS (gli indirizzi sono stati offuscati):
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 1.2.3.4 -d 5.6.7.8 --dport 22 -j ACCEPT
service iptables save
.