At least four people have been killed after Iranian missiles struck Israel's northern city of Haifa, in one of the deadliest attacks since the conflict began.