Diferenças entre edições de "Introdução à utilização de iptables"
Linha 39: | Linha 39: | ||
===Configuração de uma página=== | ===Configuração de uma página=== | ||
− | + | <syntaxhighlight lang="bash">cd /var/www/html | |
cp index.html index_old.html | cp index.html index_old.html | ||
nano index.html | nano index.html | ||
Linha 47: | Linha 47: | ||
</body> | </body> | ||
</html> | </html> | ||
− | service apache2 restart (se necessário) | + | service apache2 restart (se necessário)</syntaxhighlight> |
* Aceder ao IP da máquina no browser | * Aceder ao IP da máquina no browser |
Revisão das 16h00min de 7 de junho de 2018
Índice
Vantagens e desvantagens
- Grande estabilidade, confiabilidade e escalável.
- Económicas tanto monetariamente como em termos de recursos computacionais.
- Mais eficazes.
- Maior liberdade de configuração.
- Necessário vasto conhecimento do funcionamento interno do Linux.
- Não é uma solução rápida de implementar.
- Não possui grandes ferramentas gráficas nativas de configuração (excepto de terceiros).
- Configurações perdidas após reiniciar o sistema.
Exemplos
iptables -A INPUT -p tcp -s 192.168.219.0/255.255.255.0 -j ACCEPT
Todas as configurações de regras da firewall são aplicadas através do comando “iptables”.
Em seguida vem uma condição, indicada pela opção "-A".
As opções “INPUT -p tcp -s 192.168.219.0/255.255.255.0", aplicam-se a qualquer pacote de entrada (INPUT), utilizando o protocolo TCP (-p tcp), proveniente dos computadores da rede local (192.168.200.0/255.255.255.0).
O "-j ACCEPT" indica que ação deve ser tomada e, neste caso, diz que estes pacotes devem ser aceites.
Criação de um cenário prático
- Instalar e configurar máquina virtual com o ubuntu server:
- Actualizar a máquina virtual (apt-get update && apt-get upgrade)
- Activar utilizador root (sudo passwd root)
- Instalar o seguintes serviços:
- Apache
- apt-get install lamp-server^
- SSH
- apt-get install ssh
- FTP
- apt-get install vsftpd
- Apache
Instalação de serviços para testes
Configuração de uma página
cd /var/www/html
cp index.html index_old.html
nano index.html
<html>
<body>
Escrever texto aqui….
</body>
</html>
service apache2 restart (se necessário)
- Aceder ao IP da máquina no browser
Configuração do vsftpd
cp /etc/vsftpd.conf /etc/vsftpd_back.conf adduser teste mkdir /home/teste/ftp chown nobody:nogroup /home/teste/ftp chmod a-w /home/teste/ftp (as permissões atribuídas são 555) ls –la /home/teste/ftp touch /home/teste/ftp/test.txt echo “teste de acesso” > /home/teste/ftp/test.txt
nano /etc/vsftpd.conf (ou vi)
Descomentar a linha write_enable=YES Descomentar a linha chroot_local_user=YES Adicionar as linhas no fim do ficheiro
user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=40000 pasv_max_port=50000 userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO touch /etc/vsftpd.userlist echo “teste” > /etc/vsftpd.userlist service vsftpd restart
ftp –p <ip do servidor> Efectuar o login ls quit
Portos utilizados pelos serviços
- HTTP – 80
- SSH – 22
- FTP – 20 e 21
Regras
Limpar todas as regras
iptables –F INPUT iptables –F OUTPUT iptables –F FORWARD
Bloquear pacotes mal formados
iptables -A INPUT -m state --state INVALID -j DROP
Permitir ligações para o endereço de loopback
iptables -A INPUT -i lo -j ACCEPT
Bloquear uma ligação FTP a um IP especifico
iptables –A INPUT –p tcp –s <IP_A_BLOQUEAR> --dport 21 –j REJECT
Abrir as portas para o servidor FTP
iptables –A INPUT –p tcp –m multiport --dport 80, 20, 21, 40000, 50000 –j ACCEPT
Permitir uma ligação SSH a um IP especifico
iptables –A INPUT –p tcp –s <IP_A_PERMITIR> --dport 22 –j ACCEPT