Inhaltsverzeichnis
Runbook: Firewall pravila
Trajanje: ~10 minuta
Uloga: Network-Admin, Security-Admin
Preduvjet: Root/Admin prava
Kontrola pristupa za Data Gateway na mreznoj razini.
Tijek rada
flowchart TD
A[Start] --> B[Portove identificirati]
B --> C{Platforma?}
C -->|Windows| D[Windows Firewall]
C -->|Linux| E[iptables/firewalld]
C -->|Cloud| F[Security Groups]
D --> G[Pravilo kreirati]
E --> G
F --> G
G --> H[Testirati]
H --> I{Pristup OK?}
I -->|Da| J[Dokumentirati]
I -->|Ne| K[Pravilo prilagoditi]
style J fill:#e8f5e9
style K fill:#ffebee
Potrebni portovi
| Port | Protokol | Smjer | Opis |
| —— | ———– | ———- | ————– |
| 443 | TCP | Ulazni | HTTPS (Produkcija) |
| 5000 | TCP | Ulazni | HTTP (samo Razvoj) |
| 9090 | TCP | Izlazni | Prometheus (opcionalno) |
| 1433 | TCP | Izlazni | SQL Server |
| 5432 | TCP | Izlazni | PostgreSQL |
| 3306 | TCP | Izlazni | MySQL |
1. Windows Firewall
PowerShell (kao Admin):
# Ulazni: HTTPS dozvoliti New-NetFirewallRule -DisplayName "Data Gateway HTTPS" ` -Direction Inbound -Action Allow -Protocol TCP -LocalPort 443 # Ulazni: Samo od odredenih IP-ova New-NetFirewallRule -DisplayName "Data Gateway HTTPS Restricted" ` -Direction Inbound -Action Allow -Protocol TCP -LocalPort 443 ` -RemoteAddress "10.0.0.0/8","192.168.0.0/16" # Izlazni: SQL Server dozvoliti New-NetFirewallRule -DisplayName "Data Gateway to SQL Server" ` -Direction Outbound -Action Allow -Protocol TCP -RemotePort 1433 # Pravila ispisati Get-NetFirewallRule -DisplayName "Data Gateway*" | Format-Table Name, Enabled, Direction, Action # Pravilo ukloniti Remove-NetFirewallRule -DisplayName "Data Gateway HTTPS"
2. Linux: firewalld (RHEL/CentOS)
# HTTPS port otvoriti sudo firewall-cmd --permanent --add-port=443/tcp # Samo iz odredene mreze sudo firewall-cmd --permanent --add-rich-rule=' rule family="ipv4" source address="10.0.0.0/8" port protocol="tcp" port="443" accept' # Promjene primijeniti sudo firewall-cmd --reload # Pravila prikazati sudo firewall-cmd --list-all # Pravilo ukloniti sudo firewall-cmd --permanent --remove-port=443/tcp sudo firewall-cmd --reload
3. Linux: ufw (Ubuntu/Debian)
# HTTPS dozvoliti sudo ufw allow 443/tcp # Iz odredene mreze sudo ufw allow from 10.0.0.0/8 to any port 443 proto tcp # Status prikazati sudo ufw status verbose # Pravilo ukloniti sudo ufw delete allow 443/tcp
4. Linux: iptables (rucno)
# HTTPS dozvoliti sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # Samo iz odredene mreze sudo iptables -A INPUT -p tcp --dport 443 -s 10.0.0.0/8 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j DROP # Pravila spremiti sudo iptables-save > /etc/iptables/rules.v4 # Pravila prikazati sudo iptables -L -n --line-numbers # Pravilo ukloniti (po broju) sudo iptables -D INPUT 3
5. Cloud: AWS Security Group
# Security Group kreirati aws ec2 create-security-group \ --group-name gateway-sg \ --description "Data Gateway Security Group" \ --vpc-id vpc-12345678 # HTTPS od svuda aws ec2 authorize-security-group-ingress \ --group-id sg-12345678 \ --protocol tcp \ --port 443 \ --cidr 0.0.0.0/0 # HTTPS samo iz VPN-a aws ec2 authorize-security-group-ingress \ --group-id sg-12345678 \ --protocol tcp \ --port 443 \ --cidr 10.0.0.0/8
6. Cloud: Azure NSG
# NSG kreirati az network nsg create \ --resource-group rg-gateway \ --name gateway-nsg # HTTPS pravilo az network nsg rule create \ --resource-group rg-gateway \ --nsg-name gateway-nsg \ --name AllowHTTPS \ --priority 100 \ --direction Inbound \ --access Allow \ --protocol Tcp \ --destination-port-ranges 443 \ --source-address-prefixes '10.0.0.0/8'
7. IP-Whitelist u Gatewayu
Alternativa Firewallu: Filtriranje u aplikaciji.
appsettings.json:
{
"Security": {
"AllowedIPs": [
"10.0.0.0/8",
"192.168.0.0/16",
"172.16.0.0/12"
]
}
}
8. Testiranje
# Lokalno curl https://localhost/health # Iz dozvoljene mreze curl https://gateway.example.com/health # Izvana (treba biti blokirano) curl --connect-timeout 5 https://gateway.example.com/health # Ocekivanje: Connection refused ili Timeout
9. Kontrolna lista
| # | Provjera | Da/Ne |
| — | ———– | — |
| 1 | Port 443 ulazni dozvoljen | - |
| 2 | Port 5000 (HTTP) blokiran | - |
| 3 | Samo potrebni IP-ovi dozvoljeni | - |
| 4 | Izlazni do DB-a dozvoljen | - |
| 5 | Izvana testirano | - |
| 6 | Pravila dokumentirana | - |
Rjesavanje problema
| Problem | Uzrok | Rjesenje |
| ——— | ——— | ——– |
Connection refused | Port nije otvoren | Firewall pravilo dodati |
Connection timeout | Firewall blokira | Pravilo/Source-IP provjeriti |
| Pristup od svuda | Nema ogranicenja | Source-IP limitirati |
| DB konekcija neuspjesna | Izlazni blokiran | Outbound pravilo dodati |
Najbolje prakse
Princip najmanjih privilegija:
- Samo potrebne portove otvoriti
- Samo potrebne IP-ove dozvoliti
- HTTP (5000) u produkciji blokirati
- Redovito pravila auditirati
Povezani runbookovi
- TLS postavljanje - HTTPS aktivirati
- Kubernetes - NetworkPolicies
- Alerting - Monitoring konekcija
« <- Certifikat obnoviti | -> Operator pregled »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Data Gateway Professional
Zuletzt geändert: 29.01.2026. u 23:41