Assume that there's lead in the paint and use a shop vac along with a scraper to remove any loose or flaking paint. Basically hold the end of the vacuum hose up against the scraper and catch any flakes before they hit the ground.

Repaint the posts with **a coat of primer** (especially the bare wood areas) to ensure good adhesion and even coverage. ([Zissner makes good primers][1] for use in this situation.) Then apply **a couple coats of a good exterior grade latex/acrylic paint**. To cover only three posts you might be able to get it done with buying quarts of each paint. This approach should last many years.

**Milk paint or tung oil is not appropriate at all in this context.** Tung oil wouldn't be used on painted surfaces and would likely inhibit proper adhesion applied under paint. I'm not sure milk paint would stand up to weather particularly well when applied over existing paint or oils.


  [1]: https://www.rustoleum.com/product-catalog/consumer-brands/zinsser-products/multi-purpose-water-base-primer/bulls-eye-1-2-3-water-base-primer