Trajanje: ~10 minut
Vloga: Omrežni administrator, varnostni administrator
Predpogoj: Administratorske pravice (Root/Admin)
Nadzor dostopa za Data Gateway na omrežni ravni.
| Port | Protokol | Smer | Opis |
| —— | ———– | ———- | ————– |
| 443 | TCP | Vhodni | HTTPS (produkcija) |
| 5000 | TCP | Vhodni | HTTP (samo razvoj) |
| 9090 | TCP | Izhodni | Prometheus (opcijsko) |
| 1433 | TCP | Izhodni | SQL Server |
| 5432 | TCP | Izhodni | PostgreSQL |
| 3306 | TCP | Izhodni | MySQL |
PowerShell (kot administrator):
# Vhodni: Dovoli HTTPS New-NetFirewallRule -DisplayName "Data Gateway HTTPS" ` -Direction Inbound -Action Allow -Protocol TCP -LocalPort 443 # Vhodni: Samo iz določenih IP-jev 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" # Izhodni: Dovoli SQL Server New-NetFirewallRule -DisplayName "Data Gateway to SQL Server" ` -Direction Outbound -Action Allow -Protocol TCP -RemotePort 1433 # Navedi pravila Get-NetFirewallRule -DisplayName "Data Gateway*" | Format-Table Name, Enabled, Direction, Action # Odstrani pravilo Remove-NetFirewallRule -DisplayName "Data Gateway HTTPS"
# Odpri HTTPS port sudo firewall-cmd --permanent --add-port=443/tcp # Samo iz določenega omrežja sudo firewall-cmd --permanent --add-rich-rule=' rule family="ipv4" source address="10.0.0.0/8" port protocol="tcp" port="443" accept' # Uveljavi spremembe sudo firewall-cmd --reload # Prikaži pravila sudo firewall-cmd --list-all # Odstrani pravilo sudo firewall-cmd --permanent --remove-port=443/tcp sudo firewall-cmd --reload
# Dovoli HTTPS sudo ufw allow 443/tcp # Iz določenega omrežja sudo ufw allow from 10.0.0.0/8 to any port 443 proto tcp # Prikaži stanje sudo ufw status verbose # Odstrani pravilo sudo ufw delete allow 443/tcp
# Dovoli HTTPS sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # Samo iz določenega omrežja 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 # Shrani pravila sudo iptables-save > /etc/iptables/rules.v4 # Prikaži pravila sudo iptables -L -n --line-numbers # Odstrani pravilo (po številki) sudo iptables -D INPUT 3
# Ustvari Security Group aws ec2 create-security-group \ --group-name gateway-sg \ --description "Data Gateway Security Group" \ --vpc-id vpc-12345678 # HTTPS od vsepovsod aws ec2 authorize-security-group-ingress \ --group-id sg-12345678 \ --protocol tcp \ --port 443 \ --cidr 0.0.0.0/0 # HTTPS samo iz VPN aws ec2 authorize-security-group-ingress \ --group-id sg-12345678 \ --protocol tcp \ --port 443 \ --cidr 10.0.0.0/8
# Ustvari NSG 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'
Alternativa požarnemu zidu: Filtriranje v aplikaciji.
appsettings.json:
{
"Security": {
"AllowedIPs": [
"10.0.0.0/8",
"192.168.0.0/16",
"172.16.0.0/12"
]
}
}
# Lokalno curl https://localhost/health # Iz dovoljenega omrežja curl https://gateway.example.com/health # Od zunaj (mora biti blokirano) curl --connect-timeout 5 https://gateway.example.com/health # Pričakovano: Connection refused ali Timeout
| # | Točka preverjanja | V |
| — | ———– | — |
| 1 | Port 443 vhodno dovoljen | |
| 2 | Port 5000 (HTTP) blokiran | |
| 3 | Samo potrebni IP-ji dovoljeni | |
| 4 | Izhodno do baze podatkov dovoljeno | |
| 5 | Testirano od zunaj | |
| 6 | Pravila dokumentirana |
| Težava | Vzrok | Rešitev |
| ——— | ——— | ——– |
Connection refused | Port ni odprt | Dodaj pravilo požarnega zidu |
Connection timeout | Požarni zid blokira | Preveri pravilo/izvorno IP |
| Dostop od vsepovsod | Brez omejitve | Omeji izvorne IP-je |
| Povezava do baze neuspešna | Izhodni promet blokiran | Dodaj izhodno pravilo |
Načelo najmanjših pravic:
« <- Obnova certifikata | -> Pregled operaterja »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Data Gateway Professional