Author Archives: Brian Landers
VCAP-DCA or Bust!
Who Needs Sleep?
Because I clearly don’t ever want to sleep again, I’ve decided to attack the goal of becoming a VCAP-DCA (VMware Certified Advanced Professional – Data Center Administration). I’ll be documenting my progress, along with my study notes and whatever tips I come across.
VCP
A prerequisite for the VCAP-DCA certification is first becoming a VCP on vSphere 4. This requires taking an official VMware training course and passing a standard question/answer-based exam administered by Pearson VUE. Since I do a fair amount of VMware work at $DAYJOB, I’m reasonably far along in my preparation already and just need to fill in the gaps. The study material I’ll be using includes:
- VMware vSphere: Fast Track [V4] course. Already attended earlier this year via online classroom. Will be reviewing the class slides and my own notes.
- Mastering VMware vSphere 4 by Scott Lowe. While not an official certification guide, this book is very well-written and covers all of the major topics on the VCP4 blueprint.
- VCP VMware Certified Professional on vSphere 4 Study Guide from Sybex. Written specifically to cover the exam blueprint, and not (IMHO) as good as Scott’s book, but it never hurts to have a second source.
- Configuration Maximums for VMware vSphere 4.1 (PDF) and ESX/vCenter Server Installation Guide (PDF)- there’s some debate about whether the current VCP exam covers details unique to 4.1, so it’s best not to take chances. It’s all information that’s good to know eventually, anyway.
- Note: VMware has stated on the forums that they are not testing new features from 4.1 (e.g. NIOC and SIOC), but they haven’t come out and explicitly said they’re not updating things like min/max and hardware requirements. They do explicitly say several times “when preparing, use the docs for the latest version.”
VCAP-DCA
This is a 3-4 hour “practical” exam similar in spirit to the CCIE lab, consisting of 40 “live lab activities” (each with multiple tasks) and a brief pre-exam survey. The blueprint is extensive and covers just about anything you’d ever be expected to do in a VMware environment in the real world.
In terms of preparation materials, everything from the above VCP list along with documentation, documentation, and more documentation. Kendrick Coleman has put together an extensive list of links to both VMware and 3rd party materials covering each section of the blueprint. It’s now my browser home page.
The Home Lab
The most important step to becoming a VCAP-DCA is to have extensive hands-on experience with the blueprint topics. For that, you need a lab environment. Fortunately, ESX and ESXi run quite nicely on inexpensive “white box” hardware, and can themselves be virtualized. This allows a quite large lab environment for not a lot of investment. My lab is based heavily on the BabyDragon from Phillip Jaenke and the vTARDIS from Simon Gallagher.
Server #1
- Supermicro X8SIL-F motherboard
- Intel Xeon X3450 Retail (2.53GHz, 4 Cores, 8 Threads)
- Kingston 12gb (3x4gb) DDR3 1066 ECC Registered memory
- WD SiliconEdge Blue 128gb SSD
- WD VelociRaptor 300gb 10,000rpm HD
- Lian-Li V352A MicroATX case
- Seasonic X Series 400W power supply
- VMware ESX 4.1
Update: I ended up getting two of the above servers. Rough cost from NewEgg was about $1,300 each (I already had the VelociRaptors from another project). Could probably have done a little better by shopping around, but with shipping it probably averages out.
Server #2 / Workstation
- Apple iMac 27″
- Intel Core i7 (2.8ghz, 4 cores, 8 Threads)
- 16gb RAM
- WD VelociRaptor 300gb 10,000rpm HD (via Firewire 800)
- VMware Fusion 3.0
Storage
- Iomega (EMC) IX4-200d NAS, 4 x 1TB RAID 5
- EMC Celerra “Uber VSA” virtual NAS, 100gb allocated
- Netapp Simulate ONTAP 8.0 7-Mode virtual filer
Some of the above is still with my friends at UPS on its way from Newegg, so I can’t start playing quite yet. At the moment I’m working on setting up the Celerra VSA and Netapp sim, along with building a Windows 2008 R2 domain controller VM.
More to come!
Cisco ACE: SSL Offload
SSL offload (or SSL termination) is when your load balancer handles SSL connections from clients and then hands off unencrypted connections to the backend servers. This lessens the CPU load on the servers and can dramatically increase application performance, since the load balancer frequently has dedicated hardware to handle the encryption/decryption of traffic.
These are the basic steps to configure SSL offload on the Cisco ACE. This assumes you already have an existing HTTP load balancer configuration. See my Basic Load Balancing post for details.
(option one) Import an existing SSL certificate and private RSA key.
crypto import tftp 192.168.1.100 mykey.pem mykey.pem crypto import tftp 192.168.1.100 mycert.pem mycert.pem
(option two) Generate a new SSL certificate signing request (CSR) and key.
! should NOT be marked "non-exportable" if you're running an HA pair crypto generate key 2048 mykey.pem crypto csr-params MY_PARAMS common-name myservice.example.com country US state Georgia locality Atlanta organization-name My Company organization-unit IT Operations crypto generate csr MY_PARAMS mycsr.pem
Once you receive the signed certificate from your CA, you’ll need to import it.
crypto import sftp 1.1.1.1 mysftpuser /home/user/cert.pem mycert.pem OR crypto import terminal mycert.pem
Create the SSL Proxy service
ssl-proxy service MY_SSL_OFFLOAD key mykey.pem cert mycert.pem !
Create a VIP to handle HTTPS traffic
class-map match-all HTTPS_VIP 2 match virtual-address 10.210.7.10 tcp eq https !
Update your load balancing policy map to apply the SSL service to the new VIP
policy-map multi-match VIPs
class HTTPS_VIP
ssl-proxy MY_SSL_OFFLOAD
sticky-serverfarm HTTP_FARM
!
Maybe sleep now?
CCIE Security — DMVPN Phase 1
Notes
- Tunnel network: 172.16.1.0 / 24
- NBMA network: 8.7.6.0 / 24
- No spoke-to-spoke tunnels in DMVPN Phase 1
Hub
crypto isakmp key 0 cisco address 8.7.6.0 255.255.255.0 ! crypto isakmp policy 100 encryption aes 256 hash sha authentication pre-share ! crypto ipsec transform-set AES256_SHA esp-aes 256 esp-sha-hmac mode transport ! crypto ipsec profile DMVPN set transform-set AES256_SHA ! interface serial0/0 ip address 8.7.6.100 255.255.255.0 ! interface Tunnel100 ip address 172.16.1.100 255.255.255.0 ip nhrp map multicast dynamic ip nhrp network-id 1 tunnel source Serial0/0 tunnel mode gre multipoint tunnel key 1 tunnel protection ipsec profile DMVPN no ip split-horizon eigrp 100 no ip next-hop-self eigrp 100 ! router eigrp 100 network 172.16.1.100 0.0.0.0 no auto-summary !
Spoke
crypto isakmp key 0 cisco address 8.7.6.1 ! crypto isakmp policy 100 encryption aes 256 hash sha authentication pre-share ! crypto ipsec transform-set AES256_SHA esp-aes 256 esp-sha-hmac mode transport ! crypto ipsec profile DMVPN set transform-set AES256_SHA ! interface Serial0/0 ip address 8.7.6.50 255.255.255.0 ! interface Tunnel100 ip address 172.16.1.50 255.255.255.0 ip nhrp map multicast 8.7.6.100 ip nhrp map 172.16.1.100 8.7.6.100 ip nhrp server 172.16.1.100 ip nhrp network-id 1 tunnel source Serial0/0 tunnel destination 8.7.6.100 tunnel key 1 tunnel protection ipsec profile DMVPN ! router eigrp 100 network 172.16.1.50 0.0.0.0 no auto-summary !
CCIE Security Notes — EzVPN with Radius
- Group attributes:
- [006] Service-Type = Outbound
- [064] Tunnel-Type (1) = ESP
- [069] Tunnel-Password = my_group_key
- Need to create an ACS user “GROUP_NAME” with password “cisco” in addition to actual users. Both should be in the group in which you set the above attributes.
- AV-Pairs for EzVPN:
ipsec:tunnel-type=ESP ipsec:key-exchange=IKE ipsec:inacl=MY_SPLIT_ACL ipsec:save-password=1 ipsec:addr-pool=MY_POOL
IOS EzVPN Client with VTI
crypto ipsec client ezvpn EZCLIENT connect manual group REMOTE key cisco mode client peer 1.2.3.4 virtual-interface 2 username cisco password cisco xauth userid mode local ! interface Virtual-Template2 type tunnel ip unnumbered FastEthernet0/1 tunnel mode ipsec ipv4 ! interface Fast0/1 crypto ipsec client ezvpn EZCLIENT outside ! interface Fast0/0 crypto ipsec client ezvpn EZCLIENT inside !
IOS EzVPN Server with RSA Certificates and VTI
- EzVPN clients will get addresses on the 2.0.0.0/24 network
- EzVPN clients will have access to only the 3.0.0.0/24 network
- The server will accept clients with certificates from the CA on host 1.2.3.4
- The server will allow users with OU=EZVPN
aaa new-model aaa authentication login EZ_AUTHEN local aaa authorization network EZ_AUTHOR local ! username cisco password cisco1234 ! clock timezone GMT 0 ntp server 1.2.3.4 ! crypto pki trustpoint CA enrollment url http://1.2.3.4 subject-name ROUTER.example.com revocation-check none ! crypto pki authenticate CA crypto pki enroll CA ! crypto isakmp policy 1 encryption 3DES hash SHA authentication rsa-sig group 2 ! crypto isakmp identity dn ! ip local pool EZ_POOL 2.0.0.1 2.0.0.254 ! ip access-list extended EZ_ROUTES permit 3.0.0.0 0.0.0.255 ! crypto isakmp client configuration group EZVPN pool EZ_POOL acl EZ_ROUTES ! crypto isakmp profile EZ_PROFILE match identity group EZVPN client authentication list EZ_AUTHEN isakmp authorization list EZ_AUTHOR client configuration address respond virtual-template 1 ! crypto ipsec transform-set 3DES_SHA esp-3des esp-sha-hmac ! crypto ipsec profile EZ_IPSEC_PROFILE set transform-set 3DES_SHA set isakmp-profile EZ_PROFILE ! interface Virtual-Template 1 type tunnel ip unnumbered FastEthernet0/1 tunnel mode ipsec ipv4 tunnel protection ipsec profile EZ_IPSEC_PROFILE !
Opsview Slaves and “Host key verification failed”
This is mostly for my own benefit. When setting up a new Opsview slave server, make sure ~nagios/.ssh/known_hosts has an entry for the FQDN of the slave, not just the short name.
Otherwise you’ll spend an hour beating your head against the wall trying to figure out why ssh slavehost date works, but send2slaves -t slavehost doesn’t.
IOS 12.4T: Management-Plane Protection
While working through a CCIE Security practice lab, I came across a task that read (in essence): “Only allow SSH and SNMP access to the router through interface Gig0/1. Do not use an interface or VTY ACL to accomplish this.” A search through the IOS configuration guides and command references was unhelpful, including the last-resort tactic of “go to the Master Index and use Ctrl-F to search for likely keywords.” Finally, I resorted to asking on GroupStudy. Within minutes, the answer came back: use management-plane protection. What on earth is that? To quote Cisco:
The Management Plane Protection (MPP) feature in Cisco IOS software provides the capability to restrict the interfaces on which network management packets are allowed to enter a device. The MPP feature allows a network operator to designate one or more router interfaces as management interfaces. Device management traffic is permitted to enter a device only through these management interfaces. After MPP is enabled, no interfaces except designated management interfaces will accept network management traffic destined to the device.
http://www.cisco.com/en/US/docs/ios/12_4t/12_4t11/htsecmpp.html
This feature was added in 12.4(6)T but only seems to be documented under Feature Guides, not in the main IOS command reference or configuration guides. Gee, thanks Cisco!
A configuration example (based on the practice lab task above):
control-plane host management-interface GigabitEthernet0/1 allow ssh snmp end
When this configuration is applied to the router (assuming SSH has been previously configured), remote SSH and SNMP connections to the router will only be accepted when entering through Gi0/1. This is based on the interface, not on the IP address. SSH and SNMP connections to Gi0/1′s IP address entering through other interfaces will fail. In addition, other management traffic (telnet, etc.) entering through Gi0/1 will also fail. The complete list of what IOS considers management traffic is:
- SSH v1 and v2
- telnet
- HTTP / HTTPS
- FTP
- SNMP (all version)
- TFTP
- BEEP (Blocks Extensible Exchange Protocol)
Note that other traffic destined for the router (such as routing protocols and ARP) are not affected, nor is traffic routed through the management interface. This is different from the management-interface functionality on an ASA, where the designated port can only be used for management traffic.
In summary, it is quite annoying that Cisco doesn’t seem to have actually documented this feature properly, since it has the potential to be a very useful tool in the network administrator’s toolbox. Depending on the network design, enabling MPP makes it less likely that a management protocol becomes accessible on an interface connected to a hostile network, while simplifying interface ACLs needed to properly secure the device.





