Privacy and cookie policy – the foremind

cookiebot_featured_image-e1526150506967-5304807As the whole GDPR craze has hit my place of employment, I decided to look into an easy method for to add a privacy policy and cookie policy to my WordPress site.

Adding a privacy policy is pretty simple, all you have to do is to create a new page with the policy on it.  Simple right? Well, it turns out that the devil is in the details as normal.  After a few minutes of research, I found a nice site with a template-based policy generator.  The site, Privacy Policy Template, is pretty self-explanatory.  The code for the template is very easy to edit after you generate the code.  This provides a great starting point for sites that need more information, but also a nice final product for blogs like this one that don’t really deal with any user data other than the owner.

The other shoe is a cookie policy.  Towards this end I used the CookieBot service and the accompanying plugin.  It is a paid service if you have a large number of pages, but if you have a site with 100 sub-pages or less then the service is free.  Be aware that for the purposes of billing and scanning, CookieBot treats each post or page as a separate item.  The pricing structure is really quite reasonable given the capabilities of the service.  For example, this site has a total of 121 pages and posts, so they automatically upgraded my account from free to a 30-day free trial.  Until I hit 500 pages/posts, the cost is only $10/month, which in the overall scheme of things is not that bad at all.

cookiebot-300x212-6306414 Screenshot of slide-down panel with default settings.

The initial scan can take as long as 24 hours to be generated, however that all depends on the size of the site being scanned.  The cookie categories and reports are automatically created for you, however you can also customize the panel with custom cookies and categories, as well customizing the CSS to control the look and feel of the panel.  I choose to start out with defaults only.  The image to the right is what my site looks like after the initial report was generated.

I also received a report in the inbox configured for the account with details on what was found in the scan and which cookies were treated as falling into the pre-defined categories.  For example, the scan found two cookies that were designated as necessary for the site to function.  There were also items found in the preferences and statistics categories.

While I don’t really feel that it is necessary for me to even have a privacy policy or cookie consent feature, I have decided to do it anyway simply out of an attitude of prevention, due to the political climate surrounding personal data collection and the like. (Thanks, Mark Zukerberg, as well as your friends at Cambridge Analytica.)

While these two services are by no means the only ones out there, I found them to be the easiest and simplest to implement.

(The featured image is copyright of HarperCollins Publishers)

May 11, 2018 – the foremind

proxmox-logo-150x150-3263166If you have just installed the most recent release of the virtualization platform Proxmox, you might have noticed the that steps to disable the subscription pop-up dialog have changed, well, other than actually purchasing a subscription, I suppose.  I have chosen to not purchase a subscription for the same reason I don’t have one for VMware’s vSphere Hypervisor, I am not running this in a production setting that requires paid support or premium features. The following steps will disable the subscription pop-up.

Backup the javascript file

The pop-up contents, and whether or not are displayed, are controlled by a function in a javascript file.  The first step should always be to make a backup, just in case Murphy rings your doorbell.

[email protected]:~# cd /usr/share/pve-manager/js/ [email protected]:/usr/share/pve-manager/js# cp -p pvemanagerlib.js pvemanagerlib.js_backup

Edit the javascript file

Open the pvemanagerlib.js file in your favorite editor.  If this is a vanilla, unmodified installation, skip to line 850.  If this is not the first time that you have edited the file, search for the first occurrence of the following snippet, which will be in the function that we need to alter:

gettext('No valid subscription')

The text of the check for the function should be altered so that the conditional for the check reads as follows:

before

if (data.status !== 'Active') {

after

if (false) {

Notes

As I stated in the original paragraph, the specifics apply to v. 5.1-3 and that the location of the file has changed from previous versions.  A good way to find the file is to use the locate command, which you will have to install first:

[email protected]:~# apt-get update Ign:1 http://ftp.us.debian.org/debian stretch InRelease Get:2 http://security.debian.org stretch/updates InRelease [94.3 kB] Get:3 http://ftp.us.debian.org/debian stretch Release [118 kB] Get:4 http://ftp.us.debian.org/debian stretch Release.gpg [2,434 B] Get:5 http://security.debian.org stretch/updates/main amd64 Packages [374 kB] Get:6 http://ftp.us.debian.org/debian stretch/main amd64 Packages [7,122 kB] Get:7 http://security.debian.org stretch/updates/main Translation-en [165 kB] Get:8 http://security.debian.org stretch/updates/contrib amd64 Packages [1,776 B] Get:9 http://security.debian.org stretch/updates/contrib Translation-en [1,759 B]  [email protected]:~# apt-get install mlocate Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: mlocate 0 upgraded, 1 newly installed, 0 to remove and 85 not upgraded. Need to get 96.5 kB of archives. After this operation, 495 kB of additional disk space will be used. Get:1 http://ftp.us.debian.org/debian stretch/main amd64 mlocate amd64 0.26-2 [96.5 kB] Fetched 96.5 kB in 0s (315 kB/s) Selecting previously unselected package mlocate. (Reading database ... 40185 files and directories currently installed.) Preparing to unpack .../mlocate_0.26-2_amd64.deb ... Unpacking mlocate (0.26-2) ... Setting up mlocate (0.26-2) ... update-alternatives: using /usr/bin/mlocate to provide /usr/bin/locate (locate) in auto mode Adding group `mlocate' (GID 115) ... Done. Processing triggers for man-db (2.7.6.1-2) ... [email protected]:~# updatedb [email protected]:~# locate pvemanagerlib.js
/usr/share/pve-manager/js/pvemanagerlib.js
/usr/share/pve-manager/js/pvemanagerlib.js_backup

As you can see the mlocate package makes finding the file so much easier.

ESXi Embedded Host Client Overview – the foremind

As I have begun to see numerous rumors in the VMware forums that the next major release will deprecate the usage of the vSphere thick client (and the simple fact that VMs created using the most recent extensions include features that cannot be managed with the desktop client) I decided to take the plunge and install the HTML5 fling host client on my ESXi host.
The fling can be downloaded from the VMware Labs site. The standard caveat applies to this fling like anything else that you install from VMware Labs:

I also understand that Flings are experimental and should not be run on production systems.

Installation/Removal

There are several ways to install it, but the recommended method is to use the esxcli command from the console of the ESXi host.  Since I have SSH connectivity allowed to my ESXi host, this is the method that I chose.  You can also remove is via the esxcli command from the console as well.

Logging In

After the installation has completed you can access the login screen by visiting the ESXi host welcome page or by appending “/ui” to the end of the FQDN (or IP) of your ESXi host.  If you navigate to the ESXi host welcome page, you will see an additional link “Open the VMware Host Client” that has been added to the screen above the paragraph describing the functionality of VMware vCenter.  vCenter also has a new HTML5 fling, but I as I am running the “free” version of ESXi, I don’t have access to vCenter.

Host Management and Monitoring

The initial view after logging in is of the Host Management functions.  From here you have easy access to create or register VMs, shutdown or restart the host, and additional functions which are in the actions dropdown menu.  As you can see from the following screenshots, the HTML5 interface gives you access to a plethora of management and monitoring screens where you can manage or view the various settings and performance metrics of the ESXi host.

VM Management

The system also gives you complete control of the management and monitoring of the configured virtual machines, of course.  The main VM management screen lists the configured VMs and gives you the ability to create new VMs as well as easy access to the following functions for any VM you select in the list:

  • console
  • power on, power off, suspend

When you select a VM the bottom pane changes to present a summary screen showing a preview of the current console, as well as basic hardware stats on the VM.  When you select a single VM from the list you are also given access to a menu showing the various actions that you can perform on the VM.

Individual VM

When you select a VM from the listing you are presented with a more complete picture of the settings, performance and configuration of the VM.  You are also presented with any notifications regarding the state of the VM (mismatched OS, VMware Tools state, etc.).  You also have the ability to view a series of monitoring graphs similar to what is available for the overall ESXi host.

Storage Management

Selecting Storage from the left column presents a view of the storage subsystem of the ESXi host.  From here you can manage the datastores (the default view), as well as the storage adapters and devices.  Selecting a single item in the datastores list is similar to the way the listing of VMs works, in that you are presented with a summary of the single datastore.  Clicking on the hyperlink to a single datastore opens a view that is specific to the single datastore, confining the information and actions to that datastore.  The monitoring screen for a single datastore is similar to the event listing of the overall system, however it is restricted to events involving only the datastore.

Network Management

The features of the networking subsystem management screen has more in common with the monitoring section of the main ESXi host.  You are presented with a set of tabs from which you can manage the following:

  • port groups
  • vswitches
  • physical and vmkernel NICs
  • TCP/IP stacks
  • firewall rules

Conclusions

While I am most familiar with the “thick” client and the flash-based interface of vCenter, I have found the HTML5 fling replacement for the standalone client to be quite functional.  I am still working on changing the methodology for some functions that I am used to in the standalone client.  I look forward to the improvements to the web client that are on the way.

September 2, 2017 – the foremind

Recently I acquired an EdgeRouter X from Ubiquiti Networks to handle the routing and firewall functions of my home network.  This was prompted by a desire to separate each of my network functions to individual components and to get a better piece of equipment than the run-of-the-mill Comcast rental gear.

After configuring the equiment and updating to the latest firmware, I decided to also configure my network DNS to flow through OpenDNS instead of Comcast DNS.  This also allowed me to configure content filtering so that my grandchildren wouldn’t accidentally get shuffled into some crazy website instead of Disney Junior.

The steps to configure this are not quit as simple as on some other setups.  OpenDNS didn’t have any instructions on this and sent inquiring users to the Ubiquiti Community Forums.  Here is the method that I used:

Step One – Open main system configuration

In the main windows of the web interface for the EdgeRouter X, click on the System button towards the bottom left of the window. This will bring up the main system configuration screen.

Step Two – Configure the System Name Server values

Add the first OpenDNS IP address in the visible field.  Click the Add New button to add a second field, then enter the second OpenDNS IP address into that field.  Scroll down to the bottom of the System settings and click the Save button.

Step Three – Login to the command line interface

In the upper right section of the admin interface, click on the CLI button to open a window to the command line interface (aka cli).  When the window opens, login using the same username and password you use for the web interface (Security Tip: please take the time to change the password from the default…)

Step Four – Update the DNS Fowarding

After logging into the cli, you need to enter the following commands:

configure
set service dns forwarding system
commit
save
exit
exit

What this does is to alter the functionality of the built-in DNS forwarding service to use the system name server values instead of the values from your ISP source (in my case an Arris SB6190 cable modem connected to Comcast).

After you have completed the above steps, then you can easily control the content filtering on your network using the OpenDNS tools.

May 29, 2017 – the foremind

Lately I have been dipping my toe into the pool of home automation and smarthome technologies.  While I have been interested in having a smarthome ever since I watched my first few episodes of the SyFy channel show Eureka.  My interest was advanced even more by Google I/O 2016 and the demo of Google Assistant.

So a few months ago I ventured into this new world of technology (new for me at least) cautiously by purchasing a pair of the LIFX White 800 smart bulbs that were on sale at Walmart due to the release of the LIFX Generation 3 A19.

I found that the Android app was very easy to configure, and that I could easily add the light bulbs to multiple Android devices.  I was disappointed to find that they were not immediately compatible Siri on my wife’s iPhone due to the lack of a suitable homekit bridge/hub.  This was remedied easily enough by configuring the open-source NodeJS server homebridge and a plugin (homebridge-lifx-lan or homebridge-lifx)  to connect the light bulbs to the Apple Home application.

Adding the lightbulbs to the LIFX app on my Pixel was fairly straight forward and went off without a hitch.

I have found the light bulbs easy enough to manage.  The hue range and brightness are quite suitable for the application, namely the nightstand lights in the master bedroom and I would definitely recommend these to anyone that doesn’t have a need for more than just white led light bulbs.

comcast – the foremind

January 8, 2017October 4, 2015 by Andrew Fore

Editorial Note: Apparently Comcast really would prefer that people not use the term data cap when referring to the limitations being placed on their customers data usage and would much rather prefer that we use the term data usage plan or data threshold, however, I don’t really care. 🙂

Dear Comcast,

I would like to go on record as saying that you suck.  I recognize that you are a for profit company and that you would like to make a profit on the services that you provide.  I even think that having your company make a profit is a good thing because that enables you to pay your employees so that they can put food on their tables and afford to pay the fees for their children to participate in Little League baseball and other such childhood activities.

Your data usage cap system is bogus.  According to the data available on your own website you have eight (8) different trial markets where you have rolled out data caps since 2012:

  • August 1, 2012: Nashville, Tennessee – 300GB cap
  • October 1, 2012: Tucson, Arizona – 3 tiers (300GB, 350GB, 600GB)
  • August 22, 2013: Fresno, California – Economy Plus option added
  • September 1, 2013: Savannah, Georgia; Central Kentucky; Jackson, Mississippi – 300GB
  • October 1, 2013: Mobile, Alabama; Knoxville, Tennessee.
  • November 1, 2013: Huntsville, Alabama; Augusta, Georgia; Tupelo, Mississippi; Charleston, South Carolina; Memphis, Tennessee – 300GB cap
  • December 1, 2013: Atlanta, Georgia; Maine – 300GB cap
  • October 1, 2015: Fort Lauderdale, the Keys and Miami, Florida – 300GB cap plus $30 option for increasing to  unlimited

In fact, your page on this even refers to these as “trial start dates” which to a reasonably minded person would imply that they have an end date as well, however to the best of my knowledge (as well as the comments made by a customer support representative) there is no plan to end these trials OR any plan to actually collapse them into a single cohesive plan that applies to your entire service.

Read moreDear Comcast: You Suck

Categories Uncategorized Tags comcast, General, Personal, Uncategorized, usage cap 2 Comments

Andrew Fore – Page 3 – the foremind

plex_firewalld-6988582I recently rebuilt my Plex Media Server box as a CentOS 7 VM running on Hyper-V on a Windows Server 2012 setup.

When I installed the rpm and started the service I found that I was unable to load the interface on my desktop. I knew that it was running because I installed netstat and I was able to see the port was open for traffic and I was also able to load the interface locally in lynx on the server.

Read moreCreating a firewalld service for Plex Media Server

As the new year broke upon us just over two weeks ago, I found myself wondering what resolutions I should make to improve myself during the next twelve months.  In the past I have made resolutions about inconsequential things like reading more books or taking more photos.  I even tried to participate in a photo a day and managed to make it through two months before giving up.

Read moreStarting anew in 2015 – a resolution

Security – the foremind

January 8, 2017August 28, 2016 by Andrew Fore password-7912552

As part of the rebuild on my Plex Media Server using CentOS 7, I had intended to configure Google Authenticator but hadn’t gotten around to doing it yet.  As I got into the process recently I discovered that many of the steps that I had used when configuring my CentOS 6 Digital Ocean droplet were out of date to the point of uselessness.

I also discovered that most of the guides that I found either relied on the older 1.0 code release which was also outdated or used a unknown RPM repo.  As such I decided to write up the process that I followed to use the code downloaded from the official GitHub repository.

NOTE: If you are doing this in an enterprise setting, it is likely that your company has particular settings and restrictions that you may need to adhere to (e.g., not running things as the root user). Also, please note that all of my examples use the CentOS defaults unless specifically noted.

Read moreConfigure Google Authenticator on CentOS 7

Categories Uncategorized Tags 2FA, CentOS, Google, Security, Tips n Tricks, Uncategorized Leave a comment January 8, 2017March 18, 2015 by Andrew Fore password-7912552

In many cases your enterprise Active Directory will not involve too many domains, in fact it is quite common for an Active Directory implementation to only include one domain.  In some cases, however, when you have the unfortunate situation of having a username in multliple domains with differing policies on password expiration it is useful to be able to know when your password, or that of another user will expire.  Here is an easy way to accomplish this from the command line.

For the current active user

[code language=”bash”] net user /domain

[/code]

For a different user

[code language=”bash”] net user /domain _username_here_

[/code]

Here is an example of the output:

[code language=”bash”] User name afore Full Name Andrew Fore Comment User’s comment Country code 000 (System Default) Account active Yes

Account expires Never

Password last set 1/29/2015 4:38:37 PM Password expires 4/29/2015 4:38:37 PM Password changeable 1/29/2015 4:38:37 PM Password required Yes

User may change password Yes

Workstations allowed All Logon script User profile Home directory

Last logon 3/18/2015 3:27:55 PM

Logon hours allowed All

Local Group Memberships Global Group memberships *VMWare Admins *Domain Users *Staff

[/code]

If you notice there is a lot of useful information regarding the user account here, but of particular interest in my situation was the value of Password expires since I was trying to ensure that I got my password reset prior to the policy setting so that I would not find myself locked out over the weekend that I went on call when the Helpdesk would be closed.

Categories Uncategorized Tags Security, Uncategorized, Windows Leave a comment

Switch your domain registrar to Hover – the foremind

6722541653_98d7b2b922_m-6679546There is an adage that you should vote with your wallet when you are unhappy with a particular business or their practices.  Do we do this as much as we should?  Probably not.

Taking this to heart,  I have decided that I will try to apply this to the usage of my electronics and gadget stuff.  So the first thing I chose to do was to switch my domain registration from using NameCheap to using Hover.  There were several usage reasons, like support for the TOTP/HOTP system for two-factor authentication instead of relying on SMS messages.

But there are some other reasons, like the support for causes that I feel are worthwhile.  Here are just a few that Hover is a patron of:

  • She++
  • Ladies Learning Code
  • Revision Path

So if you own a domain or two, or you work somewhere that does, think about switching your registration to Hover and help support not only your account’s security but also some great organizations.

Gratuitous Recommendation Link: https://hover.com/Ems0HmPv

Full disclosure: I work at Web.com and they are the parent company of Register.com and Networksolutions.com, two really large domain registration companies, but I still prefer Hover.

Proxmox Package Repositories for non-subscription installs – the foremind

proxmox-logo-150x150-5328710If you ran across my previous post about disabling the Proxmox no subscription pop-up, you might also be wondering why you get an alert on the console regarding the scheduled update job.  The reason that this shows up is that the apt-get update job returns an error code for one of the Proxmox Enterprise repos.

The fix is relatively simple, just reconfigure your sources.list.d contents to not have the pve-enterprise repo, but instead to have the pve-no-subscription repos enabled instead.  The wiki has a nice article on the various package repos used for Proxmox.

Please note that the entry for the pve-no-subscription repo merges the sources.list and the sources.list.d file into one.