CheckPoint NGX

Aus Doku-Wiki
Wechseln zu: Navigation, Suche

Links

Doku

ChechPoint NGX R70 unter Secure SecurePlatform installieren

SecurePlatform

Installation

  1. CD Starten
  2. Falls nötig Treiber hinzu fügen
  3. Auswahl der Produkte
  4. Auswahl der Version (SecurePlatform reicht, wird sowieso über die Lizenz bestimmt)
  5. Tastatur-Type einstellen (Sprache)
  6. Netzwerk konfigurieren
  7. Webconsole aktivieren
  8. Formatieren der Festplatte
  9. Installation von SecurePlatform ist beendet,der Server wir neu gestartet

Konfiguration

  • Das erste Login erfolgt mit diesen Anmeldedaten:
Benutzer:   admin
Passwort:   admin
  • Passwort ändern
  • Dann kann deer Benutzername "admin" geändert werden. Wer das nicht möchtre, gibt nichts ein und drückt "Return"
  • Mit dem Befehl "expert" kann man auf eine Root-Shell wechseln
expert
  • Das Passwort ist das selbe, wie wir beim "admin" vergeben haben.
  • Um nicht jedesmal in den Expert-Modus wechsel zu müssen, kann man dem Benutzer "admin" auch eine Shell zuweisen.
vipw
admin:x:0:0::/home/admin:/bin/cpshell ändern in
admin:x:0:0::/home/admin:/bin/bash
  • Dann noch ganz abmelden und als admin neu anmelden.
  • Ein wechsel mit "/bin/cpshell" bringt einen in Splat-Shell zurück
/bin/cpshell
  • Die Konfiguration des Systems und die Installation der CheckPoint Software wird mit "sysconfig" gestartet.
  • Die einzelnen Menüs sind nun gut beschrieben, so das ich mir das spare.

Updates und Patches

ACHTUNG: Es ist sinnvoll, vor Änderungen am System ein Snapshot, backup oder upgrade_export auszuführen

CD-Updates

  • CD-Updates werden mit folgendem Befehl gestartet:
# mount /mnt/cdrom
# patch add cd

Patches installieren

  • Pacthes auf die Festplatte kopieren, dann in das Verzeichnis wechseln und folgenden Befehl ausführen:
# :/unixInstall
R70.40

Update-Pfad ab R70 aufwärts To install R70.40 using the CLI: Upgrading to R70.40 from R70 or Higher

Start the installation routine:

Important Before installing on Provider-1, run:

  mdsenv
  mdsstop

Installation

  ./UnixInstallScript

Netzwerkeinstellungen konfigurieren

sysconfig_network

Mit diesem Befehl können folgende Einstellungen vorgenommen werden:

Network Configuration

------------------------------------------------------------------
1) Host Name            3) Domain Name Servers  5) Routing
2) Domain Name          4) Network Connections
------------------------------------------------------------------
Press "q" for Quit, "p" for Previous, "n" for Next
------------------------------------------------------------------
Your choice:

eth_set

Mit diesem Befehl wird die Netzwerkgeschwindigkeit bzw Autonegotiation konfiguriert. Die Einstellungen werden sofort übernommen und bleiben nach einem Neustart des Servers bestehen:

#-- Zeigt die Optionen an
# eth_set
    Usage: eth_set <interface> [<10h|10f|100h|100f|1000h|1000f|autoneg>]
# eth_set [INTERFACE] [AUTONEG]
#-- Autonegotiation aktivieren
# eth_set eth1 autoneg
#-- Speed fest konfigurieren 100 Mbit/full
# eth_set eth1 100f

ethtool

Mit diesem Befehl können die aktuellen Einstellungen des Netzwerkinterface angezeigt werden. Unter Linux können damit auch Einstellungen vorgenommen werden. Unter SecurePaltform sollte aber der oben genannte Befehl eth_set verwendet werden

# ethtool eth1

    Settings for eth1:
       Supported ports: [ TP ]
       Supported link modes:   10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
                               1000baseT/Full
       Supports auto-negotiation: Yes
       Advertised link modes:  10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
                               1000baseT/Full
       Advertised auto-negotiation: Yes
       Speed: 100Mb/s
       Duplex: Full
       Port: Twisted Pair
       PHYAD: 1
       Transceiver: internal
       Auto-negotiation: on
       Supports Wake-on: d
       Wake-on: d
       Current message level: 0x00000007 (7)
       Link detected: yes

WebUI

Check Point Support Center

  • WebUI aktivieren
webui enable
  • WebUI mit anderem Port aktivieren (default: 443)
webui enable <port_number>
  • WebUI deaktivieren
webui disable

CoreXL

CoreXL verbessert die Auslastung der CPUs wenn mehr als eine CPU im System ist. Mit aktiviertem CoreXL kann aber QoS nicht aktiviert werden. Nun muss man entscheiden, was einem wichtiger ist.

  • disable / enable CoreXL
[Expert@HostName]# cpconfig

Choose 'Configure Check Point CoreXL'

Configuring Configure Check Point CoreXL... 
=========================================== 

CoreXL is currently enabled with N firewall instances. 

(1) Change the number of firewall instances
(2) Disable Check Point CoreXL

(3) Exit
Enter your choice (1-3) :

CheckPoint unter Sun Solaris installieren

CheckPoint NGX auf OS Solaris 9

Voraussetzngen

  • Bei diser Doku wird eine installiertes Solaris 9 voraus gesetzt.
  • Installiert wird die Version CheckPoint NGX (R62)

Vorbereitungen für die Installation

Zusätzliche Solaris 9 Pakete

CheckPoint NGX

Folgende Solaris-Pakete werden für die Installation einer CheckPoint Firewall benötigt:

SUNWadmc	cd 1-2	CP FW 1 
SUNWadmfw	cd 1-2  CP FW 1

SUNWscpu        cd 1-2  CP FW 1 -> |    Abhängigkeiten
                                   |--> SUNWrcmdc      cd 1-2  CP FW 1
                                   |--> SUNWrcmds      cd 1-2  CP FW 1
                                   |--> SUNWtftp       cd 1-2  CP FW 1
                                   |--> SUNWscpr       cd 1-2  CP FW 1

AutoPushing der Netzwerkkarten

  • WICHTIG Anpassung der /etc/system

Wenn der folgende Eintrag nicht der datei /etc/system hinzugefügt wird,
kann es passieren, dass beim Neustart des Systems der Bootvorgang beim starten der Netzwerkarten
mit folgender Meldun hängen bleibt:

"ap: ioctl failed: Out of stream resources" error message during boot. 

"FW-1 has a problem registering an interface configuration command (%x)
- blocked" erro rmessage that causing the boot process to hang.

Cause '

Solaris has only 32 "autopush descriptors", which are shared by Solaris and VPN-1/Firewall-1. 
VPN-1/Firewall-1 consumes one descriptor for each network device driver (i.e. hme, qfe, ce) 
present on the machine. It doesn't matter if there are actually interfaces of this type, 
or how many of them. This is most likely to happen if you have more drivers installed than 
the ones provided by Sun by default.

Lösung
In die Datei /etc/system folgenden Eintrag an Ende anfügen:

set nautopush=64
  • Weiter sollten die Solarispackete der nicht verwendete Netzwerkkarten mittels pkgrm entfernt werden.

Welche Netzwerkarten gibt es:

le
qfe
hme
ge
eri
dmfe
ce
bge

Welche Netzwerkkarten im System eingebau sind, erfährt man,
wenn folgende Befehle ausgeführt werden: (Beispiel "eri")

# find /kernel/drv -name eri            --> Zeigt, ob der Treiber vorhanden ist
# pkgchk -l -p /kernel/drv/sparcv9/eri  --> Zeigt das Solarispacket
# pkgrm SUNWeridx                       --> Löscht das Solarispacket

oder

# pkginfo | grep Ethernet

Härten des Betriebssystems

Dienste stoppen
  • Im Runlevel 2 (/etc/rc2.d)

Folgende Dienste löschen

S71ldap.client
S73nfs.client
S72inetsvc  
S71rpc
Achtung: 
Wenn die Disksuite zur Festplattenspiegelung verwendet wird,
kann der inetd nicht deaktiviert werden. Dann muss man 
sich die Arbeit machen, alle Dienste zu deaktivieren ausser:
Man Page DESCRIPTION
rpc.metad is an rpc(4) daemon (functioning as a server  pro-
cess)  that  is  used  to  manage local copies of metadevice
diskset information. The  rpc.metad  daemon  is  invoked  by
inetd(1M).

S72inetsvc  
100229/1-2      tli     rpc/tcp wait    root    /usr/sbin/rpc.metad
Auch der rpc-Dienst muss dann laufen
S71rpc


  • Im Runlevel 2 (/etc/rc2.d)

Folgende Dienste löschen

noS15nfs.server
noS16boot.server
IP Stack anpassen / Netzwerk
  • Eintrag in die Date /etc/rc2.d/S69inet

Zwischen

/usr/sbin/ndd -set /dev/ip ip_forwarding 0
fi
       ndd -set /dev/ip ip_forward_src_routed 0
       ndd -set /dev/ip ip_forward_directed_broadcasts 0
       ndd -set /dev/ip ip_respond_to_echo_broadcast 0
       ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0
       ndd -set /dev/ip ip_send_redirects 0                    #(do not issue redirects)
       ndd -set /dev/ip ip_ignore_redirect 1                   #(ignore redirects)

und

# Run IPv6 if more than lo0 plumbed for IPv6.
  • Anpassungen für Netzwerkkarten

Sun GigaSwift (ce)
When using Sun GigaSwift (ce) Gigabit Ethernet network interfaces,
force the ce driver to use the 'traditional' STREAMS interface (as opposed
to the GigSwift STREAMS interface). Yields significant improvement in
throughput in: /etc/system:

 ce:ce_put_cfg = 1 

In general, Sun GigaSwift Gigabit interfaces (ce) achieve
significantly better performance (especially with small packets) then
standard Sun Gigabit interfaces (ge). It is therefore advisable to use the
GigaSwift NICs in high-performance environments.

  • Force all LAN network interfaces to maximal speed and full duplex when applicable. '

Disable auto-negotiation.

For hme (also qfe) driver:

ndd -set /dev/hme instance 0 (1, 2, 3 etc)
ndd -set /dev/hme adv_autoneg_cap 0
ndd -set /dev/hme adv_100fdx_cap 1 

repeat the commands above for every instance of the NIC driver

  • Tuning the STREAMS queues for high-throughput VPN-1 gateways

in /etc/system:

 set sq_max_size = 100 (for a Solaris gateway with 256MB RAM) 

Can produce noticeable throughput improvement.

  • Tuning the TCP hiwater parameters for maximal throughput - affects

security servers and logging performance

ndd -set /dev/tcp tcp_xmit_hiwat 65535 # (default 8192)
ndd -set /dev/tcp tcp_recv_hiwat 65535 # (default 8192) 

These values are essentially maximal send and receive buffer sizes.
Small but noticeable HTTP security servers performance improvement.

  • Tuning the TCP Slow Start and TCP queue sizes - affects security servers performance

These changes are also recommended for tuning Solaris for maximal HTTP server
performance when the performance improvement can reach 100%.

In the /etc/system:

 set tcp:tcp_conn_hash_size = 16384 

and in /etc/rc2.d/S69inet:

ndd -set /dev/tcp tcp_slow_start_initial 2 (default 1)
ndd -set /dev/tcp tcp_conn_req_max_q 1024 (default 128)
ndd -set /dev/tcp tcp_conn_req_max_q0 4096 (dafault 1024)
ndd -set /dev/tcp tcp_time_wait_interval 60000 (default 240000) 

Small but noticeable HTTP security server performance improvement.

  • Tune the TCP Selective Acknowledgement (SACK) mechanism

In /etc/rc2.d/S69inet: - turn on for better security servers performance over WAN links

 ndd -set /dev/tcp tcp_sack_permitted 1 

- turn off for better logging performance over LAN links

 ndd -set /dev/tcp tcp_sack_permitted 0
  • Increase the number of open file descriptors - esp. relevant for busy security servers

in /etc/system:

 rlim_fd_max = 16384 - 32768 
(default 1024, should be at least 2 xtcp_conn_req_max) 
  • Change the fsflush behavior for busy Solaris gateways with more then 128MB RAM,

decreases the amount of memory the fsflush scans every time it runs:
in /etc/system:

 set autoup = 120 (default 30) 

As a result, less time will be spent by the OS on flushing the memory
and more on forwarding the packets

Routing

Der Rechner sollte ein funktionsfähiges Routing besitzen.
IP-Forwarding aktiviert (default bei Solaris 9)

  • IP-Forwarding: Status prüfen
# ndd -get /dev/ip ip_forwarding 
1
  • IP-Forwarding einschalten
# ndd -get /dev/ip ip_forwarding 1

Das Ergebnis prüft man, in dem man einen Ping vom internen Netz in das externe Netz absetzt.
Genauso sollte es umgekehrt funktionieren.
Als zweiten Test kann man eine SSH-Verbindung aufbauen.

Wichtig: Nach der Installation sollte das Routing eingeschaltet sein.

Installation

Die Installation der CheckPoint NGX wird unter Solaris mit dem Script UnixInstallScript gestarttet.

#  ./UnixInstallScript

Im folgenden Menü muss die Lizenz angenommen werden. Danach folgt die Auswahl des Produktes:

Check Point Power - for headquarters and branch offices
Check Point UTM - for medium-sized businesses
1 (*) Check Point Power 
2 ( ) Check Point UTM

Beim nächsten Menü kann, falls vorhanden, ein Import-File angegeben werden.

1 (*) New Installation
2 ( ) Installation Using Imported Configuration

Wir wählen hier die Neuinstallation

Als nächstes werden die Module ausgewählt, die installiert werden sollen:

The following products are available in this version
Please select product(s)
1 [*] VPN-1 Power           -->  Firewall-Modul
2 [*] UserAuthority
3 [*] SmartCenter           -->  Management-Modul
4 [ ] Eventia Reporter
5 [ ] Performance Pack
6 [ ] SmartPortal

Wenn das Modul SmartCenter ausgewählt wurde, muss noch angegenben werden,
welche Art von SmartCenter installiert werden soll. Wenn es das erste ist, wird Primergy SmartCenter ausgewählt.

1 (*) Primary SmartCenter
2 ( ) Secondary SmartCenter
3 ( ) Log Server

Bevor die Installation beginnt, erhält man eine Übersicht der Ausgewählten Packete:

You have selected the following products for installation:
* VPN-1 Power and Primary SmartCenter
* UserAuthority Server

Danach beginnt die Installation.

CheckPoint Einstellungen sichern und wiederherstellen

Snapshot

  • snapshot

Diese Befehl erstellt einen Snapshot des aktuellen Firewall-Systems. Wenn das System nicht mehr geht, einfach eine neue SecurePlatform installation durchführen. Dann nicht mit sysconfig die Konfiguration starten, sondern den Snapshot (den man sich regelm#ßig sichert ;-)) in das Verzeichnis /var/CPsnapshot/snapshots kopieren. Der Snapshot wird mit dem Befehl revert eingespielt. Dann noch einen Neustart und glücklich sein.

Snapshot erstellen

  • Achtung, die CheckPoint Module werden angehalten.
# snapshot
[L]  Create new local Snapshot Image

Snapshot wieder herstellen

  • Secure Platform neu installieren, oder bestehendes System auf den Stand des Snapshot zurückführen.
# cp [MyPath/MySnapshot] /var/CPsnapshot/snapshots
# revert
[L]  Revert to local Snapshot Image
  • Snapshot auswählen
[1]  snapshot_xx...tgz
[Q]  Quit
  • Wer will, kann von dem aktuellen System nochmal eine Snapshot erstellen, bevor der Snapshot zurück gesielt wird.
Do you .... before revert (y/n) [y]? n
  • Der Snapshot wird wieder hergestellt. Das System rebootet selbsständig

Backup

Mit Backup werden Systemdaten und CP-Daten gesichert. Die Backup-Files liegen unter /var/CPbackup/backups

Backup erstellen

# backup
Are you sure you want to proceed (y/n) [y]?
 Creating backup package...
 Done

Backup wieder herstellen

# restore
 Choose one of the following:
 ------------------------------------------------------------------
 [L]     Restore local backup package
 [T]     Restore backup package from TFTP server
 [S]     Restore backup package from SCP server
 [V]     Restore backup package from FTP server
 [R]     Remove local backup package
 [Q]     Quit
 ------------------------------------------------------------------
 Youre choice: L

 Choose backup package to restore:
 ------------------------------------------------------------------
 [1]     backup_Firewall.blb-intranet.de_9_11_2009_08_04.tgz
 [Q]     Quit
 ------------------------------------------------------------------
 Your choice: 1

 All information will be restored.
 ------------------------------------------------------------------
 
 Choose one of the following:
 ------------------------------------------------------------------
 [C]     Continue.
 [M]     Modify which information to restore.
 [Q]     Quit.
 ------------------------------------------------------------------
 Your choice: C

upgrade_tools

Die Einstellungen des Regelwerks, Lizenzen und der Konfiguration können mit der Script upgrade_export
gesichert und mit dem Script upgrade_import wiederhergestellt werden.
Diese Scripte befinden sich in folgendem Pfad:

# cd $FWDIR/bin/upgrade_tools

upgrade_export

  • Manueller Export
# cd $FWDIR/bin/upgrade_tools
# ./upgrade_export /var/CPexport/[FILE_NAME]
  • Export-Script zur automatisierten Sicherung
#!/bin/bash
#
# -- Export-Script

BK_PATH=/var/CPexport
DATE=$(/bin/date +%Y%m%d%H%m%S)
FILE_NAME=export_$DATE 

if [ ! -d $BK_PATH ]
then
     echo "Backupverzeichnis - /var/CPexport - wird angelegt"
     mkdir $BK_PATH
fi

if [ -d $FWDIR/bin/upgrade_tools ]
then
    cd $FWDIR/bin/upgrade_tools
    echo "\n" | ./upgrade_export $BK_PATH/$FILE_NAME
fi

upgrade_import

# ./upgrade_import  

Usage: upgrade_import [-d] [-h]  <path>

Where:
<path> - The location of the exported file
-v - Prints the version
-d - Prints debug information
-h - Prints this usage
  • Sichern

Beim sichern wird als Parameter nur der Pfad und Dateiname des Sicherungs-File angegeben

# ./upgrade_export [/PFAD/DATEI.TGZ]

You are required to close all Check Point clients before the Export operation begins.
If the export fails, stop Check Point services and run the upgrade_export command again.
Press ENTER when ready..

 Checking the existence of necessary files...
 Copying files to temp dir...
 Building configuration file...
 Compressing the files...

The export operation finished successfully.

Note: [/PFAD/DATEI.TGZ] contains your Security configuration, it is highly recommended 
to delete it after  completing the process.
  • Wiederherstellen der Sicherung

Beim wiederherstellen wird als Parameter nur der Pfad und Dateiname des Sicherungs-File angegeben

# ./upgrade_import [/PFAD/DATEI.TGZ]

migrate

Migrate [import|export] sollte den Befehelen upgrade_import und upgrade_export vorgezogen werden

migrate export [PATH_TO_FILE]
migrate import [PATH_TO_FILE]

Tools

fwlogsum
fwm logswitch
fwm logexport
cpstat 
- ttcp
   Test von Datentransferrate

Firewall-Regeln entladen

Befehl:

# fw unloadlocal

Checkpoint Logs löschen

This can be easily configured using SmartDashboard. 
1.) If you go into any Check Point firewall or management object, and 
2.) then choose the 'Logs and masters' page, 
3.) you can select how much free diskspace is required, including actions for several other thresholds. 
  • Auf der Console unter "expert"

In das Logverzeichnis wechsel

R76:  cd /var/log/opt/CPsuite-R76/fw1
R77:  cd /var/log/opt/CPsuite-R77/fw1/log/

Die archivierten Logfiles haben beginnen entweder mit einem Datum oder mit dem Firewall Namen und einem Datum:

2015-01-05_000000.log
2015-01-05_000000.logaccount_ptr
2015-01-05_000000.loginitial_ptr
2015-01-05_000000.logptr

oder

HOSRNAME_2015-01-05_000000.log
HOSRNAME_2015-01-05_000000.logaccount_ptr
HOSRNAME_2015-01-05_000000.loginitial_ptr
HOSRNAME_2015-01-05_000000.logptr

Die Dateien können eimfach mit rm gelöscht werden

rm HOSRNAME_2015-01-05*
rm HOSRNAME_2015-01-05*