Is there a way to disallow the node/* path for anonymous users? The reason of my question is that I have built a one-page website, but if people who knows a bit of drupal patterns wants to try to request the site by editing the url with a path like domain.tld/node/12 (for ex.), they will be redirected to the clean url and it will work, but this behavior is not intended and the theming customized in a way which is not made for direct requests on nodes. 
Apart from the one-page, all the other content is in views and blocks, with a few colorbox links to open one content type in detail. 
What I want to do is find a way to disallow node/* requests in path, just to "keep some control" of the way anonymous users visit the site (and potentially test it). 

I have tested internal nodes which gives a partial answer, but it disallows all node's requests in colorbox. 

I tried path rules but same issue as internal nodes. 

Any idea to help me?
You can give permission to particular node using hook_permission(). 

function your_module_name_permission() {
  return array(
    'access your modulename module' =&gt; array(
      'title' =&gt; t('Access your modulename module'),
      'description' =&gt; t('Allows access to your modulename module'),
      'restrict access' =&gt; TRUE
    ),
  );
}


and then go to permission section under people menu. and uncheck above created permission for anonymous user.