There are many free and premium plugins to do that. The most promising one I found is http://premium.wpmudev.org/project/membership/ . They have a free version as well to try out http://wordpress.org/plugins/membership/ .
There are few free popular plugins as well
But I haven’t used any of these and can’t be sure which is the best one. Please try it out yourself and see which one fits your needs. Thanks.