Teooria 3: Tulemüür käsureal¶
Miks käsurida?¶
Hiirega on ühte reeglit lihtne teha. Käsureal on eelised siis, kui:
- sama reegel on vaja teha mitmes arvutis (kopeerid käsu, mitte ei klõpsa 20 korda)
- tahad reegli üles kirjutada: käsk on ühtlasi dokumentatsioon, mida teine inimene saab korrata
- haldad arvutit eemalt või serverit, millel pole graafilist liidest (Server Core)
- tahad kiiresti näha, millised reeglid on olemas, ilma loendeid kerimata
Tunnis 6 näed, kuidas samad käsud lähevad automaatsesse paigaldusse.
Käsud¶
| Käsk | Mida teeb | Näide |
|---|---|---|
Get-NetFirewallRule |
Näitab reegleid | Get-NetFirewallRule -DisplayName "Lab*" näitab reegleid, mille nimi algab sõnaga Lab |
New-NetFirewallRule |
Loob uue reegli | New-NetFirewallRule -DisplayName "Lab - web" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow |
Set-NetFirewallRule |
Muudab olemasolevat reeglit | Set-NetFirewallRule -DisplayName "Lab - web" -Profile Any |
Disable-NetFirewallRule |
Lülitab reegli välja (reegel jääb alles) | Disable-NetFirewallRule -DisplayName "Lab - web" |
Enable-NetFirewallRule |
Lülitab reegli uuesti sisse | Enable-NetFirewallRule -DisplayName "Lab - web" |
Remove-NetFirewallRule |
Kustutab reegli jäädavalt | Remove-NetFirewallRule -DisplayName "Lab - web" |
Get-NetFirewallProfile |
Näitab profiilide sätteid: kas tulemüür on sees ja mida tehakse ühendusega, millele reeglit pole | Get-NetFirewallProfile -Name Public |
Kontrolli nime enne kustutamist
Remove-NetFirewallRule kustutab kõik reeglid, mis nimele vastavad. Vaata enne käsuga
Get-NetFirewallRule -DisplayName "...", mida see leiab. Kui pole kindel, lülita reegel
hoopis välja.
Reegli osad¶
New-NetFirewallRule parameetrid vastavad osadele, mida nägid hiirega reeglit luues:
| Parameeter | Tähendus | Näide |
|---|---|---|
-DisplayName |
Reegli nimi, mida näed loendis | "Lab - web" |
-Direction |
Suund | Inbound või Outbound |
-Protocol |
Protokoll | TCP, UDP, ICMPv4 |
-LocalPort |
Port selles arvutis (sissetuleva reegli puhul) | 80 |
-RemoteAddress |
Kellelt ühendus võib tulla | 192.168.50.20 või 192.168.50.0/24 |
-Program |
Ainult see programm | "C:\Program Files\App\app.exe" |
-Action |
Tegevus | Allow või Block |
-Profile |
Millises profiilis kehtib | Any, Domain, Private, Public |
Parameetrid, mille jätad ära, tähendavad „kõik”. Näiteks ilma -RemoteAddress-ita on ühendus
lubatud kõigilt aadressidelt.
Näited¶
Luba sissetulev ping kõigis profiilides (-IcmpType 8 on ping-i päring, Echo Request):
New-NetFirewallRule -DisplayName "Lab - ping" -Direction Inbound -Protocol ICMPv4 -IcmpType 8 -Action Allow -Profile Any
Luba veebiserveri port 80, kuid ainult laborivõrgust:
New-NetFirewallRule -DisplayName "Lab - web LabNet" -Direction Inbound -Protocol TCP -LocalPort 80 -RemoteAddress 192.168.50.0/24 -Action Allow -Profile Any
Muuda olemasolevat reeglit: luba ainult ühelt arvutilt:
Vaata oma reegleid tabelina:
Get-NetFirewallRule -DisplayName "Lab*" | Format-Table DisplayName, Enabled, Direction, Action, Profile
Vaata profiilide sätteid:
Pane oma reeglitele ühine eesliide
Windowsis on juba sadu sisseehitatud reegleid. Kui kõigi sinu reeglite nimi algab
sõnaga Lab -, leiad need käsuga Get-NetFirewallRule -DisplayName "Lab*" kohe üles.
Ettevõtetes kasutatakse samal põhjusel firma või projekti nime.
Ära lülita tulemüüri välja
Tulemüüri väljalülitamine (näiteks Set-NetFirewallProfile -Enabled False) „parandab”
kõik ühendusprobleemid, kuid avab arvuti kõigile. Ava ainult see, mida on vaja.
Huvilistele: vana tööriist netsh
Enne PowerShelli käske hallati tulemüüri käsuga netsh advfirewall. See töötab ka CMD-s
ja seda näed vanemates juhendites:
Uutes skriptides kasuta PowerShelli käske.
➜ Edasi: Praktiline 3