Check Point Firewall NAT - CLI

Mivel sokan kerestek meg a közelmúltban hogy commandlineból szeretnének NATokat kreálni a Check Point tűzfalon, akár scriptből (Manual Static NAT), ezért gondoltam megosztom az egyik elegáns módját, hátha valakit érdekel errefelé is. Eléggé trükkös hiszen a hivatalos CP doksiban nemírták le hogyan kell a Translated Field-et normálisan beállitani.

Először is lépjünk be a DBEDIT-be.

dbedit -s ip -u user ahol az ip a SmartCenter ill CMA server IP cime user pedig a felhasználó read-write jogokkal , előtte nemárt megnézni hogy lockolva van-e az adatbázis, mivel írni fogunk bele
# cpstat mg

feltételezzük hogy a NAT ruleokban felhasznált host/network objectek már léteznek az adatbázisban, ha esetleg importálunk másik tűzfalakról pl, akkor ezeket az objecteket létre kell hozni előtte, vagy itt DBedit-ben vagy a GUI-ban.

Tegyük fel hogy a 192.168.100.1 Source IP-ről jövő forgalmat szeretnénk Natolni 10.1.100.1 -re
Felhasznált objectek: Host_1 ( 192.168.100.1 ) Host_1_Nat ( 10.1.100.1 ) illetve tűzfal: My_FW

előszőr is csináljunk egy blank rule-t:
dbedit> addelement fw_policies ##policy_neve rule_adtr address_translation_rule

adhatunk hozzá kommentet:
dbedit> modify fw_policies ##policy_neve rule_adtr:[0]:comments 'NAT HOST1'

Kis kitérő: a [0] hivatkozás a rule sorszámára való hivatkozás, ha sose volt még NAT ruleod akkor értelemszerűen 0val kezdődik, ha már volt, akkor a GUI-ban látható sorszám -1el kell rá hivatkozni, pl a GUI-ban látható 134-es számú NAT rule-t szeretném modositani, akkor [133] -al kell rá hivatkozni a CLI-ben. fw_policies az a policyket tarolo tablara valo hivatkozas, a ## pedig minden esetben kell a policy neve ele. a ruleok a policy rule_adtr nevu containereben vannak tarolva.

alapból az újonnan kreált NAT rule disabled statusba kerül, ezért használjuk a következő parancsot az aktiváláshoz.
dbedit> modify fw_policies ##policy_neve rule_adtr:[0]:disabled false

original source hozzáadás:
dbedit> addelement fw_policies ##policy_neve rule_adtr:[0]:src_adtr network_objects:Host_1

destination any:
dbedit> addelement fw_policies ##policy_neve rule_adtr:[0]:dst_adtr globals:Any

service any:
dbedit> addelement fw_policies ##policy_neve rule_adtr:[0]:services_adtr globals:Any

install on parameter (vagyis hogy mely gatewayekre lehet installani a policy kereteben, installalaskor obegat ha mashova akarnank installalni)
dbedit> addelement fw_policies ##policy_neve rule_adtr:[0]:install network_objects:My_FW

ha barhova akarjunk akkor: ...:install globals:Any

és most jön a nehezítés:

letre kell hozni egy statikus objectet amihez hozzakell adnunk egy masik objectet , jelen esetben a translated SOURCE-t amit maga a rule leklonoz utana a sajat objectjebe, trukkos, hivjuk ezert jollyjoker-nek

dbedit> create translate_static jollyjoker

adjunk neki egy objectet:
dbedit> modify owned jollyjoker '' network_objects:Host_1_NAT

adjuk at az objectet a policynek:
dbedit> add_owned_remove_name fw_policies ##policy_neve rule_adtr:[0]:src_adtr_translated owned:jollyjoker

torolhetjuk ezutan mar nemkell
dbedit> delete owned jollyjoker

de ezzel a rule meg nincs kesz! hisz bekell allitanunk a translated destinationt meg servicet, mivel jelen esetben ezeket nemvaltoztatjuk meg ezert Any-t fogunk hasznalni ( vagyis marad original )

destination:
dbedit> create translate_static jollyjoker
dbedit> modify owned jollyjoker '' globals:Any
dbedit> add_owned_remove_name fw_policies ##policy_neve rule_adtr:[0]:dst_adtr_translated owned:jollyjoker
dbedit> delete owned jollyjoker

service:
dbedit> create service_translate jollyjoker
dbedit> modify owned jollyjoker '' globals:Any
dbedit> add_owned_remove_name fw_policies ##policy_neve rule_adtr:[0]:services_adtr_translated owned:jollyjoker
dbedit> delete owned jollyjoker

keszen is vagyunk, egy iranyba, egy sima source natolassal, ha van ra igeny akkor irok tovabbi magyarazatot vagy megmutatom a tobbi iranyt illetve destination natot, bar innen nem nehez kilogikazni.

jo natolast!!

Hozzászólások