Bloqueie todas as conexões, mas permita apenas algumas portas com iptables

Bloqueie todas as conexões, mas permita apenas algumas portas com iptables

Eu preciso de regras que:

  1. Bloqueie todo o tráfego de entrada (internet > servidor), mas permita a saída (servidor > internet) e permita que os serviços locais também sejam executados

  2. Aceito apenas o tráfego de entrada das portas que desejo.

Eu também preciso fazer isso durante uma sessão ssh (já estive bloqueado antes).

A razão pela qual estou perguntando é porque não consigo usar o UFW com meu provedor VPS... aparentemente porque seu kernel/OpenVZ...

Tentar aprender os comandos sozinho é como aprender a usar uma ferramenta e tentar construir uma casa. E seria muito bom se eu pudesse ter alguma produtividade hoje em vez de gastar horas e horas tentando consertar isso. Se alguém pudesse me ajudar eu realmente apreciaria.

Responder1

Primeiro permita sua porta específica e depois bloqueie todo o tráfego de entrada

# iptables -A INPUT -p tcp --dport 22 -j ACCEPT

onde 22 sua porta demo muda conforme sua demanda

Bloqueie todo o tráfego de entrada

# iptables -A INPUT -j REJECT

Permitir todos os pacotes de saída

# iptables -A OUTPUT -j ACCEPT
# iptables -A OUTPUT -o lo -j ACCEPT

Responder2

@Rakib forneceu uma ótima resposta e acho que deveria ser aceita. A resposta que estou dando apenas acrescenta à dele. Eu recomendo criar um script de shell para que você possa executá-lo automaticamente quando o sistema operacional for inicializado ou sob demanda, sem precisar digitar tudo novamente:

#!/bin/sh

IPT = iptables

#allowing the specific port
$IPT -A INPUT -p tcp --dport 22 -j ACCEPT

#block all incoming traffic
$IPT -A INPUT -j REJECT

#ALLOW ALL OUTGOING PACKETS
$IPT -A OUTPUT -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT

#same thing for ip6tables (IPv6)
IPT = ip6tables
$IPT -A INPUT -p tcp --dport 22 -j ACCEPT
$IPT -A INPUT -j REJECT
$IPT -A OUTPUT -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT

Além disso, o roteiro foi feito duas vezes, com a única diferença de quetabelas ip6foi incluído, para que também se aplique ao IPv6, como @Michael Mol disse em seu comentário na resposta de @Rakib

informação relacionada