I have Beretta Black Onyx and it has a little bit of rust on action and barrels. What is the best way to treat this without hurting the finish?

Also there are some scratches on the stock. Is there any kind of oil or finish that will match to the original finish?