Syrian rebels shelled a campaign rally in support of President Bashar al-Assad re-election in a controversial June 3 poll, killing at least 22 people, a monitoring group said.