Both друг and человек can refer to someone of either gender, but without context, it will be assumed that they refer to a male.

In fact, it's exactly the same as in English - "She's a good women." means she's good on account of her feminine qualities
"He's a good man." - he's good because of some masculine qualities.
"He/She's a good person" - he/she is simply good in a way that is not gender specific.

The third sentence will use человек in Russian. However, in general, if you use the word человек, it would be assumed that you mean a male person, unless the context was obviously referring to people in general or to a female.

For example: В комнату зашел человек. - people would assume that a man entered the room.

подруга means friend when a girl is speaking about another girl, but if a boy is speaking, it means his girlfriend (i.e., that they are in a romantic relationship). If a male is speaking about a female who is just a friend you can use друг or знакомая. If you want to say "She's not just my wife, but she's my best friend too," then you would also say друг.