Diferenças entre edições de "Introdução à utilização de iptables"
Linha 79: | Linha 79: | ||
userlist_deny=NO | userlist_deny=NO | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> |
Revisão das 16h11min 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