About timestamps :
This should be done by a trigger because if you do it on the client side you would probably use the system date (which might be inconsistent).
About LastModifiedBy :
You could override the OnValidateEntityBeforeSave method of your Entity to set the "LastModifiedBy" field to its value but you have to find a way to communicate that value to your data access layer (for example by creating a CurrentConfig class with a "CurrentUser" static field).
If you don't want to do that, then you'll have to set the fields manually before calling Save() in your business layer.
If you choose the "OnValidateEntityBeforeSave" way but don't want to write specific code for each entity, you can use an external validator base class.