Monitoring Remote employee activity

As COVID 19 continues to affect the world, I am facing situations where employees are working from home more and more of the time.

That being said, I want to build in some accountability to ensure that remote employees are working the hours that they say they are. I know there is some logging of when an employee is connected to openvpn. I’m looking for a solution that can generate a hourly/daily/weekly/monthly reports, to capture things like:

-In a 24 hour period hoe many consecutive minutes were they logged into the vpn? How many total minutes?
-How much traffic did they generate during that time back and forth from the home to the office connection?
-What websites did they visit
-What kinds of files did they have open or transfer between the local PC and the remote PC?
-Was there remote desktop traffic, and if so how long was remote desktop open during the same periods?
-Capture occasional screenshot of what is on the user’s desktop

I want all of this generating a report, that can be sent to the Administrator, and that employee’s Boss during the time time specified. Essentially I want to see how far the abilities of IPFire can go to duplicate the features of ActivTrack in an open source solution that’s accomplished through scripting and log captures.

Has anyone done anything like this before, or have a solution in place that they would not mind sharing the code / format of it? Can you share best practices for being the administrator for situations like this?


Are you using OpenVPN? It is under “Logs”.

1 Like


apart from technical terms, I strongly recommend to get in touch with your companies’ lawyer and workers’ council before implementing anything that goes into this direction. Depending on the jurisdiction applying to your company and its employees, such a detailed monitoring might be completely illegal or require the approval of the workers’ council, affected employees, or both.

Please do not ignore this warning - it is better to have the legal stuff discussed and approved in writing than doing your boss a favour and get fired and/or sued in the second place for violating laws.

Well, I was asked to supervise the network security of a software doing this at a German company a few years ago (they did this for data leakage prevention, not tracking employees productivity), and turned out to be a legal nightmare even with the explicit approval of the affected people. I’d be surprised to hear this is now easier to do…

To get to technical terms, IPFire can certainly provide some statistics on how long an OpenVPN connection was established, and which amount of traffic was sent and received on it.

Having the web proxy enabled, you are able to log this information on a FQDN-basis. Full URLs are not available if HTTPS is used.

This is out of scope to IPFire.

This might be possible if the remote desktop traffic is distinct from any other network traffic emitted.

Out of scope as well.

Hope to have helped.

Thanks, and best regards,
Peter Müller



I see the area under logs, but on my system I have no entries here, and I have one user currently connected. Does this have to be turned on somewhere first?

Change one of the Days. Maybe from the 13th to the 14th.

I think the Day 13 and Month December = December 13 at 12:00:00. So the current picks (in your above image) are zero seconds long.

Hope this makes sense…

This is on by default.

Now the discussion becomes more and more technical.
But there are two aspects you should not ignore.

  • The legal aspect, see Peter’s answer.
  • From the employers/employee relation, I did never understand why working time has more relevance over done tasks. With home office this question comes up more and more. You do not employ someone to sit there a certain time of the day, but to do a part of the work of your business.

Hi Michael,

In the OpenVPN Roadwarrior log you showed there are columns for Connected, Disconnected, Duration, Received and Sent.

In my OpenVPN Roadwarrior log I just get the one column which is Total Connection Time and there is just a single line per connection saying the total time the roadwarrior was connected in the time period selected.

How do you get these different columns displayed?

Ignore this question. I just found out that if I select just a single connection then I get the more detailed info that was in your screenshot.