Varnish by default will cache as much as possible - to the TTL (Time To Live) it was set when it's daemon was started.
If your index.php doesn't send Cache-Control headers, varnish will try to cache it, unless that page sends (or recieves) a cookie from the user.
You can control exactly what varnish is doing (to an extremely fine degree) using Varnish Control Language; normally putting things in 'vcl_recv' and 'vcl_fetch'.
The varnish wiki is very good, have a look at the config examples. Also, you can find tonns of stuff by googling it!
https://www.varnish-cache.org/trac/wiki/VCL
https://www.varnish-cache.org/trac/wiki/VCLExamples