ITX8080
General Information
Schedule
Lecture TH 12:00 - 13:30
Practice FR 14:00 - 17:30
Communication
Discussinons will be held at: itx8080 atatat googlegroups.com
Send e-mail to hannesa at-no-spam-please gmail.com for an invitation.
The lecturers can be reached via the course coordinator:
antti.andreimann only-people-please eesti.ee
Points awarded so far
Arnis : 1 point - ab testing solution
Igor : 1 point - wordpress virtualization solution
Kaarel : 1 point - lab 1 report and conclusions
Märt : 3 points - wordpress testing procedure, best wordpress optimization (wp-cache + php-apc), best lab 2 report.
Scenarios
Scenario 1
There is a Wordpress based blog.
The client is worried: How many visitors can they handle before they die.
Establish a baseline: How many page displays per second AT LEAST we can handle. Disruption of the site operation is NOT acceptable.
Minimal budget!
Be as detailed and technical as You possibly can.
Post to the discussion group the following information:
- Detailed description of the simulation of the site. eg. if You're going to virtualize it then how? If You are running it as a process, then how You separate it from the real machine?
- Detailed description of the attack / benchmark tools picked. Where You are going to run them? What tools? How many copies? How you are going to collect the results?!!!
Proposals
Benchmarking:
- AB - Discussed in lecture
- http://tsung.erlang-projects.org - Jérémy
- wget + AB - Arnis
- http://jakarta.apache.org/jmeter/ - Roland, Jérémy
- http://grinder.sourceforge.net/ - Märt
- http://httpd.apache.org/test/flood/ - Hannes
- Normal monitoring software on live server - Urmas
Simulation of the system:
- VirtualBox - Roland, Jérémy
- VMWare ESX - Igor
- VMWare Player - Marina
- Amazon EC2 - Märt
- KVM - Siim
- Original hardware - Hannes
Lab 1
We will need to create two different virtual machines, one is going to be the wordpress server and the 2nd one is the client which is used to attack the server. It's probably easiest to install only one image and then clone it.
Hard disk image cloning is best done with
Linux:
VBoxManage clonehd FirstUbuntu.vdi SecondUbuntu.vdi
Windows:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonehd FirstUbuntu.vdi SecondUbuntu.vdi
After cloning the image create another virtual machine and attach the 2nd disk to that machine. As the result there will be two different virtual machines with two different virtual hard disks.
To be able to connect between the two virtual machines, You need to add an additional network adapter to both hosts. It can be either "Host Only" or "Internal" type.
To enable the new adapters in Ubuntu edit the file: /etc/network/interfaces
Scenario 2
Design a method for evaluating any speedup solutions for the wordpress. A repeatable process to evaluate the claims. Whatever optimizations. The process must be detailed enough so that somebody else can get the same results when applying that. The @other person@ is expected to have IT knowledge sufficient to install and run a Linux desktop. The method must specify the level performance at which the site is considered DEAD. Budget requirements: Low - Dedicated machine + dedicated tester.
Lab 2
- Get Virtual machine disk image and instructions from: http://www.tud.ttu.ee/~anttix/lab2/
NB! DO NOT DOWNLOAD IMAGE FROM THE LINK NOTED IN INSTRUCTIONS PDF, IT WILL BE SLOW - Fix bug in image (see below)
- Measure the effect of these wordpress plugins:
- Devise Your own optimizations for the site
Bug in image: the ip address of the VM is saved in WP database as 192.168.56.3 It is advised tu run the Target VM first and run the "sudo dhclient" command first in Target VM. Then check active IP of target by command "ifconfig". If it is not 192.168.56.3, then situation can be fixed by running: In Target VM: "sudo ifconfig eth2 192.168.56.3" In Client VM: "sudo ifconfig eth2 192.168.56.4"
A note to Windows users
Use this command line to access VBoxManage program
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
Wordpress Admin access
Username: admin Password: QIaTemvskSeM
Note to Ubuntu users
VirtualBox with WiFi Does NOT work properly http://ubuntuforums.org/showthread.php?t=782936
Scenario 3
Your client is worried about some stuff posted on a blog. They ask You to take care of it. They have a throwaway "script kiddie" in a third world country, who will mount the attack so You don't need to worry about hiding the attackers identity.
Devise a way to attack a wordpress (default installation) based site to render it unusable (page view times over 60 seconds).
Attack resources: one PC, a script kiddie, internet connection of 2Mbit/s.
How are we going to evaluate the solutions?
- Easy to use instructions
- The most efficient use of available resources
Defacing will count, IF it works for the latest version of wordpress.
Lab 3
Possible attacks:
- Brute force overload (AB or other benchmark), bang the slowest page possible.
- Connection flood (slowloris)
- SYN Flood (eg. with hping)
- Banging expensive operations (eg. adding big comments)
- etc.
Scenario 4
Develop countermeasures for the attacks simulated in Lab 3.
Limitations:
- No additional hardware
- No reactive measures