Irrespective of what was said, Zidane was wrong to do what he did. He should be punished, and since he's retired then I guess it has to be a monetary fine.
However, if the provocation was racist then Materazzi should be severely punished. Personally, I'd fine him and take his World Cup winner's medal away. If it wasn't racist (and I've heard from some sources that it was an insult directed towards Zizou's mother) then Materazzi shouldn't be reprimanded too much. A little trash-talking is par for the course. Players like Zidane should be able to handle that.