sábado, 14 de diciembre de 2013

Servicio SSH


Servicio SSH

Es el nombre de un protocolo y del programa que lo implementa, sirve para acceder a maquinas remotas a traves de una red.

Instalación y configuración

apt-get install openssh-server

Su fichero se encuentran en /etc/ssh/ y sus ficheros son

- sshd_config en caso del servicio ssh servidor
- ssh_config en el caso del cliente.

Podríamos utilizar el servicio sin tocar el fichero de configuración. Aun así, podemos configurar de dichos archivos de tal manera que permitan o no varias opciones (conexión como root, conexión con las X, autentificacion por RSA, etc)

Conexión a otra maquina dentro de una misma red

La sintaxis seria la siguiente
ssh usuario@ip_destino

Antes de realizar la conexión nos pedirá contraseña que tiene dicho usuario en el equipo al que nos conectaremos. Una vez permitido el acceso, podremos movernos por el sistema del servidor. (sin las X)
Podemos no especificar ningún usuario, con esto nos conectaremos con el mismo usuario que tenemos en nuestra maquina.

Para conectarnos al servidor con las X, añadimos el parámetro al comando

ssh usuario@ip_destino -X

Copiar ficheros de un equipo local al remoto y viceversa
La sintaxis seria:

scp usuario@ip_destino:/archivo_destino archivo_local

scp archivo_local usuario@ip_destino:/archivo_destino

No olvidar los dos puntos (:)


Túnel SSH

El servicio SSH nos permite establecer una conexión segura y cifrada, denominada túnel SSH, y a travesar proxys y cortafuegos u otros equipos que actuen como intermediarios. 

Por defecto esta conexión se escucha desde el puerto 22. Podemos modificarla en su fichero de configuración.

Supongamos que queremos conectarnos desde un cliente, a un servidor, a través de un equipo intermediario.
Para realizar este tunel la sintaxis seria la siguiente

ssh -f -L usuario@ip_servidor usuario@ip_intermediario sleep 7200

Acceso sin contraseña

El servicio SSH trae un generador de contraseñas, este nos permite generar una contraseña y enviársela al equipo el cual nos queremos conectar, para conectarnos sin que nos pida dicha contraseña. Se realiza de la siguiente manera.
ssh-keygen rsa

una vez hecho esto nos genera una imagen, que sera la contraseña publica de este equipo. ahora tenemos que copiarla al servidor.

ssh-copy-id -i ~/.ssh/id_rsa.pub ip_servidor

esta clave se copia en el directorio

~/.ssh/authorized_keys

Ahora podemos conectarnos al servidor sin necesidad de introducir contraseña
Si en el futuro quisiéramos eliminar esta contraseña, deberíamos editar el fichero autorized_keys y eliminar la contraseña

Conexion SSH (debian, Windows)
Putty

lunes, 11 de noviembre de 2013

Servidor Apache



Servidor Apache

Instalacion y Configuracion Servidor Apache

Disponemos de un cliente y un servidor. En nuestro servidor web instalaremos Apache.

Instalamos el servicio con el siguiente comando


apt-get install apache2

1. Ataque por direccion IP
Queremos conseguir varias accesos a distintas paginas, sobre la misma dirección, para ello. Editaremos el fichero.

 /etc/network/interfaces

auto eth0
iface eth0 inet static
address 192.168.10.5
netmask 255.255.255.0

auto eth0:1
iface eth0:1 inet static
address 192.168.10.10
netmask 255.255.255.0



Nos situamos en la direccion /var/www/ y y crearemos una carpeta para cada sitio, en este caso 3.
mkdir hola adios

Y copiamos el archivo index.html dentro de cada carpeta. Lo editaremos de tal manera que cuando carge el sitio los sepamos diferencia.

Vamos a la carpeta /etc/apache2/sites-available/ y haremos 2 copias para el archivo default, con el nombre de defecto y defectotro.
cp default defecto defectotro

Editaremos los ficheros de la siguiente manera para defecto:
<virtualHost 192.168.10.5:80>
        DocumentRoot /var/www/hola
<\virtualHost>

Y para defectotro:
<virtualHost 192.168.10.10:80>
        DocumentRoot /var/www/adios
<\virtualHost>

Debemos crear un enlace simbolico en /etc/apache2/sites-enabled
a2ensite defecto
y
a2ensite defectotro

Editamos el archivo ports.conf, y añadiremos la direccion nueva arriba creada,
Name VirtualHost 192.168.10.5;80
Name VirtualHost 192.168.10.10:80
Listen 80

Reiniciamos el servicio
service apache2 restart

Y si accedemos a las direcciones deberiamos ver que cada direccion es una pagina diferentes.


2. Ataque por puerto
Partiendo de la configuracion basica del punto anterior, debemos modificar el fichero y añadiremos el puerto que nos parezca
nano ports.conf

Listen 8080

En la carpeta de sitios de apache /var/www/ copiamos el fichero y editamos el index.html
cp -R hola puerto

Dentro de /etc/apache2/sites-available copiamos el fichero defecto y lo renombramos como puerto.
cp defecto puerto

editamos dicho fichero
<virtualHost 192.168.10.5:8080>
        DocumentRoot /var/www/puerto
<\virtualHost>

Hacemos un enlace simbolico del archivo
 a2ensite puerto

Reiniciamos servicio, service apache2 restart
Para comprobarlo solo tendremos que poner en el navegador la direccion y el puerto.


3. Ataque por Dominio.
Lo primero que debemos hacer es editar el fichero, y lo dejaremos de la siguiente manera
/etc/hosts

127.0.0.1           localhost
127.0.0.1           debian
192.168.10.10     debian3   debian3.otro.com
192.168.10.10     debian1   debian1.otro.com

una vez hecho esto, deberiamos poder hacer ping a debian1, debian3, debian3.otro.com y debian1.otro.com

Crearemos dos carpetas en /var/www/ llamadas dominio y dominiotro, editaremos los index.html para diferenciarlos.

nos situamos en /etc/apache2/sites-available y creamos 2 ficheros
dominio
<virtualHost *:80>
        DocumentRoot /var/www/dominio
        ServerName debian1.otro.com
<\virtualHost>

dominiotro
<virtualHost *:80>
        DocumentRoot /var/www/dominiotro
        ServerName debian3.otro.com
<\virtualHost>

Creamos enlaces simbolicos
a2ensite dominio
a2ensite dominiotro

Configuramos el fichero ports.conf como estaba por defecto es decir
*:80

Reiniciamos servicio, service apache2 restart
Y si nos situamos en el navegador y accedemos a los dominios de debian1.otro.como y debian3.otro.com accederemos a los sitios anteriormente creados.


4. Instalacion de modulos
Añadimos dos usuarios
adduser usuario1
adduser usuario2

En las carpetas personales de cada usuario, crearemos una carpeta llamada public_html y un fichero llamado index.html en los que en el interior pondra sitiousuario1 y sitiousuario2 respectivamente.

Vamos a /etc/apache2/mods-available y creamos un acceso simbolico
a2enmod userdir

Reiniciamos servicio, y si nos vamos a nuestro navegador y ponemos localhost./~usuario1 o localhost./~usuario2 accederemos a las paginas de cada usuario.


Configurar para contraseña

Para establecer contraseña a un directorio, crearemos dos ficheros:
  - .htpasswd en el que se definen los usuarios y contraseña para tener acceso

Y dentro del sitio en el que definimos el directorio
<Directory /directorio/protegido>
    AuthUserFile /ubicacion/de/.htpasswd
    AuthName "Introduzca su usuario y contraseña"
    AuthType Basic
    require valid-user
</Directory>













domingo, 27 de octubre de 2013

Servicio DHCP



DHCP CLIENTE/SERVIDOR

Instalacion y Configuracion DHCP Cliente/Servidor




Disponemos de dos equipos en el que en uno instalaremos el servidor DHCP y en el otro un cliente que se beneficiara de ello.
Nuestro servidor dispone de dos tarjetas de red, una con salida a internet (eth1), y otra para nuestra subred(eth0).

Sabiendo esto nos situamos en el servidor e instalamos el servicio DHCP

apt-get install isc-dhcp-server

Ahora nos situamos en el cliente y configuramos el fichero interfaces de tal manera.
nano /etc/network/interfaces
eth0 auto
iface eth0 inet dhcp

Una vez hecho esto volvemos al servidor para configurar el servicio DHCP

nano /etc/dhcp/dhcp.conf

y editamos las siguientes lineas para indicar la subred, la mascara, y el rango de direcciones que asginara

subnet 192.168.10.0 netmask 255.255.255.0
     range 192.168.10.10 192.168.10.20

     option domain-name-servers 8.8.8.8

     option routers 192.168.10.1

Una vez configurado reiniciamos el servicio de dhcp y los servicios de red en el servidor.
/etc/init.d/isc-dhcp-server restart
/etc/init.d/networking restart


Hacemos lo mismo en el cliente para que coja IP por DHCP. Ejecutamos un ipconfig y vemos como nos asigna la direccion el servidor.


PD: si queremos que nuestro servidor asigne una direccion en concreto a un equipo. Nos situamos en el servidor y editamos el fichero /etc/dhcp/dhcp.conf y editaremos la siguiente linea:

host fantasia {
hardware (mac del cliente)
fiixed-address (ip que queremos asignar)
}

Servidor PXE en Ubuntu 16.04

Escenario. Es un entorno para arrancar e instalar el SO a través de la red.  PXE, (Preboot eXecution Enviroment) La idea es que las máqui...