Email Lists

I host an email list for a group of friends and addresses that are not on the list are sending spam messages to the list.

How do I prevent those who have not subscribed from posting to the list? Would also want to have it set up that moderator approves all new list members.