Evento basato sull'ora, applicazione console su Windows Server - implicazioni sulla sicurezza

2

Sono un ingegnere del software e ho scritto diverse utilità discrete che vengono eseguite in momenti specifici su Windows Server 2008. In generale, sono applicazioni console, hanno bisogno di accedere a SQL Server, sono configurate per l'accesso sicuro e sono in esecuzione sotto un account di servizio.

I nostri addetti alla sicurezza mi dicono che devo riprogettarli perché non desiderano consentire l'accesso locale agli account del servizio. Suggeriscono di creare servizi Windows che verranno eseguiti dall'account di servizio con accesso affidabile al database.

In qualità di programmatore, eseguire un servizio in attesa di un orario specifico per svolgere un lavoro sembra un anti-pattern ed è più difficile eseguire il debug dei problemi. Ma se è più sicuro, sono felice di esserne dietro - pensieri?

    
posta bigtech 17.07.2013 - 18:00
fonte

2 risposte

3

Se le tue applicazioni vengono eseguite in momenti specifici, devono tenere conto del fatto che possono essere eseguite in momenti in cui nessuno può vederle in esecuzione. Ciò significa che deve avere un sistema di registrazione (ad esempio utilizzando eventi di Windows, o semplicemente scrivendo in alcuni file). Il tuo debug dovrebbe andare in questo modo.

Comunque, anche se scrivere il proprio servizio non è difficile, reinventare la ruota è sempre uno spreco. In questo caso specifico, Windows offre uno programmatore di attività specifico che è perfettamente in grado di avviare le applicazioni (anche script o applicazioni console) a tempi configurabili, a partire da una directory configurabile e in esecuzione con un account configurabile. Inoltre, esiste una politica locale specifica (chiamata "accesso come un lavoro batch") che controlla quale account (s) può essere utilizzato per quello. Questo dovrebbe calmare i tuoi addetti alla sicurezza locale.

(Naturalmente, in molti posti, ci sono persone con più potere che conoscenza, che ti costringono a eseguire capriole elaborate attraverso molti cerchi a causa di qualche paura irrazionale che hanno.Tuttavia l'utilità di pianificazione di Windows è il metodo consigliato da Microsoft per avviare le attività in orari programmabili, potresti dover scrivere il tuo servizio perché altrimenti qualcuno andrà incontro a comportamenti incontrollabili - e sarai avvisato che lo stesso tipo negherà tutto nel caso in cui la perdita di tempo, flessibilità o denaro indotti da questa inutile reingegnerizzazione sono stati notati da qualcuno nella direzione superiore.)

    
risposta data 17.07.2013 - 18:28
fonte
0

È una buona idea non avere i tuoi account di servizio in grado di accedere al computer in modo interattivo poiché potrebbero essere utilizzati in modo improprio se compromessi più facilmente. Un ideale leggermente migliore potrebbe essere quello di eseguire un semplice servizio di pianificazione come utente del servizio che chiamerebbe il tuo strumento da riga di comando. Se la memoria è disponibile, non è l'applicazione della console che richiede l'accesso locale, è lo scheduler che stai utilizzando che tenta di avviare come un altro utente.

Ritengo che l'esecuzione dello scheduler come servizio dovrebbe consentire di evitare l'accesso locale senza dover riscrivere lo strumento, a condizione che non richieda l'interazione con la console utente.

    
risposta data 17.07.2013 - 18:15
fonte