A ferry with more than 350 people on board sank early Monday near an island in the southern Philippines, killing at least 18 people.