UFW / IPTables: como permitir com segurança o acesso ao git autenticado com o github

4

É assim que eu configuro meu iptables com o UFW:

  1. sudo ufw default deny incoming (negar todas as entradas)
  2. sudo ufw default deny outgoing (negar todas as saídas)
  3. sudo ufw allow out 53 (aceitar de saída Tráfego DNS , tanto tcp como udp
  4. sudo ufw allow in 80/tcp (aceita todo o tcp de entrada da porta 80)
  5. sudo ufw allow out 80/tcp (aceita todos os tcp de saída para a porta 80)
  6. sudo ufw allow proto tcp from <admin_ip_addr> to <server_ip_addr> port 22 (aceita a porta tcp de entrada 22 do IP do administrador para ssh)
  7. sudo ufw allow out 9418/tcp (aceita conexões git de saída)
  8. sudo ufw allow proto tcp from <server_ip_addr> to any port 22 (aceita conexões ssh de saída para se conectar ao GitHub)

Em inglês: bloqueia todos, exceto HTTP, DNS, SSH de entrada de IPs de administrador, GIT de saída e SSH de saída.

Infelizmente, quando faço git clone [email protected]:username/project.git , fica preso em Initialized empty Git repository in /home/adminuser/exper/project/.git/

Quando eu habilito todo o tráfego de saída com sudo ufw default allow outgoing e repito o comando git clone, ele funciona.

Então, aparentemente, há algo de saída que ainda está sendo bloqueado.

Alguém pode me dizer o que isso pode ser, e que regra devo adicionar para permitir isso?

Eu também tentei as seguintes regras, sem sucesso:

  1. sudo ufw allow out 1024:65535/udp
por Tom 17.03.2012 / 17:57

2 respostas

3

Você está tentando se conectar ao SSH e isso (parece ser) permitido, por isso é hora de diagnosticar o problema. Eu gosto de adicionar uma regra de LOG antes de deixar qualquer pacote, então eu sei exatamente o que está sendo descartado. Caso contrário, um pouco de ação do tcpdump deve identificar o tráfego que não vai a lugar nenhum. Uma vez que você sabe o que está sendo descartado, é um assunto trivial adicionar as regras necessárias para permitir isso.

    
por 18.03.2012 / 00:47
2

Depois de muito bater a cabeça e me trancar de 2 servidores. As regras de firewall abaixo funcionaram para eu fazer um 'git clone'. Espero que ajude a todos também.

FYI: Estou executando os comandos abaixo em um 'eth0' que é a interface privada do meu servidor. Recebi o IP da sub-rede do github daqui: link

sudo ufw reset
sudo ufw status verbose
sudo ufw default deny incoming
sudo ufw default deny outgoing
# For resolving DNS problem
sudo ufw allow out on eth0 to any port 53
# For allowing access to github.com
sudo ufw allow out on eth0 to 192.30.252.0/22 port 22
sudo ufw --force enable
    
por 15.11.2017 / 23:46