Instalar FTP Server en Ubuntu 12.04

FTP (siglas en inglés de File Transfer Protocol, ‘Protocolo de Transferencia de Archivos’) en informática, es un protocolo de red para latransferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.

Vamos a usar el ftp server que recomienda ubuntu, vsftpd, es ligero, robusto, escalable y seguro.

Instalamos el server ftp:

~$ sudo apt-get install vsftpd

Ya lo tienes funcionando pero con la configuración por defecto. Esta configuración no se adapta al uso común. Tienes un server escuchando en el puerto 21 con acceso anonymous y permisos de lectura.  El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza entexto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor y/o apropiarse de los archivos transferidos. /home/ftp que por defecto esta vacio. Aqui podría haber un agujero de seguridad si no administramos bien los permisos, por ello lo mejor es retirar el acceso anonimo.
Abrimos el archivo de configuración: sudo gedit /etc/vsftpd.conf
Realizmos los siguientes cambios:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
ftpd_banner=Bienvenid@s al Servidor FTP X
chroot_local_user=YES
  • Reiniciamos el server FTP : sudo /etc/init.d/vsftpd restart
  • Ya esta nuestro login será nuestro usuario y contraseña de linux, hay que olvidarse de crear cuentas FTP ni historias así. Para añadir permisos a otros usuarios tendras que crear cuentas con adduser

Ya que termine de descargar y instalar los paquetes tenemos que hacer varios pasos para que funcione nuestro servidor ftp.

Creación del grupo.

Ahora tenemos que crear un grupo el cual controle al servicio de vsftpd de la siguiente manera:

root@server1:~#groupadd ftp

Creación del home.

Tenemos que crear el deposito o el home donde el usuario va alojar su información, cuando el servidor vsftpd termina de instalarse crea una carpeta en home quedando de la siguiente manera

/home/ftp, pero tu puedes tener tus usuarios en otras rutas como /var/ftp.
root@server1:~#mkdir /home/ftp/rodmen

Creación de shell FTP

Lo que haremos es crear un shell virtual o fantasma, para que los usuarios no puedan conectarse a una sesión del sistema operativo.

root@server1:~#mkdir /bin/ftp

Ya que lo creamos,ahora tenemos que editar el siguiente archivo.

root@server1:~#vim /etc/shells
Agregar al final del archivo /etc/ftp.
/bin/bash
/bin/rbash
/bin/ftp

Creando usuarios FTP
Para poder crear usuarios para nuestro servicio ftp se ocupa el siguiente comando.

root@server1:~#useradd -g ftp -d /home/ftp/rodmen -s /bin/ftp rodmen

Tenemos que agregarle una contraseña a nuestro usuario creado.

root@server1:~#passwd rodmen
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@server1:~#

Ahora hay que darle permiso al usuario pueda ser el dueño de su deposito.
root@server1:~#cd /home/ftp
root@server1:~#chown rodmen.ftp rodmen/ R

Ficheros de configuración

El servidor vsfptd tiene dos archivos muy importantes de configuración: /etc/vsftpd.conf Este es el archivo de configuración de nuestro servidor ftp: /etct/vsftpd.chroot_list Lista de los usuarios que van estar enjaulados.

Configuración de vsftpd

En este momento comenzaremos a configurar nuestro servidor vsftpd. Antes de se recomiendo ampliamente crear una copia de respaldo de archivo de configuración:

root@server1:~#cd /etc
root@server1:/etc#cp vsftpd.conf vsftpd.confori

Comenzaremos a editar el archivo de configuración del servicio vsftpd.conf.

root@server1:/etc#vim vsftpd.conf

En el archivo tendremos que cambiar varios parámetros:

Parámetro anonymous_enable

Desactivar acceso a usuarios anónimos, para mayor seguridad.
anonymous_enable=NO

Parámetro local_enable

Permitir a los usuarios autenticados tener sus propias carpetas locales, le quitamos la # para que se active.
#local_enable=YES
local_enable=YES

Parámetro write_enable
Permitir el modo de escritura en su carpeta, le quitamos el #.

#write_enable=YES
write_enable=YES

Parámetro local_umask

Permitimos la a través de este parámetro enmascararlo con algún permisos en especial al momento de subir la información

#local_umask=000
local_umask=037

En este caso estamos indicándole al parámetro, va tener permisos de rwx para el usuario, r– para el grupo y — otro ningún permiso.

Enjaulando a los usuarios FTP

Habilitamos el enjaulamiento de los usuarios dentro de su directorio personal y también para acceder a sus carpetas por FTP.

#chroot_local_user=YES
#chroot_list_enable=YES
chroot_local_user=YES
chroot_list_enable=YES

Habilitamos la siguiente linea que manda a llamar aun archivo, este archivo lo tiene que crear y dentro de este agregar los cuentas de
los usuario enjaulados.

#chroot_list_file=/etc/vsftpd.chroot_list
chroot_list_file=/etc/vsftpd.chroot_list

Al terminar de configurar el archivo de vsftpd.conf

root@server1:/etc# touch vsftpd.chroot_list
root@server1:/etc#echo “rodmen”>> vsftpd.chroot_list

Control del ancho de banda

Se le pueden agregar mas opciones al final del archivo.

anon_max_rate=5100 #Ancho de banda para usuario anónimo 5kb.
local_max_rate=5100 #Ancho de banda por usuario local 5kb.
max_clients=3 #Numero máximo clientes conectados.
max_per_ip=2 #Numero máximo de conexiones por ip.

Reinicio del servidor FTP

Solo tenemos que reiniciar el servicio de vsftpd para poder cargar los cambios que hemos realizado al servidor.

root@server1:/etc#/etc/init.d/vsftpd restart
• Stopping FTP server: vsftpd [OK]
• Starting FTP server: vsftpd [OK]

Comandos FTP
Para poder utilizar ahora nuestro servidor FTP seria por medio de comandos, por esto se muestra la lista de comando de ftp y su descripcion.

COMANDOS DESCRIPCION

cd [rutaRemota] Cambia de directorio dentro del servidor remoto
lcd [rutaLocal] Cambia de directorio en el equipo local
chgrp [grp] [rutaRemota] Cambia el grupo de trabajo de un fichero remoto.
El [grp] tiene que ser un Group ID
chmod  [rutaRemota] Cambia los permisos de Lectura, Escritura o de
Ejecución a un fichero remoto
chown [own] [rutaRemota] Cambia el grupo de trabajo de un fichero remoto.
El [own] tiene que ser un User ID
get [rutaRemota] [rutaLocal] Copia un recurso remoto en un equipo local
lmkdir [rutaLocal] Crea una carpeta en el equipo local
lpwd Imprime la ruta local en la cual estamos
trabajando
mkdir [rutaRemota] Crea una carpeta en el equipo remoto
put [rutaLocal] [rutaRemota] Sube un fichero o archivo desde una ruta local
hasta una ruta remota
pwd Imprime la ruta remota en la cual estamos
trabajando
exit Salimos de SFTP
rename [rutaLocal] [rutaRemota] Renombra un un fichero remoto
rmdir [rutaRemota] Borra una carpeta remota
rm [rutaRemota] Borra un fichero remoto

Bueno eso es todo, si les sirve este pequeño tuto, comenten y siquieren mas funciones de servidor para Linux, soliciten.

Saludos

Anuncios

Instalar y Configurar un Servidor LAMP – Nivel Basico Intermedio

Image

 

En este tutorial vamos a ver como instalar y configurar un servidor LAMP para Ubuntu.  Un servidor LAMP se refiere a un conjunto de aplicaciones que por sus siglas es Linux+Apache+MySQL+PHP y en este caso vamos a instalar y configurar un servidor con los siguientes componentes:

Apache 2 – Servidor Web muy versatil y uno de los más utilizados en el mundo

MySQL 5 – Uno de los servidores de base de datos más populares y utilizados en sitios y aplicaciones web

PHP 5 – Es un lenguaje interpretado utilizado para construir aplicaciones y páginas web

Y veremos algunas utilidades como phpmyadmin que nos permitirán administrar mejor nuestro servidor.

Concepto: Un servidor no es más que un PC que presta algún servicio (como mostrar páginas web).

Pasos previos:

 

  • Obtener e Instalar Ubuntu: lo pueden obtener desde la página Oficial de Ubuntu aqui dejo el link  , si el servidor Web LAMP sólo lo van a utilizar como servidor les aconsejo descargar la versión de servidor. Igualmente se puede hacer la instalación sobre la versión de Escritorio de Ubuntu.

          – Ubuntu | Server  http://www.ubuntu.com/download/server

          – Ubuntu | Desktop http://www.ubuntu.com/download/desktop

  • El servidor debe tener al menos 256 MB de memoria RAM, si no saben cuanta memoria tiene su PC simplemente ejecuten free -m en el terminal si donde dice total es mayor a 256 están bien. Yo personalmente recomiendo tener al menos 512 MB de memoria RAM
  • También pueden probar instalando el servidor en una máquina virtual ya sea con virtualbox, vmware, kvm o el manejador de máquinas virtuales de su preferencia.
  • Si van a hacer la administración del servidor LAMP de manera remota les aconsejo instalar openssh-server (sudo aptitude install openssh-server).

1. Actualizar nuestro sistema

Nunca hagas nada sin actualizar tu sistema primero, muchas mejoras y soluciones a los bugs estan disponibles.

 ~$ sudo aptitude update && sudo aptitude safe-upgrade

Con este comando se actualiza nuestra lista de repositorios y los paquetes que tengamos instalados si hay alguna actualización disponible. Si les hace cualquier pregunta acerca de actualizar algún paquete pueden contestar que sí.

2. Instalar Apache

http://httpd.apache.org/

Para instalarlo simplemente ejecutamos:

~$ sudo aptitude install apache2

Una vez finalizada la instalación, pueden comprobar la versión de su Apache ejecutando:

apache2 -v

Les aparecerá algo como:

vensign@lamp-vensign:~$ apache2 -v

Server version: Apache/2.2.12 (Ubuntu)

Server built:   Nov 12 2009 22:51:51

Los comandos para manejar el servidor Apache son los siguientes, pueden utilizar cualquiera de las dos versiones del comando la versión larga o la corta:

Función

Comando

Comando Corto

Iniciar Apache

sudo /etc/init.d/apache2 start

sudo service apache2 start

Detener Apache

sudo /etc/init.d/apache2 stop

sudo service apache2 stop

Reiniciar Apache

sudo /etc/init.d/apache2 restart

sudo service apache2 restart

Estatus Apache

sudo /etc/init.d/apache2 status

sudo service apache2 status

Nota: Si no les funciona el comando sudo service apache2 … deben instalar sysvinit-utils (especialmente en las versiones más viejas de Ubuntu).

El archivo de configuración por defecto de Apache se encuentra en el directorio /etc/apache2/ y el directorio por defecto de los archivos donde se guardarán las páginas web es en /var/www

3. Instalar MySQL

Para instalar el servidor de MySQL debemos ejecutar el siguiente comando:

~$ sudo aptitude install mysql-server

Esto instalará todos los paquetes y librerias necesarios para que funcione el servidor MySQL

Durante la instalación les aparecerá la siguiente pantalla solicitando la clave de root para el servidor MySQL, aquí deberán colocar una clave para el administrador de la base de datos, no es recomendable colocar la misma clave del usuario de Ubuntu, se recomienda también que tenga una longitud mayor a 8 caracteres y que mezclen letras, símbolos y números, no son permitidos los espacios en blanco.

Nota: No confundir esto con el usuario root de Linux, este es el usuario root de MySQL

Para comprobar el funcionamiento del servidor MySQL ejecuten el siguiente comando:

mysql -u root -p

Deberá pedirles la clave que colocaron en el paso anterior y aparecerles el prompt  mysql> algo parecido a esto:

vensign@lamp-vensign:~$ mysql -u root -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 40

Server version: 5.1.37-1ubuntu5 (Ubuntu)

 

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

Vemos que nos muestra la versión del MySQL que acabamos de instalar. Para salir del prompt de mysql y volver al terminal de Linux simplemente escriban exit y presionen Enter o Intro.

Los comandos para administrar MySQL son:

Función

Comando

Comando Corto

Iniciar MySQL

sudo /etc/init.d/mysql start

sudo service mysql start

Detener MySQL

sudo /etc/init.d/mysql stop

sudo service mysql stop

Reiniciar MySQL

sudo /etc/init.d/mysql restart

sudo service mysql restart

Estatus MySQL

sudo /etc/init.d/mysql status

sudo service mysql status

Nota: Si no les funciona el comando sudo service mysql … deben instalar sysvinit-utils (especialmente en las versiones más viejas de Ubuntu).

El archivo de configuración de mysql se encuentra en /etc/mysql/my.cnf

Ya que tenemos instalado Apache y MySQL ahora vamos a proceder a instalar PHP.

4. Instalar PHP

Para instalar PHP 5 junto con el soporte para Apache y MySQL ejecutamos el siguiente comando en el terminal:

~$ sudo aptitude install php5 libapache2-mod-php5 php5-mysql

Igual que en los pasos anteriores responde S cuando te pregunte que quieres instalar los paquetes.

Una vez que finalice la instalación debemos reiniciar el servidor Apache para que tome los cambios de la libreria de PHP ejecutamos:

sudo /etc/init.d/apache2 restart

El paso anterior es muy importante ya que si no no funcionará el PHP hasta que reinicies el servidor Apache!

Para probar PHP vamos a crear el siguiente archivo llamado prueba.php con tu editor favorito puedes utilizar nano, vim, gedit, etc.:

sudo vim /var/www/prueba.php

Nota: Aquí estoy utilizando vim para editar utilicen el editor de su preferencia

Dentro del archivo copiamos lo siguiente:

<?php phpinfo(); ?>

Guardamos al archivo y vamos al navegador y colocamos la direcciónhttp://localhost/prueba.php si estamos en el mismo servidor o http://ipdelservidor/prueba.php. Deberia desplegar una lista con toda la información de PHP, los módulos y librerias instalados.

El archivo de configuración de PHP se encuentra en /etc/php5/apache2/php.ini

Con estos cuatro pasos ya tenemos instalado un servidor LAMP con Ubuntu.

Ahora vamos a ver como instalar phpmyadmin para manejar MySQL

Instalar phpmyadmin

Phpmyadmin es una interfaz web que nos permite manejar nuestras bases de datos en MySQL en una forma más amigable. Para instalarlo en Ubuntu seguimos los siguientes pasos:

1. Ejecutamos

~$ sudo aptitude install phpmyadmin

3. Luego preguntará por la configuración de paquetes a lo que debemos responder que Si

Seleccionar Si en configuracion de Paquetes

4.  El siguiente dialogo nos pregunta por la clave que configuramos para el usuario root de MySQL que hicimos en los pasos anteriores

Clave root MySQL

5. Por último nos pregunta la clave que queremos darle al usuario de administración de phpmyadmin, escriba la clave que prefieras, si la dejas en blanco y presionas Intro o Enter generará una clave aleatoria

Clave administración phpmyadmin

Con esto finalizará la instalación de phpmyamin.

Para ingresar a la interfaz web de phpmyadmin vamos a nuestro navegador web y colocamos la dirección http://localhost/phpmyadminó http://ipdelservidor/phpmyadmin Ahí deben colocar el usuario root y la clave de root para MySQL para administrar todas las bases de datos, a medida que creen nuevos usuarios y base de datos pueden entrar con otros usuarios.

Con esto ya tenemos nuestro Servidor LAMP listo.  

 

Fuente : Vensing 

Configuración de Red en Ubuntu utilizando la línea de comandos

Image

Para todo novato en Linux un inmenso obstaculo es la configuracion de red que en muchos casos es la causa para no seguir su iniciacion en este magestuoso y adictivo OS, para ello este post lo básico para cualquier red basada en sistemas Unix/Linux es el Protocolo de control de transporte/Protocolo de Internet (TCP / IP) en combinación de tres protocolos. Esta combinación se compone de la dirección IP (Internet Protocol), Protocolo de control de transporte (TCP) y Protocolo de datagramas Universal (UDP).

Regularmente la mayoría de los usuarios configuran su tarjeta de red durante la instalación de Ubuntu. Sin embargo, puede usar el comando ifconfig en el intérprete de comandos de Ubuntu o las herramientas gráficas de configuración de red, como network-admin, para modificar, añadir o eliminar dispositivos de la red en su sistema.

Configurar manualmente la interfaz de red de Ubuntu via la línea de comandos
Es posible configurar una interfaz de red desde la línea de comandos utilizando los comandos de red para cambiar la configuración actual o mediante la edición de una serie de archivos de sistema.

Configuración de la dirección DHCP de la tarjeta de red
Si desea configurar

su tarjeta de red para obtener una dirección DHCP necesita editar el archivo /etc/network/interfaces lo editamos de la siguiente manera:

:~$ sudo vi /etc/network/interfaces
# The primary network interface – use DHCP to find our address
auto eth0
iface eth0 inet dhcp
Configurar manualmente la dirección IP de la tarjeta de red
Si desea configurar la dirección IP editamos el archivo /etc/network/interfaces y tecleamos lo siguiente:

:~$ sudo vi /etc/network/interfaces
# The primary network interface # La interfaz de red primaria
auto eth0
iface eth0 inet static
address 10.0.10.100
gateway 10.0.10.1
netmask 255.255.255.0
network 10.0.10.0
broadcast 10.0.10.255
La red de la configuracion anterior es una tipica clase A, pero la hemos segmentado en 3 octetos para ser de 24 bits. Después de introducir toda la información y guardar el archivo, se necesita reiniciar los servicios de red utilizando el siguiente comando:

:~$ sudo /etc/init.d/networking restart
Creación de una segunda dirección IP o dirección IP Virtual en Ubuntu
A veces la solucion para nuestro diseño de red es asignar una o mas direcciones IPs en nuestro servidor.

:~$ sudo vi /etc/network/interfaces
auto eth0:1
iface eth0:1 inet static
address 192.168.1.10
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
Después de introducir toda la información anterior se necesita reiniciar los servicios de red utilizando el siguiente comando que vimos anteriormente. En este ejemplo, nuestro servidor esta conectado a dos redes diferentes. Esto le da capacidad de servir como pasarela o router entre ambas redes.

Establecer el nombre de host del sistema
Para ver el nombre del host tecleamos:
:~$ hostname

Podemos establecer el nombre del host tecleando:

:~$ sudo /bin/hostname NUEVO_NOMBRE

Cuando su sistema arranca automáticamente se lee el nombre de host del archivo /etc/hostname

Configuración de DNS en Ubuntu
Cuando se trata de la configuración DNS de Ubuntu no se diferencia de otras distribuciones. Puede añadir el nombre de host y direcciones IP en el archivo /etc/hosts para búsquedas estática. Para hacer que el sistema consulte con un servidor de nombres en especifico sólo tiene que añadir sus direcciones en /etc/resolv.conf.

Por ejemplo, una máquina que debe realizar búsquedas desde el servidor DNS con la dirección IP 192.168.1.200 el archivo resolv.conf tendra lo siguiente:

search midominio.com
nameserver 192.168.1.200

Anonymous: Operacion Marzo Negro #OpMarzoNegro [01-03-2012]

Esto es una guerra por el control de la RED ellos empezaron con megaupload y si no los frenamos ahora seguiran con toda la red mundial facebook, twiter, youtube, a todo le encontraran la excusa y lo acusaran de pirateria de revolucion. Despertemos!!

tenemos la obligacion de defender lo que nos pertenece el INTERNET

si a ANOYMUS si al MARZO NEGRO!

Knowledge is free.
We are Anonymous.
We are Legion.
We do not forgive.
We do not forget.
Expect us!

El conocimiento es libre.
Somos Anónimos.
Somos Legión.
No perdonamos.
No olvidamos.
¡Esperadnos!