Para bloquear todo o acesso da web a esses diretórios, em cada um deles basta soltar um arquivo .htaccess com a seguinte linha:
-
Apache 2.4.x:
Require all denied
-
Apache 2.2.x:
Order deny,allow Deny from all
Isso tudo obviamente pressupõe que você tenha AllowOverride
configurado para que arquivos .htaccess possam ser usados. Se não, então você pode colocar essas linhas na entrada virtualhost na configuração global envolto em algo como isto:
<Directory "/var/www/website/secrets">
...whichever entry from above here....
</Directory>
Além disso, desde que seus crons invoquem os scripts diretamente (com o binário PHP) e não estejam fazendo coisas bobas como curl ou wget de volta para si mesmos, então essas entradas .htaccess não terão nenhum efeito nelas, pois somente afeta o tráfego baseado na Web (coisas que passam pelo Apache).
Eu também recomendaria dar uma leitura à documentação do Apache sobre este assunto - ela realmente é bastante informativa e útil: