Zidane, who has retired as a player, was fined 7,500 Swiss francs ($6,014) and handed a three-match ban by FIFA's Disciplinary Committee following his red card for head-butting Materazzi. As he is no longer a player, he has agreed to undertake three days of community service on FIFA's behalf instead.
The Italian defender, who has admitted insulting Zidane, provoking the Frenchman's head-butt, was handed a two-match ban and fined 5,000 Swiss francs ($4,010).
The bans apply to international competitive matches, even though it is a symbolic ban for Zidane who has confirmed he has no intention of reversing his decision to quit the game.
FIFA said in a statement: "Zinedine Zidane has also agreed to do community service work with children and youngsters. As Zidane has now retired from international football, the committee took note of Zidane's pledge to do three days of community service work with children and youngsters as part of FIFA's humanitarian activities.
"In their statements, both players stressed that Materazzi's comments had been defamatory but not of a racist nature.
"During the course of their hearings both players also apologised to FIFA for their inappropriate behaviour and expressed their regret at the incident."
Zidane head-butted Materazzi in the chest during the closing stages of the July 9 final in Berlin, which Italy subsequently won on penalties.
France happy with Zidane's apology
Special: Why, Zidane? Why?
Zidane says he acted to defend mother's honour
Materazzi denies speaking of Zidane's mother
Zidane's head-butt inspires summer song