martes, 5 de noviembre de 2013

Configurar Teamviewer en Linux desde remoto por SSH

Tengo por costumbre, cuando instalo un ordenador Debian para un familiar o buen amigo hacer dos cosas:
La primera, instalar un servidor ssh (véase Acceso remoto con SSH – Walter Omar Autalán) escuchando en un puerto que no sea el 22, debido a que cientos de gusanos pueblan la red en busca de dicho puerto, y por otro lado instalar un teamviewer, dejando un icono en el escritorio que reza así “Llamar a Txavi – telf. xxx.xxx.xxx”.
De estas dos maneras, cuando la persona en cuestión me llama pidiéndo ayuda, conecto por un lado o por el otro. Hoy os vamos a explicar como iniciar Teamviewer sin la ayuda del Looser común. Hay gente, os puedo garantizar que, no es capaz de hacer doble click sobre el icono citado.


Lo primero comentar una peculiaridad. Instalar Teamviewer remotamente vía ssh es muy fácil pero solo tiene un problema, el Looser común tiene que aceptar el “Contrato de condiciones de la empresa Alemana”, con lo que, os recomiendo que la instalación la hagáis antes de entregar el equipo. En cualquier caso, para instalar Teamviewer. Primero, lo descargamos en el equipo desde la consola.

Para Arquitectura de 64 Bits:
wget http://download.teamviewer.com/download/teamviewer_linux_x64.deb



Para Arquitectura de 32 Bits:
wget http://download.teamviewer.com/download/teamviewer_linux.deb



Proseguimos con la instalación de 64 bits, para la de 32 bits, cambiar el paquete.
sudo dpkg -i teamviewer_linux_x64.deb



Respecto al instalador, puro estilo Micro$oft, siguiente, siguiente y como no, siguiente.

Una vez hecho esto, os aparcera en el menú de aplicaciones, en la pestaña de internet. Lo inicias y aceptáis las condiciones de uso germanas.

Ahora viene lo interesante, Teamviewer no tiene que ser “nateado” a través del router de Timofonica o el que sea, ya que la conexión se realiza de dentro a fuera, saltando así cualquier firewall, tanto del equipo como del router correspondiente del ISP. Esto es realmente cómodo.

Teamviewer viene con una serie de binarios ejecutables que, desde consola nos permiten hacer unas cuantas cosas. Aquí es donde entra la conexión ssh, no se explicará como realizar dicha conexión ya que ese no es el objetivo de este post. Una vez logeados correctamente en la maquina remota podemos hacer.

No situamos en el directorio donde esta el binario de Teamviewer.
cd /usr/bin



Para probar el binario hacemos.

teamviewer --help



Nos aparece esto

TeamViewer 8.0.17147

teamviewer start TeamViewer user interface (if not running)

teamviewer --help print this help screen
teamviewer --version print version information
teamviewer --info print version, status, id
teamviewer --passwd [PASSWD] set a password (useful when installing remote (ssh)
teamviewer --ziplog create a zip containing all teamviewer logs (useful when contacting support)

teamviewer --daemon status show current status of the TeamViewer daemon
teamviewer --daemon start start TeamViewer daemon
teamviewer --daemon stop stop TeamViewer daemon
teamviewer --daemon restart stop/start TeamViewer daemon
teamviewer --daemon disable disable TeamViewer daemon – don’t start daemon on system startup
teamviewer --daemon enable enable TeamViewer daemon – start daemon on system startup (default)

Las opciones se describen por si mismas. En este ejemplo NO recordamos ni el ID del usuario, ni su password, entonces hacemos.
teamviewer --info


TeamViewer 8.0.17147

teamviewerd status teamviewerd stop/waiting

TeamViewer ID: 34XXXXXXX

Con eso ya sabemos el ID. Si queremos poner un password, hacemos:
teamviewer --passwd Aa1234


ok
/etc/init.d/teamviewerd start
Starting teamviewerd…

Ahora nos olvidamos del binario, y vamos a trabajar con el script que esta en /etc/init.d a través del comando service.

En este punto solo nos falta verificar una cosa, ya tenemos el ID, tenemos el password, falta ver el estado del servicio.
sudo service teamviewerd status


teamviewerd stop/waiting

Si este es su estado, levantarlo con:
sudo service teamviewerd start


Starting teamviewerd…

Ahora si hacemos un:
netstat -ntap | grep teamviewer



Vemos como ha conectado con los servidores germanos, ahora lo comentaremos.


tcp 0 0 127.0.0.1:5944 0.0.0.0:* LISTEN 2095/teamviewerd
tcp 0 0 192.168.0.10:37176 178.255.156.102:5938 ESTABLISHED 2095/teamviewerd

Punto importante, debéis cerrar la conexión SSH con el Pc remoto, ya que Teamviewer usa las mismas librerías de encriptación que Openssh, si no cerráis el tunel ssh, el cliente de Teamviewer no podrá conectarse.

Ahora ya solo nos falta abrir nuestro cliente, poner los datos y a ¡¡disfrutar!!.

Respecto a la privacidad que nos prometen los germanos:

Cualquier parecido con una VPN es pura coincidencia. Si, la conexión esta encriptada, pero Teamviewer se asegura de saber donde y cuando, ¿que quiero decir?, que si seguís las trazas con netstat, traceroute y whois podréis ver como si conectáis con vuestro hermano en Madrid el viaje empieza primero en uno de los servidores de Teamviewer.
Siempre las conexiones son a tres, nunca a dos. Así que si sois un poco paranoicos (como es mi caso), mejor os montáis una VPN lan2lan y ponéis un servidor de X como FreeNx.

Extraido de
http://aulacero21.xtrweb.com/wordpress/2013/03/29/configurar-teamviewer-en-linux-desde-remoto-por-ssh/

martes, 13 de agosto de 2013

CISCO Instalar Packet Tracer en Linux


Si te dedicas al tema de redes seguramente habrás utilizado alguna vez la herramienta Packet Tracer creada por Cisco, este programa te permite crear redes, configuraras… antes de que metas mano a montarla físicamente, de esta forma podemos saber que punto podemos mejorar o cual podría ser un cuello de botella. Es una aplicación realmente interesante, incluso emula el sistema interno de routers, switches y demás aparatos utilizados en redes permitiendo incluso controlarlos por consola (emulada).
Imagina que tienes que configurar una red compleja y quieres probarlo antes de tener los dispositivos, con este software puedes hacer todo eso y mucho más.

PacketTracerINTRO 500x375 Instalar Packet Tracer en Linux
Siempre que he tenido que utilizarlo ha sido en entornos Windows, hoy te enseñaré a instalarlo directamente en Linux (independientemente de la versión o distribución que utilices) ya que existe una versión específica compilada para los entornos Unix.

Principalmente necesitamos descargar Packet Tracer para Linux, para ello he subido a mi Skydrive el paquete de instalación lo podéis descargar en la siguiente dirección: http://sdrv.ms/WVMj1t
Una vez descargado nos posicionamos con terminal en la carpeta donde se haya descargado el archivo, en mi caso /home/antonio/Descargas el siguiente paso es cambiar los permisos del binario para poder ejecutarlo
1
chmod +x PacketTracer53_i386.bin
Con el modificador x lo que hacemos es decirle que se puede ejecutar.

Una vez cambiados los permisos, tenemos que ejecutar el instalador:
1
./PacketTracer53_i386.bin

Con eso comenzará la instalación a lo largo de ella nos preguntará que si aceptamos los términos de licencia… Lógicamente si (Y), sino no podremos instalarlo
PacketTracer 500x309 Instalar Packet Tracer en Linux

Luego nos pide nuestra contraseña para poder realizar la instalación
PacketTracer1 500x309 Instalar Packet Tracer en Linux

Con estos pasos comenzará la instalación y en poco tiempo se instala el programa en nuestro PC, una vez terminada la instalación podremos cerrar la instalación.
PacketTracer2 500x309 Instalar Packet Tracer en Linux

Cuando vayamos a ejecutarlo por primera vez nos preguntará donde queremos guardar las preferencias del programa, yo lo he dejado por defecto.
PacketTracer3 500x172 Instalar Packet Tracer en Linux


Una vez aceptada se nos abrirá el programa completamente y podremos comenzar a trabajar con el.
PacketTracerLinux 500x281 Instalar Packet Tracer en Linux



VIDEO USO

https://www.youtube.com/watch?v=w9YiK-XW5jU

martes, 30 de julio de 2013

viernes, 19 de julio de 2013


Modo Pasivo VSFTPD

Habilita qué sólo se permita el acceso en modo pasivo (pasv_enable)
Para activar solo el modo pasivo, yo entiendo que tenemos primero que desactivar que la respuesta o conexión de datos del modo activo y que no se haga por el puerto habitual (20).
Primero desactivo la opción conect_from_port=20=”” poniéndole no y comentándola.
La opción de port enable permite conexiones activas, así que lo ponemos en NO y la comentamos.
Después activo el modo pasivo
Una conexión en modo pasivo básicamente sirve para cambiar el número de los puertos usados en la conexión entre un cliente FTP y su servidor.
Para usarla, además de la configuración en el servidor, el cliente envía una solicitud de conexión pasiva al servidor por el puerto 21 desde un puerto superior al 1024. El servidor responde por un puerto con número superior al 1024 , para indicarle al cliente el nuevo puerto, y el cliente vuelve a establecer la conexión por un puerto superior al 1024, con destino a un puerto dentro del rango que tiene el servidor para conexiones pasivas.
El cliente tiene que iniciar una conexión por ese puerto y tendrá que hacerlo antes de superar un tiempo máximo.
Para designar el rango de puertos habilitados para la opción de modo pasivo añadimos las dos opciones.
También hay que establecer un tiempo de conexión pasiva permitida por el servidor después de enviarle al cliente los datos para su conexión por el puerto designado.
Para probar la conexión en modo pasivo, puedo usar usuarios locales o anónimos, según tenga la configuración de vsftpd.conf
Con filezilla desde Windows XP
Una vez establecida la conexión, uso tcpdump para ver la transferencia de datos y compruebo que los datos van desde el puerto 4075 /dentro del rango usado en vsftdp (4000/4100) y van al puerto 1056 del equipo cliente.

*************************************

ARchivos


vsftpd.conf

# Carpeta de trabajo de usuarios locales
local_root=/home/ftpsri

# Configurar el puerto de escucha
listen_port=21

# Configurar IP de escucha
listen_address=10.33.1.8

# numero maximo de clientes
max_clients=5

# numero maximo de clientes con la misma IP
max_per_ip=5

# Mascara de permisos de usuarios anonimos
anon_umask=266

# Directorio o ubicacion del archivo mensaje
message_file=.mensaje.txt

# Directorio de trabajo de usuarios anonimos
anon_root=/home/ftpsri

# Limitar tasa maxima de transferenca en conexiones de usuarios anonimos
anon_max_rate=25000

# Permite conexiones con transferencia de datos encriptados a usuarios anonimos
#allow_anon_ssl=NO

# Permite conexiones con transferencia encriptada a user locales
#ssl_enable=NO

# Obligar a hacer todas operaciones por SSL
#force_local_data_ssl=NO
#force_local_logins_ssl=NO

# Especificar preferencia de sslv2 sobre sslv3
#ssl_tlsv1=YES
#ssl_sslv2=NO
#ssl_sslv3=NO
#rsa_cert_file=/etc/vsftpd/vsftpd.pem
# Definir el sistema e cifrado
#ssl_ciphers=HIGH

# Listar directorio (solo valido en algunos clientes FTP)
#require_ssl_reuse=NO

# Permite descarga de archivos
download_enable=YES

# Permite leer a los user anonimos archivos permitidos para leer para todo el mundo
#anon_world_readable_only=YES

# Permite crear directorios a los anonimos
#anon_mkdir_write_enable=NO

# Permite un tiempo maximo de conexion entre comando y comando de xx segundos
idle_session_timeout=600

# Limita tiempo de sesion de datos
data_connection_timeout=6000

# Permite modo pasivo
pasv_enable=YES

# Se permites conexiones en modo activo
port_enable=YES

# Puertos para modo pasivo
pasv_max_port=4100
pasv_min_port=4000

# IP de escucha modo pasivo
#pasv_address=192.168.0.12



# Tiempo maximo de espera a que un cliente en modo pasivo establezca la conxeion
accept_timeout=20

# Permitir log de todos los comandos y respuestas. Tiene q estar tambien configurado
# con xferlog_enable=YES y xferlog_std_format=NO y una directiva donde se indica
# el nombre d ela directiva y su ubicacion y nombre vsftpd_log_filr=/var/log/vsftpd.log
log_ftp_protocol=YES


# Activate logging of uploads/downloads.
xferlog_enable=YES

#vsftpd_log_file=/etc/vsftpd/log/vsftpd.log

# Esta opcion obliga a que el formato del log sea estandar
#xferlog_std_format=YES
#dual_log_enable=YES


# Indica el nombre y lugar donde esta el fichero de log de vsftpd
#xferlog_file=/var/log/vsftpd.log

# Example config file /etc/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
#
# Run standalone? vsftpd can run either from an inetd or as a standalone
# daemon started from an initscript.


# Permite ejecutarse por si solo, sin necesidad de init.d
listen=YES


#
# Run standalone with IPv6?
# Like the listen parameter, except vsftpd will listen on an IPv6 socket
# instead of an IPv4 one. This parameter and the listen parameter are mutually
# exclusive.
#listen_ipv6=YES
#


# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=YES

#


# Uncomment this to allow local users to log in.
# Permite la conexion de usuarios locales a FTP
local_enable=YES
#

# Uncomment this to enable any form of FTP write command.
write_enable=YES

#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)

# Maskara de permisos de usuarios locales
local_umask=022

#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP usepr.

# Permite subir archivos a anonimos
anon_upload_enable=YES
#

# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.


# Permite crear directorios a los usuarios anonimos
#anon_mkdir_write_enable=NO

#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.

# Activar el mensaje de directorios
dirmessage_enable=YES


#
# If enabled, vsftpd will display directory listings with the time
# in your local time zone. The default is to display GMT. The
# times returned by the MDTM FTP command are also affected by this
# option.
use_localtime=YES
#

#

# Make sure PORT transfer connections originate from port 20 (ftp-data).
# Este apartado sirve para establecer la conexion de datos por el puerto 20
connect_from_port_20=YES

#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever
#
#
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default log file location is /var/log/xferlog in this case.
#xferlog_std_format=NO
#
# You may change the default value for timing out an idle session.
#idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
#data_connection_timeout=120
#
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.

#Usuario sin privilegios
#nopriv_user= (virtual)


#
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that on some FTP servers, ASCII support allows a denial of service
# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
# predicted this attack and has always been safe, reporting the size of the
# raw file.
# ASCII mangling is a horrible feature of the protocol.
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
# You may fully customise the login banner string:

# Mensaje cuando te conectas al servidor
ftpd_banner="Servidor FTP Red Virtual SRI"

#
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd.banned_emails
#
# You may restrict local users to their home directories. See the FAQ for
# the possible risks in this before using chroot_local_user or

# Si se activa, los usuario locales anotados en la lista son enjaulados
#chroot_list_enable=NO

# Nombre y ubicacion de archivo de enjaulamiento usuarios locales
#chroot_list_file=/etc/vsftpd.chroot_list

# Si se activa, los usuarios locales de la lista Pueden salir de su directorio
# NO SE recomiendo no habilitar
#chroot_local_user=NO



#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
# (Warning! chroot'ing can be very dangerous. If using chroot, make sure that
# the user does not have write access to the top level directory within the
# chroot)


#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
#ls_recurse_enable=YES
#
# Customization
#
# Some of vsftpd's settings don't fit the filesystem layout by
# default.
#
# This option should be the name of a directory which is empty. Also, the
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem
# access.
#secure_chroot_dir=/var/run/vsftpd/empty
#
# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftpd_virtual

#userlist_enable=YES
#tcp_wrappers=YES
#userlist_deny=yes

#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/private/vsftpd.pem

## Vsftpd permitira inicio sesion a usuario vsftpd en /home/ftpsri
guest_enable=YES
guest_username=virtual
user_sub_token=$USER
virtual_use_local_privs=YES

## Especifica direc de archivos configuracion por usuario
user_config_dir=/home/ftpsri/vsftpd_user_conf

martes, 25 de junio de 2013

NTP ARGENTINA

server 0.ar.pool.ntp.org

Date en esx console

To see the current ESX time:
# date
Thu May 1 14:57:55 BST 2008
To manually adjust the time:
#date -s  MMDDhhmmYY
for example to set the date and time to May 02, 2008 an 6:23 pm enter the following:
#date -s 0502182308
To check the current time for the hardware clock type:
#hwclock
Sync the hardware clock with the Service Console:
#hwclock –systohc

miércoles, 19 de junio de 2013

¿Cómo instalo mcrypt para PHP?



mcrypt es el sistema de cifrado que tiene php para que la información no se transmita de forma plana y se pueda interceptar fácilmente, vamos que esconde los datos que navegan de las páginas Web a los servidores para poner las coass más dificiles a posibles curiosos.

Instrucciones para instalarlo desde línea de comandos:


  • sudo apt-get -y install php5-mcrypt
  • sudo /etc/init.d/apache2 restart

miércoles, 5 de junio de 2013

reCsvEdit excelente aplicación para gestionar, crear y editar archivos CSV con Linux

reCsvEdit es una aplicación que permite administrar, crear y editar archivos CSV fácilmente. reCsvEdit Una de las principales características es la posibilidad de editar archivos de gran tamaño (incluso en exceso de 1 Gb) con muchos datos integrados, compatible con prácticamente cualquier tipo de carácter que se utiliza como separador de campo.

Cómo configurar gtk-recordMyDesktop para grabar tu escritorio sin problemas

http://usemoslinux.blogspot.com/2010/08/como-configurar-gtk-recordmydesktop.html

martes, 21 de mayo de 2013

osTicket: Sistema de soporte por tickets bajo Open Source


osTicket: Sistema de soporte por tickets bajo Open Source


http://osticket.com/wiki/Installation

http://e-volution.cc/2010/10/04/osticket-sistema-de-soporte-por-tickets-bajo-open-source/

osTicket: Sistema de soporte por tickets bajo Open Source


Muchas empresas ya en la actualidad ofrecen soporte a sus clientes a través de internet, mismo en el que a través de una interface web, los usuarios cliente pueden poner sus reclamaciones, que serán clasificadas y enviadas a los departamentos correspondientes para su resolución. Bueno, hoy tenemos una sugerencia para atacer este tipo de servicios requeridos por nuestros clientes, y viene de la mano del open source, nos referimos a osTicket.
oSTicket es un sistema CRM de soporte de tickets de codigo open source, desarrollado bajo PHP y MySQL. Nos proporciona una interfaz web donde los usuarios cliente pueden crear nuevos tickets, ver el estado en que se encuentran o responder a los comentarios realizados desde el centro de soporte que tenga nuestra empresa.
La administración de osTicket incorpora acciones de borrado de tickets de la base de datos, creación de categorías y miembros, creación de grupos, implantación de alertas, etc.
osTicket es muy útil para para mejorar la atención al cliente e integra diferentes tele-operadores y tareas automáticas, a un menor costo gracias a que se comparte libremente. La idea es proporcionar al cliente una plataforma para que pueda ver en cualquier momento el estado de su consulta (por ejemplo, solicitar ayuda sobre algún producto o servicio), de tal forma que se sienta atendido y satisfecho; para la empresa significa disponer de una alternativa para automatizar todas las solicitudes de soporte ahorrando tiempo y dinero.
Como dijimos osTicket es un software open source, se ofrece de modo 100% gratuito, y el implementarlo requerirá de contar con un hosting web con soporte a PHP 4.3 y MySQL 4.4 o superior. osTicket puede correr en un dominio o sub-dominio propio según nosotros como administradores lo definamos.

martes, 7 de mayo de 2013

Installing SVN on Windows Server 2008, 2003 – Standalone

Extraido de

http://www.commonj.com/blogs/2009/07/02/installing-svn-on-windows-2003-server-standalone/

In this post I will detail in the most simple and clear way I can how I installed SVN (http://subversion.tigris.org/) on Windows Server 2003/ Vista. There are few more “How-To” posts I saw and used, but I decided to post my experience step by step. I hope to contribute some additional information and tips.
1. Download and Install SVN. I downloaded Setup-Subversion-1.5.6.msi installer from: http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91&expandFolder=91&folderID=74.
After download complete, DblClick the msi file. I left all defaults suggested and just Next , Next, Next…
2. After Installation, check that the svn bin folder path was appended to PATH environment variable.
3. Add a new environemtn variable: SVN_EDITOR=c:\windows\notepad.exe
4. Now,  Let’s create a repository. Open your command line screen (simply run –> cmd) and execute the following command: svnadmin create c:/repo
5. Change the following config file located at: c:/repo/conf
At svnserve.conf uncomment:
[general]
anon-access = read
auth-access = write
password-db = passwd
6. Change passwd file located at  located at: c:/repo/conf. Add a user by adding a row like the following:
roded = rodedpassword
7.  The passwd file from section 6 contains users and their password. In order to give a security meanning you should uncomment authz-db = authz at svserve.conf file.
7.1 Now edit authz file, You will add a group, assign permisssions to the group, assign repository path permissions by adding repository path and the group.
It should look like this:
[groups]
developers=roded
[/]
@developers = rw
8. It’s time to start the subversion server by entering the following command line:
svnserve –daemon –root “C:\repo”
(NOTE – the command above has two minus signs prior daemon and root )
9.  Now,  from a second command line window execute the following command:
svn mkdir svn://localhost/myproject
You should see the following messages at the command line window:
“C:\Users\rodedh>svn mkdir svn://localhost/myproject
Log message unchanged or not specified
(a)bort, (c)ontinue, (e)dit :
c
Committed revision 1.”
You might be asked for credentials at the first time:
Authentication realm:  MyRepository
Password for 'Administrator': your_windows_for_that_user_password
Authentication realm:  MyRepository
Username: roded
Password for 'roded': rodedpassword
10. Now , if you closed the window from section 8, open it again. In order to check your most basic installation exeucte the follwing command:
svn ls svn://localhost/
You should see the  project created at section 9 (myproject) listed.
11. Finally, after testing and validating everything goes as expected you might want to install the SVN server execution (rather than strting it from the command line) as a service. So, here is the command line:
sc create Subversion binpath= "C:\Program Files\Subversion\bin\svnserve.exe --service --root c:\repo" displayname= "Subversion" depend= Tcpip
Continue to : Installing and First Use of Tortoise SVN Post
References:
1. Greate Reference. I mainly used this one while installing my SVN: http://blogs.vertigosoftware.com/teamsystem/archive/2006/01/16/Setting_up_a_Subversion_Server_under_Windows.aspx
2. http://life.mysiteonline.org/archives/67-Installing-and-Setting-up-Subversion-SVN-Under-Windows-XP.html

martes, 16 de abril de 2013

Como crear una entidad emisora de certificados en Windows 2008 R2


EXTRAIDO DE
http://www.megacrack.es/2010/04/26/como-crear-una-entidad-emisora-de-certificados-en-windows-2008-r2/

Buenas.
Ahora os mostraré como instalar una entidad emisora de certificados sobre Windows 2008 R2.
Lo voy a hacer desde una máquina acabada de traer de sysprep. Podéis seguir este artículo para saber como la he preparado.
Ver artículo: Instalación Windows Server 2008 R2 x64 Std paso a paso para usar de base
Ponemos la contraseña del administrador local, configuramos el nombre del equipo (Pensad que este servidor no se le podrá cambiar ni el dominio ni el nombre una vez creada la entidad certificadora, ya que de lo contrario dejaría de funcionar), configuramos una ip y añadimos al dominio, actualizamos parches, iniciamos sesión como administrador del dominio.

Ahora en la server manager
CertificateEntity_1
Pulsamos sobre Roles y Add Roles.
CertificateEntity_2
Marcamos Active Directory Certificate Services y pulsamos sobre Next.
CertificateEntity_3
Pulsamos sobre Next.
CertificateEntity_4
Marcamos Certification Authority Web Enrollment.
CertificateEntity_5
Pulsamos sobre Add Required Role Services.
CertificateEntity_6
Pulsamos sobre Next.
CertificateEntity_7
Pulsamos sobre Next. (En caso de haber iniciado sesión con el administrador local (sin dominio) nos muestra únicamente la posibilidad de hacerlo Standalone).
CertificateEntity_8
Marcamos Root CA y pulsamos sobre Next. (En el caso que esta entidad emisora fuera parte de una jerarquía de entidades pulsaríamos sobre Subordinate CA).
CertificateEntity_9
Pulsamos sobre Next. (Como no disponemos de clave privada por ser el primer servidor de certificados y no disponer del fichero de clave privada dejamos marcada la primera opción).
CertificateEntity_10
Pulsamos sobre Next (En el caso que queramos añadir protección en el servidor para los certificados marcaremos la opción Allow administrator interaction when the private key is accessed by the CA, para que únicamente con privilegios de administrador podamos acceder a la clave privada).
CertificateEntity_11
Pulsamos sobre Next.
CertificateEntity_12
Modificad el valor de Años de 5 a 50 por ejemplo para que el marrón de renovar el root CA se lo coma otro. (jejeje) Es broma, poned la fecha que os parezca oportuna. Esto hará que los certificados creados desde esta entidad emisora caduquen en la fecha indicada. Pulsamos sobre Next.
 CertificateEntity_13
Pulsamos sobre Next. (Se recomienda almacenar la base de datos y los logs en otra unidad para mayor disponibilidad).
CertificateEntity_14
Pulsamos sobre Next.
CertificateEntity_15
Pulsamos sobre Next.
CertificateEntity_16
Pulsamos sobre Install.

Para finalizar pulsamos sobre Close y reiniciamos el servidor.
Saludos MegaCracks, espero que os sea de ayuda y hasta pronto.

jueves, 21 de marzo de 2013

Como pasar Logins entre servidores

Hola, he vuelto de mis vacaciones Smile y me estoy poniendo al dia, prometo tratar de escribir mucho mas seguido por aqui.
En este post voy a explicar uno de los dolores de cabeza mas frecuentes que tenemos y es el pasar los logins entre servidores.
Sabemos que en SQLServer hay 2 tipos de login, los de Windows y los de SQL, los primeros son usuarios del dominio que tambien tienen acceso al servidor de base de datos y los segundos son usuarios que se guardan dentro del SQLServer, o sea, la password esta dentro del SQLServer , en lugar de la de windows que la controla el controlador de dominio.
Lo recomendado es tratar de tener y usar siempre usuarios Windows, la recomendacion se debe a que le dejaremos toda la administracion (complejidad de password, control de vencimientos, etc) al sistema operativo y ademas permitirle a un usuario que no deba volver a hacer login (si usara usuarios SQL) cuando ya lo hizo al entrar a su windows.
OK, hay varios servidores donde me ha tocado trabajar donde no solo hay usuarios windows sino que tambien muchos SQL, esto es por lo general por el tipo de aplicaciones que usan SQLServer y como han sido pensadas, pero eso ya es otro tema que discutiremos en otro momento Wink
Bien, como hacemos si deseamos pasar los logins SQL y los de windows de un servidor a otro, esto podria ser a la misma version de SQL o bien a distintas versiones, por ej se desea migrar todo el servidor 7 y 2000 a un 2005 pero no es cuestion de solo migrar las bases sino tambien los logins entre otras cosas.
Si deseamos migrar los usuarios SQL podriamos por ej desde SQL2005 usar Integration Service (el reemplazo de DTS) y usar una tarea para esa funcion, la desventaja de hacer esto es que pasara los logins pero no las password con lo cual le deberiamos decir a todos los usuarios SQL que vuelvan a cambiar las password (nada agradable no?)
Lo que les voy a dejar es un script el cual nos permitira migrar los usuarios de un server a otro, este script no solo migra usuarios SQL sino tambien los de windows y lo mas lindo de esto es que se puede usar para migrar de 7 a 2005 , de 7 a 2000 o de 2000 a 2005 Smile
Estos seran los pasos que debemos realizar para migrar usuarios
  1. Generamos SP del script en el servidor origen
  2. Ejecutamos el SP en el servidor origen
  3. El resultado del SP lo copiamos a un archivo .sql
  4. Ejecutamos este archivo .sql en el servidor destino
Script
USE [master]
GO
/****** Object:  StoredProcedure [dbo].[sp_hexadecimal]    Script Date:
03/23/2006 10:24:06 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO


CREATE PROCEDURE [dbo].[sp_hexadecimal]
    @binvalue varbinary(256),
    @hexvalue varchar(256) OUTPUT
AS
DECLARE @charvalue varchar(256)
DECLARE @i int
DECLARE @length int
DECLARE @hexstring char(16)
SELECT @charvalue = '0x'
SELECT @i = 1
SELECT @length = DATALENGTH (@binvalue)
SELECT @hexstring = '0123456789ABCDEF'
WHILE (@i <= @length)
BEGIN
  DECLARE @tempint int
  DECLARE @firstint int
  DECLARE @secondint int
  SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1))
  SELECT @firstint = FLOOR(@tempint/16)
  SELECT @secondint = @tempint - (@firstint*16)
  SELECT @charvalue = @charvalue +
    SUBSTRING(@hexstring, @firstint+1, 1) +
    SUBSTRING(@hexstring, @secondint+1, 1)
  SELECT @i = @i + 1
END
SELECT @hexvalue = @charvalue


set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go


create PROCEDURE [dbo].[sp_help_revlogin] @login_name sysname = NULL AS
DECLARE @name    sysname
DECLARE @xstatus int
DECLARE @binpwd  varbinary (256)
DECLARE @txtpwd  sysname
DECLARE @tmpstr  varchar (256)
DECLARE @SID_varbinary varbinary(85)
DECLARE @SID_string varchar(256)


IF (@login_name IS NULL)
  DECLARE login_curs CURSOR FOR
    SELECT sid, name, xstatus, password FROM master..sysxlogins
    WHERE srvid IS NULL AND name <> 'sa'
ELSE
  DECLARE login_curs CURSOR FOR
    SELECT sid, name, xstatus, password FROM master..sysxlogins
    WHERE srvid IS NULL AND name = @login_name
OPEN login_curs
FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd
IF (@@fetch_status = -1)
BEGIN
  PRINT 'No login(s) found.'
  CLOSE login_curs
  DEALLOCATE login_curs
  RETURN -1
END
SET @tmpstr = '/* sp_help_revlogin script '
PRINT @tmpstr  + ' -- '
SET @tmpstr = '** Generated '
  + CONVERT (varchar, GETDATE()) + ' on ' + @@SERVERNAME + ' */'
PRINT @tmpstr + ' -- '
PRINT ''  + ' -- '
PRINT 'DECLARE @pwd sysname' + ' -- '
WHILE (@@fetch_status <> -1)
BEGIN
  IF (@@fetch_status <> -2)
  BEGIN
    PRINT ''
    SET @tmpstr = '-- Login: ' + @name
    PRINT @tmpstr  + ' -- '
    IF (@xstatus & 4) = 4
    BEGIN -- NT authenticated account/group
      IF (@xstatus & 1) = 1
      BEGIN -- NT login is denied access
        SET @tmpstr = 'EXEC master..sp_denylogin ''' + @name + ''''
        PRINT @tmpstr + ' -- '
      END
      ELSE BEGIN -- NT login has access
        SET @tmpstr = 'EXEC master..sp_grantlogin ''' + @name + ''''
        PRINT @tmpstr + ' -- '  
      END
    END
    ELSE BEGIN -- SQL Server authentication
      IF (@binpwd IS NOT NULL)
      BEGIN -- Non-null password
        EXEC sp_hexadecimal @binpwd, @txtpwd OUT
        IF (@xstatus & 2048) = 2048
          SET @tmpstr = 'SET @pwd = CONVERT (varchar(256), ' + @txtpwd + ')
-- '
        ELSE
          SET @tmpstr = 'SET @pwd = CONVERT (varbinary(256), ' + @txtpwd +
') -- '
        PRINT @tmpstr
        EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT
        SET @tmpstr = 'EXEC master..sp_addlogin ''' + @name
          + ''', @pwd, @sid = ' + @SID_string + ', @encryptopt = '
      END
      ELSE BEGIN
        -- Null password
        EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT
        SET @tmpstr = 'EXEC master..sp_addlogin ''' + @name
          + ''', NULL, @sid = ' + @SID_string + ', @encryptopt = '
      END
      IF (@xstatus & 2048) = 2048
        -- login upgraded from 6.5
        SET @tmpstr = @tmpstr + '''skip_encryption_old'''
      ELSE
        SET @tmpstr = @tmpstr + '''skip_encryption'''
      PRINT @tmpstr + ' -- '  
    END
  END
  FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd
  END
CLOSE login_curs
DEALLOCATE login_curs
RETURN 0


Ahora debemos ejecutar como hemos mencionado anteriormente el SP_HELP_REVLOGIN y su resultado guardarlo como .sql para luego ejecutarlo en el servidor destino.


use master
go

EXEC sp_help_revlogin
El resultado de este SP por ej en mi caso es el siguiente:

/* sp_help_revlogin script --
** Generated Feb 7 2007 10:13PM on NOTEBOOK */ --
--
DECLARE @pwd sysname --

-- Login: BUILTIN\Administrators --
EXEC master..sp_grantlogin 'BUILTIN\Administrators' --

-- Login: maxi --
SET @pwd = CONVERT (varbinary(256), 0x010063041400C219E42B05857103FA7537624D18A08EF952471C43B39E21C47C5A098B75FAE89F36B27D912666AA) --
EXEC master..sp_addlogin 'maxi', @pwd, @sid = 0xF6630592B345974588C021007A10A99A, @encryptopt = 'skip_encryption' --

Como podemos obervar el SP ha recorrido todos los usuarios de mi servidor (menos el SA) y ha dado como resultado las sentencias de comando que debo ejecutar en mi servidor destino.
Las claves seran pasadas pero como se observa no podemos identificar cual es la misma, con lo cual es un proceso totalmente seguro ya que lo unico que aseguramos que pasen los logins y sus claves tambien para que el usuario se pueda conectar sin ningun problema en el servidor destino.