eZ Publish currently always sends out session to a user even if he isn't logged in (because he can still have access to posting comments and so on).
This and other things are being looked at for better support for varnish and similar solutions. But in the mean time you'll have to force cache of certain parts of your web page that are for anonymous users.
The normal way to solve this is to have several siteaccesses, one thats being cached, one for logged in users, and one for admin interface.