Multi-Color Rectangles

Consider a 3x3 array of dots.  Color each of the 9 dots, such that any 4 dots at the corners of a rectangle are not all the same color.  Rectangles may be found at any angle.  A 3x3 array has 10 rectangles.  What is the minimum number of colors needed?  For example, in a 2x2 array, with only one rectangle, 2 colors are needed to make the rectangle use more than one color. Source: Original, though I've seen similar before.
Solution
Mail to Ken