Stai facendo due domande separate qui.
Accesso programmatico. La prima domanda è: per i servizi Web che dovrebbero essere esposti solo ad altri codici interni, come devono essere autenticati i client programmatici? La mia risposta: raccomando di usare SSL con i certificati client.
Ecco come farlo, più in dettaglio. Il cliente deve contattare il servizio tramite un URL https. Ogni client deve essere fornito con il proprio certificato client SSL. Il servizio dovrebbe verificare che il certificato del cliente si trovi su un elenco di clienti autorizzati, oppure controllare che il certificato cliente sia firmato dalla CA interna (a tua scelta).
Inoltre, per una maggiore sicurezza, potresti prendere in considerazione l'esecuzione di tali servizi Web interni su un host separato protetto dal mondo esterno, in modo che nessuno su Internet esterno possa aprire una connessione a tali servizi Web interni.
Accesso umano. La seconda domanda è: per i servizi Web che dovrebbero essere esposti solo agli amministratori di sistema interni, come dovrebbe essere controllato l'accesso? La mia risposta: ci sono diversi approcci.
La risposta più semplice e probabilmente la più pragmatica è impostare un account separato per ciascuno dei tuoi amministratori e utilizzare l'autenticazione basata su password standard per limitare l'accesso a tali account. Genera una password lunga e sicura per ciascun account amministratore e comunica all'amministratore di non condividere la password. Configurare il servizio Web per utilizzare SSL in tutto il sito (accessibile solo tramite https, non via http), per impedire agli aggressori di annusare la password di un amministratore se si connettono tramite una connessione WiFi aperta. In questo approccio, i servizi Web sono ancora in esecuzione su un host connesso a Internet, rivolto verso l'esterno, ma nessuno deve essere in grado di accedere a loro.
Un approccio più sicuro consiste nel mettere tali servizi Web nella rete interna e non collocarli su un host esterno. Firewall via Internet esterno. Se i tuoi amministratori vogliono accedere mentre stanno lavorando in remoto, possono collegarsi alla rete interna tramite VPN. Dovrai comunque creare un account per ogni amministratore del servizio web e generare password complesse e lunghe per gli amministratori.
Per installazioni ad alta sicurezza, esistono altri modi per fornire una sicurezza ancora più strong. Questi meccanismi probabilmente non sono necessari per il servizio web interno medio, ma se ti trovi in un'area particolarmente sensibile alla sicurezza, faccelo sapere e possiamo fornirti ulteriori controlli.