Voglio bloccare l'accesso alla porta 6379 sul mio server, ma desidero comunque collegarmi internamente. L'applicazione redis-server funziona su quella porta e voglio collegarmi solo localmente (127.0.0.1). Come posso fare questo?
Voglio bloccare l'accesso alla porta 6379 sul mio server, ma desidero comunque collegarmi internamente. L'applicazione redis-server funziona su quella porta e voglio collegarmi solo localmente (127.0.0.1). Come posso fare questo?
Risposte:
Per fare ciò, è necessario assicurarsi che le regole IPTables siano configurate correttamente. Ubuntu generalmente lascia i loro server spalancati per impostazione predefinita, motivo per cui ancora non consiglio il loro uso come server a meno che tu non sia abbastanza ben consapevole di come farlo già correttamente.
Immagino che il tuo iptables -L -nv
assomigli a qualcosa del genere, sì?
# iptables -L -nv
Chain INPUT (policy ACCEPT 4M packets, 9M 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 8M packets, 4M bytes)
pkts bytes target prot opt in out source destination
È vuoto ed è spalancato. Ubuntu IPTables HowTo probabilmente aiuterà un po 'con questo. ( https://help.ubuntu.com/community/IptablesHowTo )
Raccomando qualcosa del genere, che consente SSH su qualsiasi interfaccia e tcp 6379 qualsiasi interfaccia ma quella che non si desidera:
*filter
:INPUT DROP [92:16679]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [203:36556]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -p tcp -m tcp --dport 6379 -j ACCEPT
-A INPUT -i lo -p udp -m udp --dport 6379 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i lo -j ACCEPT
COMMIT
Dovresti quindi salvare questo file in /etc/iptables.rules.
Ovviamente, dovrebbero essere aggiunte tutte le altre porte che si desidera specificamente aprire.
Nota: ho aggiunto le linee specifiche 6379 per chiarezza. L'ACCETTA in basso proprio prima di COMMIT lo consentirebbe effettivamente perché tutte le connessioni di loopback devono essere consentite su un sistema Linux per il corretto funzionamento.
Dovrai anche mettere le regole nel tuo file / etc / network / interfaces, per assicurarti che vengano aggiunte quando viene visualizzata l'interfaccia e non più tardi nel processo di avvio. Si consiglia di aggiungere qualcosa di simile:
auto eth0
iface eth0 inet dhcp
pre-up iptables-restore < /etc/iptables.rules
Modifica: per caricare inizialmente questa configurazione, è necessario eseguire il comando iptables-restore sopra indicato:
iptables-restore < /etc/iptables.rules
Bene, suggerirei di usare il "firewall semplice" (ufw), che è anche raccomandato da canonical. Leggere e scrivere iptables è troppo complicato solo per le attività di blocco delle porte occasionali.
Qualcosa di simile a
iptables -A INPUT -s 0.0.0.0 -i eth0 --protocol tcp --dport 6379 -j DROP
Dovrebbe funzionare.