Old shit

Aus xinux.net
Zur Navigation springen Zur Suche springen

Grundkonfiguration

Setzen des Hostnamens

  • lurchiefirewall# config terminal
  • lurchiefirewall(config)# hostname lurchie
lurchie(config)# exit
lurchie#

Setzen der Domain

lurchie# config terminal
lurchie(config)# domain-name salamander.int
lurchie(config)# exit
lurchie# 


Eintellen der Interfaceparameter

  • lurchie# configure terminal
  • lurchie(config)# interface Ethernet0
  • lurchie(config)#nameif outside
  • lurchie(config)#security-level 0
  • lurchie(config)#ip address 192.168.244.99 255.255.255.0
  • lurchie(config)# interface Ethernet1
  • lurchie(config)#nameif inside
  • lurchie(config)#security-level 100
  • lurchie(config)#ip address 172.22.2.1 255.255.255.0
  • lurchie(config)# interface Ethernet2
  • lurchie(config)#nameif dmz
  • lurchie(config)#security-level 50
  • lurchie(config)#ip address 172.21.1.1 255.255.255.0


===Setzen der statischen Routen (Letzter Wert immer auf 1 setzen)

  • lurchie# configure terminal
  • lurchie(config)# route outside 0.0.0.0 0.0.0.0 192.168.240.100 1
  • lurchie(config)# exit
  • lurchie#

Setzen des Passwortes

  • lurchie# configure terminal
  • lurchie(config)# passwd suxer

Setzen des Enable Passwortes

  • lurchie(config)# enable password sysadm


Speichern der Konfiguration

lurchie#  copy running-config startup-config
Building configuration...
Cryptochecksum: 9df95ad7 96b3e2da 9412b1d1 413e62c7 
[OK]
lurchie# 

Warmstart des Sytems

lurchie# reload
Proceed with reload? [confirm]

SSH konfigurieren

RSA Key erzeugen

  • lurchie(config)# crypto key generate rsa general-keys modulus 2048
WARNING: You have a RSA keypair already defined named <Default-RSA-Key>. 
Do you really want to replace them? [yes/no]: yes
Keypair generation process begin. Please wait...


RSA Key anzeigen

  • lurchie(config)# show crypto key mypubkey rsa


SSH freischalten

  • lurchie# configure terminal
  • lurchie(config)# ssh 172.22.2.0 255.255.255.0 inside
  • lurchie(config)# ssh 0.0.0.0 0.0.0.0 outside
  • lurchie(config)# exit
  • lurchie#

SSH Timeout auf 10 Minuten einstellen

  • lurchie# configure terminal
  • lurchie(config)# ssh timeout 10
  • lurchie(config)# exit
  • lurchie# write memory
Building configuration...
Cryptochecksum: cfeec014 8030f823 db7c17eb e8aa79be 
[OK]
lurchie#

Nun kann der User*lurchie mit dem Passwort suxer per SSH zugreifen weitere User werden folgendermaßen für SSH eingerichtet

AAA für SSH einrichten

  • lurchie# configure terminal
  • lurchie(config)# aaa-server LOCAL protocol local
  • lurchie(config)# aaa authentication ssh console LOCAL
  • lurchie(config)# exit

User für SSH Zugriff anlegen

lurchie# configure terminal 
lurchie(config)# username admin password oimel privilege 15                    
lurchie(config)# exit

Anzeigen der SSH Sessions

  • lurchie# show ssh session
Session ID	Client IP	Version	Encryption	State	Username
    0		192.168.250.1	1.5	3DES		6	admin
    1		192.168.250.1	1.5	3DES		6	pix
    2		192.168.242.1	1.5	3DES		6	pix

Unterbrechen einer SSH Sessions

  • lurchie# configure terminal
  • lurchie(config)# ssh disconnect 2
  • lurchie(config)# exit
  • lurchie#

Systemzeit

Anzeigen der Uhrzeit

  • lurchie# show clock
10:54:36.934 UTC Wed May 13 2009

Einstellung der Zeitzone

  • lurchie# configure terminal
  • lurchie(config)# clock timezone MET +1
  • clock summer-time MEST recurring last Sun Mar 2:00 last Sun Oct 3:00
  • lurchie(config)# exit
  • lurchie#

Einstellen der Default Sommerzeit

  • lurchie# configure terminal
  • lurchie(config)# clock summer-time MET recurring last Sunday March 2:00 last $

+lurchie(config)# exit

lurchie#

Einstellen der Uhrzeit

  • lurchie# configure terminal
  • lurchie(config)# clock set 13:08:50 May 13 2009
  • lurchie(config)# exit
  • lurchie#

Anzeigen der Uhrzeit (detaliert)

  • lurchie# show clock detail
13:09:48.910 MET Wed May 13 2009
Time source is user configuration
Summer time starts 02:00:00 MET Sun Mar 29 2009
Summer time ends 03:00:00 MET Sun Oct 25 2009

Einstellen des NTP Server

lurchie# configure terminal
lurchie(config)# ntp server 195.145.119.188 source outside
lurchie(config)# exit
lurchie#

PAT

Bestimmen welche locale Adressen übersetzt werden

lurchie# configure terminal 
lurchie(config)# nat (inside) 5 172.22.2.0 255.255.255.0    
lurchie(config)# exit
lurchie# 
Erklärung:
nat (interface) id network mask


Anwenden der Übersetzung (global)

lurchie# configure terminal 
lurchie(config)# global (outside) 5 interface            
outside interface address added to PAT pool
lurchie(config)# exit
lurchie#
Erklärung:
global (interface) id keywort
keywort kann eine IP, ein Bereich oder das Schlüsselwort Interface sein.
===ICMP wird nicht automatisch durchgelassen===

Ping freischalten

===Vor der Version 7.0 musste man eine Accessliste kreieren um ein Ping auf dem externen Inferface zuerlauben:===

lurchie# configure terminal 
lurchie(config)# access-list ICMP permit icmp any any echo-reply
lurchie(config)# access-list ICMP permit icmp any any unreachable
lurchie(config)# access-list ICMP permit icmp any any time-exceeded
lurchie(config)# access-group ICMP in interface outside
lurchie(config)# exit
lurchie# 
===Ab der Version 7.0 muss man das "inspect icmp" Kommando benutzen, es ist defaultmäßig abgeschaltet
 
lurchie# configure terminal 
lurchie(config)# policy-map global_policy
lurchie(config)# class inspection_default
lurchie(config)# inspect icmp
lurchie(config)# exit
lurchie# 

Anzeigen der aktuellen NAT Einstellungen

lurchie# show nat 
nat (inside) 5 172.22.2.0 255.255.255.0 0 0

Anzeigen der aktuellen Global Einstellungen

lurchie# show running global
global (outside) 5 interface

Anzeigen der aktuellen NAT Aktivitäten

lurchie# show xlate
2 in use, 22 most used
PAT Global 192.168.250.96(1051) Local 172.22.2.2(43223) 
PAT Global 192.168.250.96(1050) Local 172.22.2.2(43222)

Löschen der aktuellen NAT

lurchie# clear xlate

Object

neuer Befehl global

Accesslisten und Zuordnungen

Bilden von Accesslisten

lurchie# configure terminal 
lurchie(config)# access-list inside-in permit tcp 172.22.2.0 255.255.255.0 any eq ssh 
lurchie(config)# access-list inside-in permit tcp 172.22.2.0 255.255.255.0 any eq www 
lurchie(config)# access-list inside-in permit tcp 172.22.2.0 255.255.255.0 192.168.240.21 255.255.255.255 eq domain 
lurchie(config)# access-list inside-in permit udp 172.22.2.0 255.255.255.0 192.168.240.21 255.255.255.255 eq domain 
lurchie(config)# exit
lurchie#
Erklärung:

access-list acl-name  permit|deny  proto  quellnetz quellnetzmaske zielnetz zielnetzmaske op port

access-list           	Schlüsselwort das eine Accessliste einleitet
acl-name		Name der Accessliste
protokoll		Das Protokoll  tcp udp icmp ..... 
quellnetz		Quellnetz erstes Paket
quellnetzmaske  	Quellnetzmaske erstes Paket  
zielnetz		Zielnetz erstes Paket
zielnetzmaske		Zielnetzmaske erstes Paket  
op			Operanden  gt lt eq 
port			Zielport des ersten Paketes

Anwenden der Accesslisten auf die Interfaces

lurchie# configure terminal 
lurchie(config)# access-group inside-in in interface inside
lurchie(config)# exit
lurchie#
Erklärung:
access-group acl-name  in interface interface-name
 
access-group 		Schlüsselwort das eine Accessgruppe einleitet
acl-name  		Name der Accesslistedie angewendet wird
in			Richtung
interface 		Schlüsselwort das ein Interface einleitet 
interface-name		Name des Interfaces


Der Static Befehl

===Um von einer Schnittstelle mit niedrigerer Sicherheitsstufe zu einer Schnittstelle mit höherer Sicherheitsstufe Verbindungen 
zuzulassen, muss man eine statische Adressübersetzung konfigurieren. (Selbst dann wenn die Adressen die gleichen sind)=== 
static (dmz,outside) 172.21.1.0 172.21.1.0 netmask 255.255.255.0 0 0
===Die Accesslist muss natürlich auch erstellt werden!===

lurchie# configure terminal
lurchie(config)# access-list outside-in permit tcp  any 172.21.1.2 255.255.255.255 eq 22
lurchie(config)# access-list outside-in permit tcp  any 172.21.1.2 255.255.255.255 eq 80
lurchie(config)# access-list outside-in permit tcp  any 172.21.1.2 255.255.255.255 eq 25
lurchie(config)# access-group outside-in in interface outside
lurchie(config)# access-group outside-in in interface outside 
lurchie(config)# exit
lurchie#

Destination NAT ins LAN

lurchie# configure terminal
lurchie(config)# static (inside, outside) tcp 192.168.250.96 80  172.22.2.2 80 netmask 255.255.255.255 0 0
lurchie(config)# access-list outside-inside permit tcp any host 192.168.250.96 eq www 
lurchie(config)# access-group outside-in in interface outside
lurchie#

Externes Logging

Auf externen Server syslog-ng installieren

apt-get install syslog-ng
touch /var/log/pix.log

/etc/syslog-ng/syslog-ng.conf anpassen

######
# sources 

source s_tcp {
       tcp( ip(172.22.2.2) port(514) max-connections(20) );
       };

source network {
udp();
}; 

destination df_pix { file("/var/log/pix.log"); };

filter f_local4 { facility(local4); };

log {
source(network);
filter(f_local4);
destination(df_pix);
};
(...)

Auf*lurchie logging einschalten

lurchie# configure terminal 
lurchie(config)# logging on
lurchie(config)# logging timestamp
lurchie(config)# logging standby
lurchie(config)# logging facility 20
lurchie(config)# logging trap notifications
lurchie(config)# logging host inside 172.22.2.2 format emblem
lurchie(config)# exit
lurchie#

Site-to-site VPN

Links

Openswan-Site

/etc/ipsec.conf

version 2.0     # conforms to second version of ipsec.conf specification

config setup
       nat_traversal=yes
       nhelpers=0

conn test
       right=192.168.241.90
       rightsubnet=172.23.3.0/24
       left=192.168.250.96
       leftsubnet=172.22.2.0/24
       esp=3des-md5-96
       keyexchange=ike
       authby=secret
       pfs=no
       auto=add

include /etc/ipsec.d/examples/no_oe.conf

/etc/ipsec.secrets

192.168.250.96 192.168.241.90 : PSK "sauhund"


Roadwarrior mit Localhost

crypto ipsec transform-set willset esp-3des esp-sha-hmac
crypto dynamic-map dynmap 10 set transform-set willset
crypto map willmap 10 ipsec-isakmp dynamic dynmap
crypto map willmap client configuration address initiate
crypto map willmap client configuration address respond
crypto map willmap client authentication LOCAL
ip local pool will-pool 192.168.31.1-192.168.31.5 
vpngroup will password oimel
vpngroup will address-pool will-pool
vpngroup will dnsserver 172.22.22.2
access-list no_nat permit ip any 192.168.31.0 255.255.255.248
nat (inside) 0 access-list no_nat
access-list outside_cryptomap_dyn_300 permit ip any  192.168.23.0 255.255.255.248
crypto dynamic-map outside_dyn_map_2 300 match address outside_cryptomap_dyn_300
crypto dynamic-map outside_dyn_map_2 300 set security-association lifetime  seconds 28800 kilobytes 4608000
crypto map willmap interface outside
sysopt connection permit-ipsec
user xinux password suxer

Roadwarrior mit Radius

Radiusserver festlegen

lurchie(config)# name 172.22.2.11 my-radius-server

Radiusprotokoll dem Radiusserver zuordnen

lurchie(config)# aaa-server radius-server protocol radius

Radiusserver über inside interfache mit dem Password my-radius-pass einrichten

lurchie(config)# aaa-server radius-server (inside) host my-radius-server ma-radius-pass timeout 10 


crypto map vpn client authentication my.radius-server

lurchie(config)#crypto map vpn client authentication my-radius-server

vpngruppe gallier setzen

lurchie(config)#vpngroup gallier password suxer

Adresspool gallier-pool setzen

lurchie(config)#ip local pool gallier-pool 192.168.11.1-192.168.11.5 

gallier-pool den gallier zuordnen

lurchie(config)#vpngroup gallier address-pool gallier-pool

dnsserver für gallier

lurchie(config)#vpngroup gallier dns-server 10.10.1.10 10.10.1.11

kein nat für gallier pool

lurchie(config)#access-list no_nat permit ip any  192.168.11.0 255.255.255.248

anwenden von keinem nat

lurchie(config)#nat (inside) 0 access-list no_nat

Acl benennnen

lurchie(config)#access-list outside_cryptomap_dyn_280 permit ip any  192.168.11.0  255.255.255.248 

Acl zuordnen

lurchie(config)#crypto dynamic-map outside_dyn_map_1 280 match address outside_cryptomap_dyn_280

Es wird myset als verbindungsparameter benutzt(siehe oben)

lurchie(config)#crypto dynamic-map outside_dyn_map_1 280 set transform-set myset

Es werden Lifetime und weiter parameter zu geordnet

lurchie(config)#crypto dynamic-map outside_dyn_map_1 280 set security-association lifetime  seconds 28800 kilobytes 4608000

Festlegen des VPN Interfaces

lurchie(config)#crypto map vpn interface outside

IPSEC Aktivieren

lurchie(config)#sysopt connection permit-ipsec

IPSec-Troubleshooting

Anzeigen der Crypto Maps

  • lurchie# show crypto map

Anzeigen der eingerichtet IPSec-SA

  • lurchie(config)# show crypto ipsec sa

Debuggen des Einrichtens der IKE-SA

  • lurchie# debug crypto isakmp

Debuggen des Einrichtens der IPSEC-SA

  • lurchie# debug crypto ipsec

Erzwingen einer Neuaushandlung einer IPSEC-SA

  • lurchie# clear crypto ipsec sa map vpn 10

Sonstiges Troubleshooting

Debugen

debug modus ausschalten

  • lurchie# no debug all

ip packet tracen

  • lurchie# debug packet outside dst 192.168.254.27
  • lurchie# --------- PACKET ---------
-- IP --
192.168.254.27	==>	192.168.250.96

	ver = 0x4	hlen = 0x5	tos = 0x0	tlen = 0x3c
	id = 0x94ee	flags = 0x40	frag off=0x0
	ttl = 0x40	proto=0x6	chksum = 0x2c00

	-- TCP --
		source port = 0x87f7	dest port = 0x50syn 

		seq = 0x87111bd0
		ack = 0x0
		hlen = 0xa		window = 0x16d0
		checksum = 0xfcdd	urg = 0x0
tcp options:   
			0x2	0x4	0x5	0xb4	0x4	0x2	0x8	0xa 
 			0x0	0x1d	0x8f	0x3e	0x0	0x0	0x0	0x0 
			0x1	0x3	0x3	0x7
--------- END OF PACKET ---------

icmp Verkehr tracen

  • lurchie# debug icmp trace
1: ICMP echo-request from outside:192.168.250.1 to 192.168.250.96 ID=4150 seq=177 length=64
2: ICMP echo-request: untranslating outside:192.168.250.96 to dmz:172.21.1.2

Anzeigen der CPU Auslastung

  • lurchie# sh cpu usage
CPU utilization for 5 seconds = 0%; 1 minute: 0%; 5 minutes: 0%

Anzeigen der Prozesse

  • lurchie# sh processes

Leistungsüberwachung

lurchie# show perfmon

PERFMON STATS:    Current      Average
Xlates               0/s          0/s
Connections          0/s          0/s
TCP Conns            0/s          0/s
UDP Conns            0/s          0/s
URL Access           0/s          0/s
URL Server Req       0/s          0/s
TCP Fixup            0/s          0/s
TCPIntercept         0/s          0/s
HTTP Fixup           0/s          0/s
FTP Fixup            0/s          0/s
AAA Authen           0/s          0/s
AAA Author           0/s          0/s
AAA Account          0/s          0/s

Anzeige der Speicherauslastung

lurchie# show memory
Free memory:        15974832 bytes
Used memory:        17579600 bytes
-------------     ----------------
Total memory:       33554432 bytes

Anzeige der Interfacestatistiken

lurchie#  show interface

Verkehr mitschneiden und löschen

lurchie# show traffic
lurchie# clear traffic

Ping

  • lurchie# ping 80.146.204.15
  • lurchie# ping inside 172.22.2.2

Anzeigen der Routen

  • lurchie# show route
       outside 0.0.0.0 0.0.0.0 192.168.240.100 1 OTHER static
       dmz 172.21.1.0 255.255.255.0 172.21.1.1 1 CONNECT static
       inside 172.22.2.0 255.255.255.0 172.22.2.1 1 CONNECT static
       outside 192.168.240.0 255.255.240.0 192.168.250.96 1 CONNECT static

Anzeigen der IP Addressen

lurchie# show ip address
System IP Addresses:
       ip address outside 192.168.250.96 255.255.240.0
       ip address inside 172.22.2.1 255.255.255.0
       ip address dmz 172.21.1.1 255.255.255.0
Current IP Addresses:
       ip address outside 192.168.250.96 255.255.240.0
       ip address inside 172.22.2.1 255.255.255.0
       ip address dmz 172.21.1.1 255.255.255.0

Anzeige der Version

lurchie# show version                                                       

Cisco PIX Firewall Version 6.3(3)
Cisco PIX Device Manager Version 3.0(4) 

Compiled on Wed 13-Aug-03 13:55 by morlee

lurchie up 19 hours 45 mins

Hardware:   PIX-515E, 32 MB RAM, CPU Pentium II 433 MHz
Flash E28F128J3 @ 0x300, 16MB
BIOS Flash AM29F400B @ 0xfffd8000, 32KB

0: ethernet0: address is 0011.93f6.6c4c, irq 10
1: ethernet1: address is 0011.93f6.6c4d, irq 11
2: ethernet2: address is 000e.0c69.d31a, irq 5
Licensed Features:
Failover:                    Disabled
VPN-DES:                     Enabled
VPN-3DES-AES:                Enabled
Maximum Physical Interfaces: 3
Maximum Interfaces:          5
Cut-through Proxy:           Enabled
Guards:                      Enabled
URL-filtering:               Enabled
Inside Hosts:                Unlimited
Throughput:                  Unlimited
IKE peers:                   Unlimited 

This PIX has a Restricted (R) license. 

Serial Number: 808312119 (0x302ddd37)
Running Activation Key: 0x31d8e400 0x1174e8d9 0xb8eb6114 0xd697604d
Configuration last modified by enable_15 at 11:31:41.911 MET Fri May 15 2009

HTTP Interface PIX Device Manager (PDM)

PDM aktivieren

lurchie# configure terminal
lurchie(config)# http server enable 
lurchie(config)# exit
lurchie#

Erlaubter Herkunftsbereich festlegen

lurchie# configure terminal
lurchie(config)# http 192.168.240.0 255.255.240.0 outside
lurchie(config)# exit
lurchie#

Verschiedenes

DHCP Server einrichten

lurchie# configure terminal
lurchie(config)# dhcpd address 172.22.2.69-172.22.2.89 inside  
lurchie(config)# dhcpd enable inside                           
lurchie(config)# dhcpd dns 192.168.240.21
lurchie(config)# exit
lurchie#

Kabelmodem

lurchie# configure terminal
lurchie(config)# ip address outside dhcp setroute
lurchie(config)# exit
lurchie#

DSL PPPoE DHCP

lurchie# configure terminal
lurchie(config)# ip address outside pppoe setroute
lurchie(config)# vpdn group ISP request dialout pppoe
lurchie(config)# vpdn group ISP localname dsl-username
lurchie(config)# vpdn group ISP ppp authentication pap
lurchie(config)# vpdn username dsl-username password dsl-password
lurchie(config)# exit
lurchie#

Capturing von Verkehr

Accessliste erzeugen

lurchie# configure terminal
lurchie(config)# access-list my-acl permit ip host 172.22.2.2 any 
lurchie(config)# access-list my-acl permit ip any host 172.22.2.2

Accessliste my-cap zuordnen, interface festlegen wo gelauscht wird und starten

lurchie(config)#  capture my-cap access-list my-acl buffer 20000 packet-length 200 inteface inside
lurchie(config)# exit
lurchie#

Anzeige auf der Konsole

lurchie# show capture xinux-cap-http
lurchie# show capture my-cap                                                   
132 packets captured
16:24:35.518741 172.22.2.1.514 > 172.22.2.2.514:  udp 165
16:24:37.944927 172.22.2.1.514 > 172.22.2.2.514:  udp 72
16:25:06.135414 192.168.240.21.53 > 172.22.2.2.35243:  udp 125c
16:25:06.135887 172.22.2.2.35493 > 212.58.226.139.80: S 2702734858:2702734858(0) win 5840 <mss 1460,sackOK,timestamp 25935138 0,nop,wscale 6>
.......

Anzeige auf der Webbrowser

https://192.168.250.96/capture/my-cap

Download des Mitschnittes

https://192.168.250.96/capture/my-cap/pcap

Kopieren des Mitschnittes mittels tftp ASCII

lurchie# copy capture:my-cap tftp://192.168.240.1/pix-dir/my-cap

Kopieren des Mitschnittes mittels tftp PCAP

lurchie# copy capture:my-cap tftp://192.168.240.1/pix-dir/my-cap.cap pcap

Anzeige des Verkehrs mit Tcpdump

root@arilon:/var/lib/tftpboot/pix-dir# tcpdump -r my-cap.cap 

Anzeige des Verkehrs mit Wireshark

root@arilon:/var/lib/tftpboot/pix-dir# wireshark  my-cap.cap 

Löschen des Capture Buffers

lurchie(config)# clear capture my-cap

Löschen des Capturing

lurchie(config)# no capture my-cap

Netstat mit der asa

  • lurchie# sh asp table socket


Proto  Socket    Local Address               Foreign Address         State
SSL    00007d7c  172.22.2.1:443              0.0.0.0:*               LISTEN
SSL    0000f6b4  192.168.244.99:443          0.0.0.0:*               LISTEN
TCP    000169d4  192.168.244.99:22           0.0.0.0:*               LISTEN
TCP    0001e82c  172.22.2.1:22               0.0.0.0:*               LISTEN

Password Recovery

Flash Upgrade