miércoles, 23 de diciembre de 2009

Reportes de Squid con SARG

SARG: Squid Analysis Report Generator

SARG es un Squid Analysis Report Generator que te permite ver "dónde" están yendo tus usuarios dentro de Internet. SARG genera informes en HTML, con muchos campos, como: usuarios, Direcciones IP, bytes transmitidos, sitios web y tiempos.

1. Instalación:

Para instalar sarg en Centos 5 basta con ejecutar:

#yum -y install sarg

Y luego editar el archivo de configuración ubicado en /etc/sarg

# vim sarg.conf

Cambiamos el lenguaje por defecto viene “English” simplemente cambiamos a Spanish y más abajo podemos darle un titulo a nuestros reportes de la siguiente manera:



Creamos un directorio donde se puedan almacenar todos los reportes, esto dentro de la ruta de publicación de Apache /var/www/html, de tal manera que cuando queramos acceder a los reportes podemos hacerlo en el browser: http://localhost/reportes

# mkdir reportes



Y cambiamos el formato de hora a nuestra conveniencia en nuestro caso al formato e (europeo) dd/mm/yy:


Guardamos y listo…..


2. Ejecución

SARG tiene diversas opciones para generar diferentes tipos de reportes de acuerdo a nuestra necesidad, veremos a continuación las más importantes.

En la consola ejecutamos el comando:

# sarg

Esperamos que se genere el reporte al 100% e ingresamos vía web desde cualquier maquina de la red a los reportes SARG.


Ahora hacemos el reporte de un solo IP para ver a donde esta accediendo, de la siguiente manera:

# sarg -a 192.168.1.6

Accedemos vía web y seleccionamos el reporte también presenta las 4 categorías anteriormente mencionadas.



Reporte por dominio, con esta opción podemos ver todos los IP que acceden a un dominio específico con el siguiente comando:

# sarg -s www.hotmail.com

Nos muestra todos los IP que accedieron al dominio www.hotmail.com, el día, la hora y el tiempo que estuvieron en dicha página web.


lunes, 30 de noviembre de 2009

Configuración de Servidor FTP

Un Servidor FTP es un equipo que generalmente esta conectado a Internet WAN o una LAN desde el cual se pueden bajar o subir archivos mediante el protocolo FTP.

Servidor VSFTPD siglas de Very Secure FTP Daemon es un software utilizado para implementar servidores de archivos a través del protocolo FTP. Se caracteriza por su seguridad y configuración sencilla, en comparación con otras soluciones. Hoy en día se dice que VSFTPD es quizá el Servidor FTP más seguro del mundo.

Antes de empezar con la implementación del Servidor FTP debemos saber que el protocolo FTP requiere de múltiples puertos de red para funcionar correctamente. Cuando una aplicación cliente FTP inicia una conexión a un servidor FTP, abre el puerto 21 en el servidor, conocido como el puerto de comandos. Se utiliza este puerto para arrojar todos los comandos al servidor. Cualquier petición de datos desde el servidor se devuelve al cliente a través del puerto 20 llamado puerto de datos. Cuando el cliente FTP inicia una transferencia de datos, el servidor abre una conexión desde el puerto 20 en el servidor para la dirección IP y un puerto aleatorio sin privilegios (mayor que 1024) especificado por el cliente. Debido a esto muchos firewall normalmente rechazan las conexiones entrantes desde servidores FTP.

Para solucionar este pequeño obstáculo tenemos que crear reglas en el firewall que nos permitan encontrar puertos dinámicos de escucha de FTP, reglas para habilitar Connection Tracking. Bueno ahora empezamos con la implementación del Servidor FTP; el paquete requerido para este servidor es VSFTPD.

Instalamos software requerido:

# yum -y install vsftpd

Fichero de Configuración
El fichero para configurar es vsftpd.conf, cuya ruta es: /etc/vsftpd/vsftpd.conf
Entramos:

# cd /etc/vsftpd/
# ls
(observamos el fichero de configuración)

es bueno hacer un backup del archivo.conf que viene por defecto:

# cp vsftpd.conf vsftpd.conf.backup

Ahora editamos el archivo con nuestro editor de texto preferido: # vim vsftpd.conf

Podemos configurar nuestro servidor FTP de tal manera que los usuarios puedan acceder como usuarios anónimos (no requiere autenticación) o usuarios autenticados.

1. Configuración de parámetros para usuarios anónimos

Para configurar correctamente un servidor FTP para usuarios anónimos debemos conocer algunos parámetros los que detallamos a continuación:

Parámetro anomymous_enable

Con este parámetro definimos si se van a permitir los accesos anónimos al servidor. Establecemos valor YES o NO. anonymous_enable=YES

Parámetro local_enable

Permitimos los accesos autenticados de los usuarios locales del sistema. Establecemos YES o NO.

local_enable=NO

Parámetro write-enable

Aquí definimos si se permite el mandato “write” (escritura) en el servidor. Establecemos YES o NO.

write_enable=YES

Parámetro anon_upload_enable

Con esto podemos permitir a usuario anónimos subir archivos al servidor. Antes tiene que estar activado el parámetro global write_enable.

anon_upload_enable=YES

Parámetro anon_mkdir_write_enable

Este parámetro permite a los usuarios anónimos, crear directorios en el servidor.

anon_mkdir_write_enable=YES

Parámetro ftp_banner

Este parámetro permite establecer una bienvenida cada vez que algún usuario se conecte al servidor.

ftpd_banner=Bienvenido al Servidor FTP de RedLinux S.R.L.

Parámetros para el Control del Ancho de Banda

Parámetro anon_max_rate

Con este parámetro limitamos la tasa de transferencia en bytes por segundo para los usuarios anónimos. Por ejemplo si queremos limitar la tasa de transferencia a 50 Kb por segundo para los usuarios anónimos: (esta línea la colocamos al final de vsfftpd.conf) .

anon_max_rate=51200

2. Configuración de parámetros para usuarios locales (autenticados)

Esta es la configuración de un servidor FTP para usuarios locales:
Parámetro anomymous_enable

Con este parámetro definimos si se van a permitir los accesos anónimos al servidor. Establecemos valor YES o NO.

anonymous_enable=NO (o comentamos la línea)

Parámetro local_enable

Permitimos los accesos autenticados de los usuarios locales del sistema. Establecemos YES o NO.

local_enable=YES

Parámetro write-enable

Aquí definimos si se permite el mandato “write” (escritura) en el servidor. Establecemos YES o NO.

write_enable=YES

Parámetro anon_upload_enable

anon_upload_enable=NO (o comentamos la línea)

Parámetro anon_mkdir_write_enable

anon_mkdir_write_enable=NO (o comentamos la línea)

Parámetro ftp_banner

Este parámetro permite establecer una bienvenida cada vez que algún usuario se conecte al servidor.

ftpd_banner=Bienvenido al Servidor FTP de RedLinux S.R.L.

Parámetro chroot_local_user y chroot_list_enable


El parámetro chroot_local_user permite o no a los usuarios locales acceder al servidor. Colocamos este parámetro a la altura de la siguiente sección del vsftpd.conf.

# 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().
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

Parámetro local_max_rate

Con este parámetro limitamos la tasa de transferencia en bytes por segundo para los usuarios locales. Por ejemplo si queremos limitar la tasa de transferencia a 50 Kb por segundo para los usuarios locales. Esta línea la ponemos al final del archivo.

local_max_rate=51200

Finalmente iniciamos por primera vez el servidor VSFTPD:

# service vsftpd start

Para que se inicie automáticamente cada vez que iniciemos el sistema le damos:

# chkconfig vsftpd on

Para para vsftpd:

# service vsftpd stop

Para para reiniciar el servicio:

# service vsftpd restart

### espero les sirva ### se aceptan comentarios y sugerencias....gracias RDS.....

viernes, 30 de octubre de 2009

Configuración de Servidor Proxy

1. Servidor PROXY

Un servidor Proxy , es básicamente un programa que acepta peticiones de clientes para las URL, obtiene, y devuelve los resultados al cliente. Los Proxy se utilizan en redes en la que los clientes no tienen acceso directo a Internet, pero tienen que ser capaces de ver páginas Web y para la memoria caché de las páginas comúnmente solicitadas, de manera que si más de un cliente quiere ver la misma página, sólo tiene que ser una vez descargada.


1.1. Squid PROXY

Squid es el Proxy más popular servidor para sistemas Unix. Es libre y está disponible para su descarga desde www.squid-cache.org, y se incluye como paquete estándar con todas las distribuciones de Linux y muchos otros sistemas operativos. Squid soporta Proxy, caching y aceleración HTTP, y tiene un gran número de opciones de configuración para controlar el comportamiento de estas características.

2. Instalación y Configuración de Squid

Empezamos instalando squid y httpd:

# yum - y install squid httpd

Squid utiliza el fichero de configuración ubicado en la siguiente ruta:

/etc/squid/squid.conf, el cual podremos trabajar con nuestro editor preferido.

Configuración squid.conf

Antes de empezar a configurar algún servicio en Linux es recomendable hacer una copia del archivo de configuración que viene por defecto, esto lo hacemos de la siguiente manera:

# cp squid.conf squid.conf.original

Ahora pasamos a configurar squid.conf. Usamos algún editor vim, mcedit, etc. Entramos en la ruta absoluta del archivo de configuración:

# cd /etc/squid
# vim squid.conf


Configurar: parámetro http_port: (puerto que utilizará Squid)

De acuerdo a las asignaciones hechas por IANA y continuadas por la ICANN desde el 21 de marzo de 2001, los Puertos Registrados recomendados para servidores intermediarios (proxies) pueden ser el 3128 y 8080 a través de TCP.

De modo predefinido Squid utilizará el puerto 3128 para atender a peticiones, sin embargo podemos especificar que lo haga en cualquier otro puerto disponible o bien que lo haga en varios puertos a la vez.

Si queremos darle mayor seguridad, vinculamos el servicio a una IP que solo se pueda acceder desde la red local. Si nuestro servidor tiene la dirección IP: 192.168.1.45, hacemos lo siguiente:


Configurar: parámetro cache_mem

Este parámetro cache_mem establece la cantidad de memoria para:

-Objetos de transito
-Objetos frecuentemente utilizados (Hot).

Por defecto vienen 8 MB. Podemos especificar una cantidad mayor dependiendo de nuestras necesidades.

Si tenemos un servidor con al menos 128 MB de RAM, establecemos 16 MB como valor para este parámetro:

cache_mem 16 MB


Configurar: parámetro cache_dir

Establecemos que tamaño deseamos que tenga el caché en el disco duro para Squid. De modo predefinido Squid utilizará un caché de 100 MB, de modo que encontramos la siguiente línea:

cache_dir ufs /var/spool/squid 100 16 256

Podemos incrementar el tamaño del caché según nuestra necesidad.

Mientras más caché tengamos, más objetos se almacenarán en éste y por lo tanto se utilizará menos ancho de banda. Por ejemplo establecemos un caché de 10000 MB:

cache_dir ufs /var/spool/squid 10000 16 256

Los números 16 y 256 significan que el directorio del caché contendrá 16 directorios subordinados con 256 niveles cada uno. No es necesario modificar estos números.
Configurar: parámetro cache_mgr

De modo predefinido, si algo ocurre con el caché, como por ejemplo que muera el proceso, se enviará un mensaje de aviso a la cuenta webmaster del servidor. Puede especificarse una distinta si acaso de considere conveniente.

cache_mgr webmaster@redlinux.com

Controles de Acceso

Es necesario establecer Listas de Control de Acceso que definan una red o bien ciertos equipos en particular. A cada lista se le asignará una Regla de Control de Acceso que permitirá o denegará el acceso a Squid.

* Listas de Control de Acceso

La sintaxis para una lista de control de acceso por lo general es la siguiente:

acl [nombre de la lista] src [lo que compone la lista]

Si deseamos establecer una lista de control de acceso que abarque a toda la red, tenemos que definir la dirección IP correspondiente a la red y la máscara de sub-red.

Por ejemplo:

Mi red: 192.168.1.0 (nuestra red local) Máscara de sub-red: 255.255.255.0
La lista sería:

acl mired src 192.168.1.0/255.255.255.0

También podemos especificar una Lista de Control de Acceso especificando un fichero que contenga una lista de direcciones IP. Por ejemplo un grupo de IPs de los jefes.

Primero creamos el fichero dentro de la ruta de Squid:

# cd /etc/squid
# touch jefes


Editamos el fichero e ingresamos las direcciones IP:

# vim jefes
192.168.1.6
192.168.1.7
192.168.1.8
192.168.1.9
192.168.1.10

Aquí estamos definiendo la Lista de Control de Acceso denominada jefes estaría compuesta para las IP incluidas en el fichero /etc/squid/jefes. La lista sería:

acl jefes src “/etc/squid/jefes”

Reglas de Control de Acceso

Estas definen si se permite o no el acceso hacia Squid. Se aplican a las Listas de Control de Acceso. Deben colocarse en la sección de reglas de control de acceso, es decir, a partir de donde se localiza la siguiente leyenda:

La sintaxis básica es la siguiente:

http_access [deny o allow] [lista de control de acceso]

Ahora un ejemplo con la Lista de Control de Acceso jefes definida anteriormente:

http_access allow jefes

También podemos definir reglas haciendo uso de la expresión ! que significa no. Por ejemplo: Dos listas de control de acceso una denominada jefes (acceso a Squid), y mired (sin acceso). Aquí establecemos que solo la lista jefes tendrá acceso a squid excepto todo lo que comprenda a mired.
http_access allow jefes !mired

Esto tipo de reglas se aplican cuando tenemos un grupo de IP dentro de un rango de red

al que se debe permitir acceso, y otro grupo dentro de la misma red al que se debe denegar el acceso.

Aplicando Listas y Reglas de Control de Acceso

Ahora vamos a ver algunos casos donde podemos aplicar listas y reglas de control de acceso.

Ejemplo:

Si tenemos una red 192.168.1.0/255.255.255.0, si se desea definir toda la red local, utilizaremos la siguiente línea en la sección de Listas de Control de Acceso:

acl mired src 192.168.1.0/255.255.255.0

Ahora la sección de listas de control de acceso deberá quedar más o menos del siguiente modo:

# Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.0
acl mired src 192.168.1.0/255.255.255.0

Ahora procedemos a aplicar la regla de control de acceso:

http_access allow mired

Ahora la sección de reglas de control de acceso deberá quedar más o menos del siguiente modo:

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTES
#

La regla http_access allow mired permite el acceso a squid a la Lista de Control de Acceso denominada mired, la cual está conformada por 192.168.1.0/255.255.255.0. Lo que significa que cualquier maquina desde 192.168.1.1 hasta 192.168.1.254 podrá acceder a Squid.

Iniciado Squid

Una vez que terminamos de configurar Squid, ejecutamos por primera vez la siguiente instrucción:

# service squid start

Si necesitamos reiniciar el servicio para ejecutar algún cambio de configuración, hacemos:

# service squid restart

Para que Squid se inicie de manera automática cada vez que iniciemos el sistema, hacemos:

# chkconfig squid on

Restricción de Páginas Web Indebidas

Denegar el acceso a ciertos sitios de red permite hacer un uso más racional del ancho de banda. El proceso es simple, y consiste en denegar el acceso a nombres de dominio o direcciones Web que contengan patrones en común.

Definiendo patrones comunes

Debemos de generar una lista que contenga las direcciones Web y palabras utilizadas en nombres de ciertos dominios.

Ejemplos:

http://www.sitioporno.com/
http://www.otrositioporno.com/
sitioindeseable.com
otrositioindeseable.com
napster
sex
porn
mp3
xxx
adult
warez
celebri

Se recomienda denegar la dirección web del sitio, así como también el dominio, tal como se indico en el ejemplo anterior

Estos dominios y palabras las ingresaremos dentro de una lista en la ruta:

/etc/squid/sitiosdenegados

Previamente deberíamos haber creado el fichero sitiosdenegados dentro de /etc/squid

Parámetros en /etc/squid/squid.conf

Una vez generado el fichero sitiosdenegados, también debemos definir una Lista de Control de Acceso que defina a dicho fichero y la denominaremos “sitiosdenegados”.

La línea correspondiente debería quedar así:

acl sitiosdenegados url_regex “/etc/squid/sitiosdenegados”

Debemos tener lo siguiente:

Ahora generamos la Regla de Control de Acceso correspondiente a la lista “sitiosdenegados”, de la siguiente manera:

http_access allow mired !sitiosdenegados

Luego en squid.conf tendremos:

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTES
#
http_access allow localhost
http_access allow mired !sitiosdenegados
http_access deny all

Para que se efectúen los cambios de configuración ejecutamos:

# service squid restart

Restricción de Archivos por su Extensión

Squid permite denegar el acceso a ciertos tipos de extensiones, lo que nos permite hacer

un uso más racional del ancho de banda. El funcionamiento es simple, y consiste en denegar el acceso a ciertos tipos de extensiones que coincidan con lo establecido en una Lista de Control de Acceso.

Definiendo elementos de la Lista de Control de Acceso

Primero debemos generar una lista que contenga las extensiones que vamos a denegar, esta lista la generamos dentro de /etc/squid.

Ejemplo:

\.avi$
\.mp4$
\.mp3$
\.mpg$
\.mpeg$
\.exe$

Esta lista debe ser guardada con todas las extensiones de fichero que consideremos pertinentes, la guardamos como /etc/squid/listaextensiones.

Parámetros en /etc/squid/squid.conf

Debemos definir una Lista de Control de Acceso que a su vez defina al fichero /etc/squid/listaextensiones. Esta lista será denominada “listaextensiones”. Lo que debe quedar de la siguiente manera:

acl listaextensiones urlpath_regex “/etc/squid/listaextensiones”

Habiendo hecho esto, en la sección de Lista de Control de Acceso debemos tener:

Ahora generamos una Regla de Control de Acceso para la lista “listaextensiones”, de la siguiente manera:

http_access allow mired !sitiosdenegados !listaextensiones

Para que se efectúen los cambios de configuración reiniciamos Squid:

# service squid restart
###espero les sirva RDS......####

viernes, 25 de septiembre de 2009

Herramientas para Monitorear el tráfico de Red

Como a todos nosotros que nos gusta administrar la red, debemos estar siempre atentos con aquellos usuarios que hacen abuso del ancho de banda. Existen herramientas que nos ayudan a monitorear el tráfico de red entre ellas tcptrack, iptraf, iftop, y por ahi ifstat para ver como va nuestro consumo de ancho de banda...
Antes de instalar las herramientas anteriormente descritas debemos primero instalar los repositorios DAG en nuestro CentOS.
  • Instalar repositorios DAG
Esto es importantísimo en algunas ocasiones que queramos instalar un paquete con yum en CentOS (por ejemplo rar y unrar para comprimir y descomprimir paquetes con extensión .rar), si lo intentamos nos saldrá un mensaje"nothing to do", que se muestra cada vez que CentOS no encuentra el paquete para instalarlo. Esto debido a que los repositorios que vienen por defecto, no tienen el paquete. Entonces instalamos el paquete rpmforge, que nos permitirá instalar un sin fin de paquetes (que no vienen por defecto en CentOS) de los repositorios.


Para 32 bits:

Click en este enlace : rpmforge_32bits- Abre una consola y teclea:

# cd /root/Desktop (Directorio por defecto que utiliza Mozilla para descargar los paquetes. Si lo cambiaste entrar en el directorio de descarga.)
# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

Para 64 bits:

Click en este enlace : rpmforge_64bits- Abre una consola y teclea:# cd /root/Desktop (Directorio por defecto que utiliza Mozilla para descargar los paquetes. Si lo cambiaste entrar en el directorio de descarga.)

# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

Luego de esto ya podemos instalar lo demas.....

  • Instalando herramientas de monitoreo

TCPtrack: Es un sniffer que muestra información acerca de las conexiones TCP, se ve en una interfaz de red. Se observa de manera pasiva las conexiones en la interfaz de red. Muestra también las direcciones de origen y destino así como también los puertos, el estado de las conexiones, el tiemo de inactividad y el consumo del ancho de banda. Es una herramienta muy interesante.

Podemos instalarla como rpm, tar.gz o simplemente con yum, de la siguiente manera

# yum -y install tcptrack

Una vez instalada solo ejecutamos

# tcptrack -i eth1 (interfaz que querramos monitorear)



IPtraf: Es un progama informático basado en consola que proporciona estadísticas de red. Funciona recolectando información de las conexiones TCP, como las estadísticas y la actividad de las interfaces, así como las caídas de tráfico TCP y UDP. Se encuentra disponible en sistemas operativos GNU/Linux.

Instalamos iptraf con el siguiente comando.

# yum -y install iptraf

# ahora para usarlo simplemente tenemos que ejecutar en la consola el sigte comando en consola

# iptraf .................................... (elegimos la primera opción IP traffic monitor)



# luego se muestran todas nuestras interfaces seleccionamos la que queremos monitorear en mi caso eth1 (mi redlan) y enter



## y así podemos ver lo que esta ocurriendo en nuestra red...




IFTOP: muestra el uso de ancho de banda en una interfase; iftop escucha el tráfico de red en una interfase indicada por su nombre, o en la primera interfase que encuentre que le parezca una interfase externa si no ha especificado la interfase, y muestra una tabla con el uso actual del ancho de banda por parte de máquinas involucradas, iftop debe ejecutarse con suficientes privilegios para monitorear todo el tráfico de red en la interfase dada, en la mayoría de los sistemas ello significa ejecutarse con los privilegios de root.

# instalamos iftop:

# yum -y install iftop

# ahora empezamos a monitorear la red

# iftop -i eth1 ......................... (eth=interfaz que deseas monitorear. En mi caso eth1 mi red LAN)



IFSTAT: ifstat es una herramienta para informar sobre el ancho de banda en las interfaces de red.
# instalamos ifstat

# yum -y install ifstat

# y ejecutamos en la consola:

# ifstat ..................................................(nos devolverá)


## bye spero les sirva .... RDS ##

viernes, 17 de julio de 2009

Instar paquetes con RPM y YUM


I. INSTALAR PAQUETES CON EL COMANDO RPM

RPM Package Manager (o RPM, originalmente llamado Red Hat Package Manager) es una herramienta de administración de paquetes pensada básicamente para Linux. Es capaz de instalar, actualizar, desinstalar, verificar y solicitar programas. RPM es el formato de paquete de partida de Linux Estándar Base. Es decir, para instalar o actualizar software de sistema.


Originalmente desarrollado por Red_Hat para Red_Hat_Linux, en la actualidad muchas distribuciones GNU/Linux lo usan, como: Fedora Linux, Mandriva Linux, SuSE Linux y Conectiva Linux. También se ha aportado a otros sistemas operativos.


1. Instalar un paquete RPM:

# rpm –ivh nombredelpaquete.rpm

2. Desinstalar un paquete RPM:

# rpm –e nombredelpaquete.rpm

3. Actualizar un paquete RPM:

# rpm –Uvh nombredelpaquete.rpm

Nota: Cuando este comando es utilizado, RPM no desinstala la versión anterior del paquete e instala la nueva versión.

4. Consulta de un paquete RPM:

#rpm –q nombredelpaquete

Ejemplo:

[root@ricardo]# rpm –q squid
squid-2.6.STABLE6-3.el5

Nota: El comando rpm –q mostrará el nombre del paquete, la versión y el número de la realización del paquete instalado. Usted puede usar este comando para verificar si el paquete está instalado o no en el sistema.

5. Información del Paquete RPM:

# rpm –qi nombredelpaquete

Nota: Este comando muestra la información del paquete, incluyendo el nombre, versión, y descripción del programa instalado.

6. Lista de archivos del paquete rpm:

# rpm –ql nombredelpaquete

Nota: Este comando mostrará toda la lista de todos los archivos instalados por el paquete RPM. Por lo tanto esto funcionará solamente cuando el paquete se encuentre instalado en su sistema.

II. INSTALAR PAQUETES CON EL COMANDO YUM

Yum es un paquete administrador de software (software package manager). Es una herramienta muy útil para instalar, actualizar y remiver paquetes junto con sus dependencias en distribuciones Linux basadas en RPM (RedHat, Fedora, CentOS, etc). Automáticamente determina las dependencias necesarias y lo que debe realizarse para instalar paquetes.

· yum install paquete

Instala la última versión del paquete indicado. Pide confirmación.

Ejemplo:

# yum install mysql


· yum –y install paquete

Instala la última versión del paquete indicado. Instala sin pedir confirmación.

Ejemplo:

# yum –y install squid


· yum – y install paquete 1 paquete2

Instala la última versión de los paquetes indicados, no hay límite de cuantos paquetes se pueden indicar. Instala sin pedir confirmación.

Ejemplo:

# yum –y install mysql mysql- server php-mysql


· yum –y update

Actualiza todos los paquetes en el sistema.

# yum –y update

· yum – y update paquete

Actualiza solo el paquete indicado.

Ejemplo:
# yum –y update httpd

· yum – y update paquete1 paquete2

Actuliza los paquetes indicados.

Ejemplo:
# yum – y update opera firefox

· yum info paquete

Descripción completa del paquete indicado.

Ejemplo:
# yum info samba

· yum remove paquete

Remueve el paquete indicado.

Ejemplo:
# yum remove telnet

· yum remove paquete1 paquete2

Ejemplo:
# yum remove telnet vncserver

· yum search paquete

Busca el paquete en la base de datos de paquetes instalados o para instalar. “Paquete” puede ser una palabra parcial del paquete a buscar.

jueves, 18 de junio de 2009

Comandos


Al ya tener una breve historia de lo que es GNU/Linux, empezaré dejando material sobre los comandos de Linux para ir familiarizandonos con esta "belleza" y más adelante empezaremos con la configuración de servicios.

Espero sus comentarios, sugerencias, aportes, críticas constructivas, y sobre todo disposición a aprender juntos......

La distro que utilizaré para ejemplos será CentOS Linux...

Aquí dejo la lista de comandos más indispensables para Linux:

· Comando: ls

list: listar. Es el primer comando que todo linuxero debe aprender. Nos muestra el contenido de la carpeta que le indiquemos después. Por ejemplo. Si queremos que nos muestre lo que contiene /etc:

# ls /etc

Si no ponemos nada interpretará que lo que queremos ver es el contenido de la carpeta donde estamos actualmente:

# ls

Además acepta ciertos argumentos que pueden ser interesantes. Para mostrar todos los archivos y carpetas, incluyendo los ocultos:

# ls -a

Para mostrar los archivos y carpetas junto con lo que ocupa, etc:

# ls -l

Además se pueden observar los argumentos. Además de mostrar también los ocultos:

# ls -la

· Comando cd

change directory: cambiar directorio. Podemos usarlo con rutas absolutas o relativas. En las absolutas le indicamos toda la ruta desde la raíz (/). Por ejemplo, estemos donde estemos, si escribimos en consola…

# cd /etc/squid

…nos llevará a esa carpeta directamente. Del mismo modo si escribimos…

# cd /

…nos mandará a la raíz del sistema de ficheros.

Las rutas relativas son relativas a algo, y ese algo es la carpeta donde estemos actualmente. Imaginad que estamos en /home y queremos ir a una carpeta que se llama temporal dentro de nuestra carpeta personal. Con escribir…

# cd richard/temporal

…nos situará allí. Como vemos, hemos obviado el /home inicial ya que si no lo introducimos toma como referencia el directorio donde estamos, que es ese.

¿Y qué sucede si escribimos tan sólo…

# cd

Sí, sólo “cd”. Esto lo que hace es que te lleva a tu carpeta personal directamente y estemos donde estemos. Es algo realmente muy práctico, muy simple y que no todos conocen.

· Comando mkdir

make directory: hacer directorio. Crea una carpeta con el nombre que le indiquemos. Nuevamente podemos usar rutas absolutas y relativas.

Por ejm: creamos la carpeta prueba dentro de mi carpeta personal:

# mkdir /home/richard/prueba

Si ya estamos en nuestra carpeta personal. Por ejem: /home/richard

# mkdir prueba

· Comando rm

remove: borrar. Borra el archivo o la carpeta que le indiquemos. Como antes se puede indicar la ruta completa o el nombre del archivo. Para borrar un archivo.

Por ejem: borramos la carpeta anteriormente creada:

# rm /home/richard/prueba

Si ya estamos en nuestra carpeta personal: /home/richard

# rm prueba (todo esto con una carpeta vacía)

Para borrar una carpeta que contiene archivos y/o otras carpetas que pueden incluso contener más:

# rm -r nombre_carpeta

Otras opciones: “-f” no te pide una confirmación para eliminar o “-v” va mostrando lo que va borrando.

· Comando cp

copy: copiar. Copia el archivo indicado donde le digamos. Aquí podemos también jugar con las rutas, tanto para el fichero origen, como en el del destino. También podéis poner el nombre que le queréis poner a la copia. Por ejemplo, si estuviéramos en /etc/squid y quisiéramos hacer una copia de seguridad de squid .conf en nuestra carpeta personal:

# cp squid.conf /home/carpetapersonal/squid.conf.backup

· Comando mv

move: mover. Es igual que el anterior, sólo que en lugar de hacer una copia, mueve directamente el archivo con el nombre que le indiquemos, puede ser otro distinto al original:

# mv /etc/prueba.html /home/carpetapersonal/prueba.html

Otro uso muy práctico que se le puede dar es para renombrar un archivo. Basta con indicar el nuevo nombre en el segundo argumento con la misma ruta del primero. En este ejemplo suponemos que ya estamos en la carpeta que lo contiene:

# mv prueba.html prueba1.html

· Comando find

find: encontrar. Busca el archivo o carpeta que le indiques:

# find / -name prueba

El comando anterior buscaría en todos los sitios las carpetas y archivos que se llamen prueba. Si tuviéramos la seguridad de que se encuentra en /var por ejemplo, se lo indicaríamos:

# find /var -name prueba

Si no estamos muy seguros del nombre podemos indicárselo con comodines. Supongamos que el nombre de lo que buscamos contiene “prue”, en la misma carpeta de antes:

# find /var -name *prue*

Tiene otras opciones. Por ejemplo podemos decirle que encuentre los archivos/carpetas de más de 1500 KB:

# find / -size +1500

O los archivos/carpetas contienen el nombre “prue” y tienen menos de 1000 KB:

# find / -name *prue* -size -1000

· Comando clear

clear: despejar. Limpia la pantalla/consola quedándola como si acabáramos de abrirla.

# clear

· Comando ps

process status: estado de los procesos. Nos muestra lo que queramos saber de los procesos que están corriendo en nuestro sistema. Cada proceso está identificado con un número llamado PID. Si hacemos…

# ps -A

…nos mostrará un listado de todos los procesos, su PID a la izquierda y su nombre a la derecha. Si queremos más información:

# ps aux

· Comando kill

kill: matar. Elimina el proceso que le indiquemos con su PID:

# kill

En ocasiones el proceso no “muere” del todo, pero se le puede forzar al sistema para que lo mate con seguridad del siguiente modo:

# kill -9 (numero de proceso)

· Comando useradd

useradd: permite añadir nuevos usuarios al sistema, además de establecer la información por defecto de los nuevos usuarios que se añadan. Se encuentra enlazado simbólicamente por el nombre adduser. Ambos se pueden usar indistintamente:

Por ejm: crear los usuarios: ricardo y Javier

# useradd ricardo …crea el usuario ricardo con las propiedades por defecto.
# useradd javier …crea el usuario javier con las propiedades por defecto.

· Comando userdel

userdel: estecomando permite eliminar definitivamente un usuario del sistema.

# userdel Ricardo …eliminar el usuario Ricardo y borra su directorio base.

· Comando passwd

passwd: este comando permite cambiar el password de un usuario. Si se invoca sin argumentos se asume el usuario actual.

# passwd ricardo …coloca una contraseña para el usuario ricardo.

Historia GNU/Linux

1. GNU/Linux

Es un sistema operativo tipo Unix que se distribuye bajo la Licencia Pública General de GNU (GNU/GPL), es decir que es software libre. Su nombre proviene del Núcleo de Linux, desarrollado desde 1991 por Linus Torvalds. Es usado ampliamente en servidores y super-computadores y cuenta con el respaldo de corporaciones como Dell, Hewlett Packard, IBM, Novell, Oracle, Red Hat, Sun Microsystems.


Las variantes de estos sistemas se denominan “distribuciones” y su objetivo es ofrecer una edición que cumpla con las necesidades de determinado grupo de usuarios. Algunas son gratuitas y otras de pago, algunas insertan software no libre y otras contienen solo software libre. Existen numerosos grupos de usuarios de Linux en casi todos los países del mundo.


2. Razones para usar GNU/Linux

• Libre de los Virus

Linux difícilmente tendrá algún virus. De hecho, un virus en Linux no es imposible pero Linux hace que esto sea bien difícil que pase, por varias razones:
La mayoría de personas usa Microsoft Windows y los delincuentes informáticos quieren hacer tanto daño (o controlar) como sea posible; es por esto que ellos apuntan sus ataques a Windows.


• Es más seguro

Ya que la gran mayoría de los ataques de hackers son dirigidos a servidores Windows al igual que los virus los cuales se enfocan principalmente a servidores con éste sistema operativo.
La plataforma Linux es más robusta lo cual hace más difícil que algún intruso pueda violar el sistema de seguridad de Linux.


• Estabilidad

Las últimas versiones de Windows, especialmente las “Profesionales” se están volviendo más estables que antes. Pero esta clase de problema todavía aparece muy a menudo. Definitivamente ningún sistema operativo es perfecto y la gente que te dice que el suyo jamás se va a colgar, nunca, están mintiendo. Sin embargo, algunos sistemas operativos pueden ser tan estables que la mayoría de usuarios nunca verán su sistema operativo colgarse, incluso por varios años. Esto es cierto para Linux.


• Protección

Virus, troyanos, adwares, programas espías Windows deja que todos estos entren a tu computadora muy fácilmente. Entonces puedes:
1) instalar un firewall
2) instalar un antivirus,
3) instalar un anti-adware,
4) deshacerte del Internet Explorer y Outlook (con Firefox y Thunderbird para reemplazarlos), y
5) rezar para que los delincuentes informáticos no sean lo suficientemente listos para superar estas protecciones y que, si una falla de seguridad es descubierta, Microsoft tome menos de un mes para hacer que una actualización esté disponible (y esto no pasa muy a menudo). O puedes instalar Linux y dormir profundamente de ahora en adelante.


• Costo y Licencias

Si tu computadora vino con una copia de Windows, entonces pagaste por ella, incluso si la tienda no te dijo nada al respecto. El precio de una licencia de Windows llega a ser en promedio un cuarto del precio de cada computadora nueva. Entonces a menos que hayas obtenido Windows ilegalmente, tú probablemente pagaste por él. Si es pirata también tuviste que pagar menos, pero pagaste, en tiempo, Internet, etc. Por otro lado, tú puedes tener Linux completamente gratis. De hecho, algunas compañías están haciendo un buen negocio vendiendo soporte, documentación, servicio en línea, etc., para su propia versión de Linux y esto es algo realmente bueno. Afortunadamente la mayor parte del tiempo tú no vas a tener que pagar un centavo.


• Libertad

Linux y los software de “Fuente Abierta” son “libres”. Esto significa que su licencia es una “licencia libre” y la más común es la GPL (Licencia Pública General). Esta licencia establece que cualquiera está permitido de copiar el software, ver el código fuente, modificarlo y redistribuirlo siempre y cuando mantenga la licencia GPL.


• Instalación

Instalar Windows es sólo el inicio. Un amigo te manda un e-mail con un archivo PDF adjunto y no tienes un programa para leerlo. Adjunto al e-mail de tu amigo encuentras un documento de texto file.doc. Windows tampoco puede leer eso. Alguien más también te mandó una imagen pero tiene un mal contraste, mala luminosidad y necesita una buena reducción. Windows está lejos de ser completo e instalarlo es sólo el comienzo de los problemas. Cuando obtienes una distribución Linux también tienes, sin instalar nada más: Todo lo que necesitas para escribir textos, editar hojas de cálculo, hacer presentaciones ordenadas, dibujar, editar ecuaciones, un navegador Web y un cliente de correo, un editor de imágenes, un programa de mensajería instantánea, un reproductor y organizador de música, un lector de PDF, todo lo que necesitas para descomprimir archivos, etc.


• Actualización

Windows tiene una herramienta muy conveniente llamada “Windows Update”, el cual te permite tener al día tu sistema con las últimas actualizaciones disponibles. Pero ¿qué tal todo tu software no-Microsoft? ¿Aplicaciones Adobe? ¿Compresor ZIP? ¿Grabador de CD? ¿Navegadores Web, clientes de correo, etc. no-Microsoft? Linux tiene una aplicación especial llamada “Gestor de Paquetes”, la cual se encarga de todo lo que esté instalado en tu sistema, pero también de cada pieza de software que tu computadora tiene. Entonces si quieres mantener todo actualizado, lo único que necesitas hacer es presionar el botón de “Instalar Actualizaciones”.


• Legalidad

Para la mayoría de personas tener software ilegal es muy común. Si usas Linux e instalas software libre, no vas a tener que preocuparte por esto ¡nunca más! La mayoría del software libre es gratis. Puedes encontrar reemplazos libres para la mayoría del software comercial que hay por ahí. Podrán carecer de algunas de las funcionalidades avanzadas pero serán más que suficientes para la mayoría de personas.


• Es más rápido

Al tener una plataforma más estable, ésto favorece el desempeño de aplicaciones de todo tipo tales como: bases de datos, aplicaciones XML, multimedia, etc.
La eficiencia de su código fuente hace que la velocidad de las aplicaciones Linux sean superiores a las que corren sobre Windows lo cual se traduce en velocidad de su página.