Skrypt Linuksa: Prosty Firewall z iptables
Ten skrypt ma na celu skonfigurowanie prostej zapory sieciowej w systemie Linux za pomocą narzędzia iptables
. Skrypt obejmuje podstawowe reguły chroniące system przed typowymi zagrożeniami.
Pamiętaj:
- Przed uruchomieniem tego skryptu upewnij się, że masz uprawnienia administratora (
sudo
). - Skrypt zastąpi istniejące reguły iptables. Przed uruchomieniem wykonaj kopię zapasową bieżącej konfiguracji za pomocą polecenia
iptables -L -v > iptables.backup
. - Ten skrypt jest przeznaczony do celów edukacyjnych i może nie zapewniać pełnego bezpieczeństwa. Zaleca się stosowanie bardziej zaawansowanych rozwiązań zapory w środowiskach produkcyjnych.
Skrypt:
Bash
#!/bin/bash
# Wyczyść wszystkie istniejące reguły
iptables -F
# Włącz ochronę przed pingowaniem z zewnątrz
iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
# Zezwól na ruch SSH z dowolnego adresu IP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Zezwól na ruch HTTP i HTTPS z dowolnego adresu IP
iptables -A INPUT -p tcp --dport 80,443 -j ACCEPT
# Zablokuj ruch na inne porty TCP
iptables -A INPUT -p tcp -j REJECT
# Zablokuj ruch UDP
iptables -A INPUT -p udp -j REJECT
# Zapisanie reguł do stałej konfiguracji
iptables-save > /etc/iptables.rules
# Ponowne uruchomienie iptables
systemctl restart iptables
# Komunikat o zakończeniu
echo "Prosta zapora sieciowa została skonfigurowana."
Wyjaśnienie skryptu:
- Pierwsza linia to tzw. shebang, informująca system o używanym interpreatorze (
/bin/bash
). - Następnie skrypt usuwa wszystkie istniejące reguły iptables za pomocą polecenia
iptables -F
. - Kolejne linie definiują reguły zapory:
iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
– blokuje pingowanie z zewnątrz.iptables -A INPUT -p tcp --dport 22 -j ACCEPT
– zezwala na ruch SSH na port 22.iptables -A INPUT -p tcp --dport 80,443 -j ACCEPT
– zezwala na ruch HTTP i HTTPS na portach 80 i 443.iptables -A INPUT -p tcp -j REJECT
– blokuje ruch na inne porty TCP.iptables -A INPUT -p udp -j REJECT
– blokuje ruch UDP.
- Na końcu skrypt zapisuje reguły do stałej konfiguracji (
/etc/iptables.rules
) i restartuje usługę iptables, aby zastosować zmiany.
Dodatkowe opcje:
- Możesz dostosować ten skrypt do swoich potrzeb, dodając lub usuwając reguły.
- Możesz użyć bardziej szczegółowych reguł, aby określić, z jakich adresów IP i portów dozwolony jest ruch.
- Możesz zintegrować ten skrypt z systemem zarządzania konfiguracją, aby zautomatyzować proces konfiguracji zapory.
Pamiętaj, że ten skrypt jest tylko przykładem i należy go dostosować do Twoich specyficznych potrzeb i wymagań bezpieczeństwa.