Limitar usuarios TS según su ip de origen

28/02/2009 - 11:55 por heze54 | Informe spam
Buenas,


Tengo un servidor TS que vía VPN tiene colectividad con varias redes.

Son 6 los usuarios que se conectan de forma remota, 3 de un rango y 3
del otro.

En la actualidad cualquier usuario se puede conectar desde cualquiera de
los rangos y esto me esta ocasionando problemas bastante serios.

Necesito poder controlar usuario&ip de origen y si cumple, permitir que
se logee en terminal server.

Por ejemplo:

Rango 1 user 1,2,3
Rango 2 user 4,5,6


Si rango 1 y user 4 o 5 o 6 no permitir



Esto lo puedo hacer con IAS?


Un saludo

Preguntas similare

Leer las respuestas

#1 Jose Antonio Quílez [MS MVP]
28/02/2009 - 14:58 | Informe spam
Con el siguiente código en un script de inicio de sesión puedes obtener la
ip de la máquina en la que ha iniciado sesión el usuario:

for /f "tokens=1,2* delims=:" %%i in (' ipconfig ^| find "IP" ') do set
dirip=%%j

set dirip=%dirip:~1%

Ahora con esa variable dirip y la variable Username, tan sólo tienes que
comparar en ese script y de no cumplir la regla que pongas forzar el cierre
de sesión en el mismo.


Saludos
José Antonio Quílez
http://msmvps.com/blogs/quilez/



"heze54" escribió en el mensaje de
noticias:#
Buenas,


Tengo un servidor TS que vía VPN tiene colectividad con varias redes.

Son 6 los usuarios que se conectan de forma remota, 3 de un rango y 3 del
otro.

En la actualidad cualquier usuario se puede conectar desde cualquiera de
los rangos y esto me esta ocasionando problemas bastante serios.

Necesito poder controlar usuario&ip de origen y si cumple, permitir que
se logee en terminal server.

Por ejemplo:

Rango 1 user 1,2,3
Rango 2 user 4,5,6


Si rango 1 y user 4 o 5 o 6 no permitir



Esto lo puedo hacer con IAS?


Un saludo
Respuesta Responder a este mensaje
#2 heze54
28/02/2009 - 17:53 | Informe spam
algún ejemplo de script ya diseñado y como lo puedo aplicar me puedes
facilitar?


Un saludo




Jose Antonio Quílez [MS MVP] escribió:
Con el siguiente código en un script de inicio de sesión puedes obtener
la ip de la máquina en la que ha iniciado sesión el usuario:

for /f "tokens=1,2* delims=:" %%i in (' ipconfig ^| find "IP" ') do set
dirip=%%j

set dirip=%dirip:~1%

Ahora con esa variable dirip y la variable Username, tan sólo tienes que
comparar en ese script y de no cumplir la regla que pongas forzar el
cierre de sesión en el mismo.

Respuesta Responder a este mensaje
#3 Jose Antonio Quílez [MS MVP]
28/02/2009 - 20:35 | Informe spam
Te he preparado el siguiente código, que puesto en un fichero .bat te
debería funcionar
Las dos primeras líneas obtienen la dirección ip del equipo en el que ha
iniciado sesión el usuario, y la tercera, "set netip", obtiene los primeros
9 caracteres de esa dirección ip. Este número 9 lo tienes que adaptar a la
longitud que defina la subred (en mi caso he usado 192.168.0, que con los
puntos suma 9 caracteres). Si las dos subredes tienen distinta longitud
decimal para definirse, tendrás que usar dos variables, netip1 y netip2,
para acomodarte a ello, y modificar las comparaciones convenientemente.

Rem Inicio del script

echo off
for /f "tokens=1,2* delims=:" %%i in (' ipconfig ^| find "IPv4" ') do set
dirip=%%j
set dirip=%dirip:~1%
set netip=%dirip:~,9%

if %username% EQU Pedro goto usuariored1
if %username% EQU Juan goto usuariored1
if %username% EQU Manolo goto usuariored2
if %username% EQU Paco goto usuariored2
goto fin

:usuariored1
if %netip% EQU 192.168.2 goto cerrarsesion
goto fin

:usuariored2
if %netip% EQU 192.168.1 goto cerrarsesion
goto fin

:cerrarsesion
shutdown /l

:fin
Rem Fin del script


Saludos
José Antonio Quílez
http://msmvps.com/blogs/quilez/



"heze54" escribió en el mensaje de
noticias:
algún ejemplo de script ya diseñado y como lo puedo aplicar me puedes
facilitar?


Un saludo




Jose Antonio Quílez [MS MVP] escribió:
Con el siguiente código en un script de inicio de sesión puedes obtener
la ip de la máquina en la que ha iniciado sesión el usuario:

for /f "tokens=1,2* delims=:" %%i in (' ipconfig ^| find "IP" ') do set
dirip=%%j

set dirip=%dirip:~1%

Ahora con esa variable dirip y la variable Username, tan sólo tienes que
comparar en ese script y de no cumplir la regla que pongas forzar el
cierre de sesión en el mismo.

Respuesta Responder a este mensaje
#4 Jose Antonio Quílez [MS MVP]
28/02/2009 - 21:03 | Informe spam
Al probarlo me he dado cuenta de un error que hace que no funcione como
quieres, por lo que hay que modificarlo, y hacer que el cálculo de la ip y
subred se realice en el ordenador en que inicia sesión el usuario y no en la
sesión TS en el servidor, y las comparaciones posteriores se realicen cuando
el usuario inicie sesión por TS, por lo que habrá que pasarle al servidor de
alguna forma la variable netip que habíamos obtenido en el PC del usuario.
No es complicado, así que en un rato espero ponerte el código modificado.

Saludos
José Antonio Quílez
http://msmvps.com/blogs/quilez/



"Jose Antonio Quílez [MS MVP]" escribió en el
mensaje de noticias:
Te he preparado el siguiente código, que puesto en un fichero .bat te
debería funcionar
Las dos primeras líneas obtienen la dirección ip del equipo en el que ha
iniciado sesión el usuario, y la tercera, "set netip", obtiene los
primeros 9 caracteres de esa dirección ip. Este número 9 lo tienes que
adaptar a la longitud que defina la subred (en mi caso he usado 192.168.0,
que con los puntos suma 9 caracteres). Si las dos subredes tienen distinta
longitud decimal para definirse, tendrás que usar dos variables, netip1 y
netip2, para acomodarte a ello, y modificar las comparaciones
convenientemente.

Rem Inicio del script

echo off
for /f "tokens=1,2* delims=:" %%i in (' ipconfig ^| find "IPv4" ') do set
dirip=%%j
set dirip=%dirip:~1%
set netip=%dirip:~,9%

if %username% EQU Pedro goto usuariored1
if %username% EQU Juan goto usuariored1
if %username% EQU Manolo goto usuariored2
if %username% EQU Paco goto usuariored2
goto fin

:usuariored1
if %netip% EQU 192.168.2 goto cerrarsesion
goto fin

:usuariored2
if %netip% EQU 192.168.1 goto cerrarsesion
goto fin

:cerrarsesion
shutdown /l

:fin
Rem Fin del script


Saludos
José Antonio Quílez
http://msmvps.com/blogs/quilez/



"heze54" escribió en el mensaje de
noticias:
algún ejemplo de script ya diseñado y como lo puedo aplicar me puedes
facilitar?


Un saludo




Jose Antonio Quílez [MS MVP] escribió:
Con el siguiente código en un script de inicio de sesión puedes obtener
la ip de la máquina en la que ha iniciado sesión el usuario:

for /f "tokens=1,2* delims=:" %%i in (' ipconfig ^| find "IP" ') do set
dirip=%%j

set dirip=%dirip:~1%

Ahora con esa variable dirip y la variable Username, tan sólo tienes que
comparar en ese script y de no cumplir la regla que pongas forzar el
cierre de sesión en el mismo.

Respuesta Responder a este mensaje
#5 heze54
01/03/2009 - 01:00 | Informe spam
Buenas,

No tengo opción de modificar nada en los pcs que se conectan...

Un grupo de usuarios se conecta vía vpn contra la maquina y el otro
grupo lo hace vía internet desde 3 ips fijas que conozco. El problema es
que desde cualquiera de esas localizaciones pueden validarse con todos
los usuarios.




Jose Antonio Quílez [MS MVP] escribió:
Al probarlo me he dado cuenta de un error que hace que no funcione como
quieres, por lo que hay que modificarlo, y hacer que el cálculo de la ip
y subred se realice en el ordenador en que inicia sesión el usuario y no
en la sesión TS en el servidor, y las comparaciones posteriores se
realicen cuando el usuario inicie sesión por TS, por lo que habrá que
pasarle al servidor de alguna forma la variable netip que habíamos
obtenido en el PC del usuario.
No es complicado, así que en un rato espero ponerte el código modificado.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida