Deja Dup

Es una aplicación para realizar backups en sistemas GNU/Linux ; de la forma más sencillas de utilizar.

Algunas de sus características más destacadas son:

  • Se puede usar el servicio Amazon S3 como lugar de backup.
  • Posibilidad de cifrar los datos.
  • Se pueden programar los backups a tiempos regulares (día, semana, mes)
  • Se integra perfectamente en Gnome.

Luego lo clásico, refrescamos los repositorios:

sudo aptitude update

y luego instalamos con:

sudo aptitude install deja-dup

Una vez instalado lo encontraremos en

Aplicaciones > Accesorios > Deja Dup Backup Utility.

El programa es de lo más sencillo de usar, solo 2 botones, uno para realizar el backup y otro para restaurarlo.

dejadup1 Deja Dup 3.0 - Backups seguros y fáciles



Fuente

http://www.ubuntips.com.ar

Web Oficial

http://mterry.name/deja-dup/




Kernel Linux en forma de mapa


El Kernel Linux es uno de los proyectos de código abierto más complejos que existen.

A pesar de que hay una gran cantidad de libros sobre él, todavía es un tópico difícil de comprender completamente.

Para facilitar ese proceso existe un mapa interactivo del Kernel , que lo representa gráficamente en un esquema Top-Down donde se pueden encontrar sus más importantes capas, sus funcionalidades, módulos, funciones y llamadas.


Enlace para ver el mapa

Mapa Interactivo del Kernel


Live-CD para seguridad informatica

1.- BackTrack



es el resultado de combinar dos de las mejores distribuciones Live CD para Penetration Testing, Whax y Auditor, utilizando las mejores características de cada distribución, y poniendo especial atención a los pequeños detalles.

2.- Operator

Operator está orientado a la Seguridad en Redes informáticas (con herramientas Open Source), basada en Debian, la cual corre desde un único CD y corre en su totalidad en RAM. Contiene un extenso catálogo de herramientas Open Source enfocadas a la seguridad en Redes informáticas,.

3.- PHLAK

PHLAK o [P]rofessional [H]acker’s [L]inux [A]ssault [K]it (es decir, Kit de Asalto Linux para el Hacker Profesional) es una distribución Live CD modular que viene con dos ligeros y sencillos GUI’s (fluxbox y XFCE4), muchas herramientas de Seguridad, y una gran documentación sobre el tema.

4.- Auditor

La Herramienta de Seguridad Auditor es un Sistema Live basado en KNOPPIX. Sin ninguna instalación requerida, la plataforma de análisis es ejecutada directamente desde el CD-ROM, y es completamente accesible en unos pocos minutos. Independientemente del Hardware que se utilice, la Herramienta de Seguridad ofrece un ambiente de trabajo estadarizado, echo especificamente para facilitar el soporte remoto.

5.- L.A.S Linux

Local Area Security Linux es una distribución Live CD con un gran énfasis en herramientas de seguridad y small footprint. Existen actualmente 2 diferentes versiones de L.A.S. enfocadas a satisfacer dos especificas necesidades: - MAIN y SECSERV. Lanzada bajo los términos de GPL

6.- Knoppix-STD

es una herramienta de Seguridad basada en Linux, de hecho, es una colección de cientos si no es que miles de herramientas Open Source de Seguridad Informática. Su único propósito en la vida es la de poner a tu alcance la mayor cantidad posible de herramientas de Seguridad Informática como sean posibles.

7.- Helix

Helix está basada más en pruebas forenses y respuesta de incidentes, que en el área de Redes o de Pen-testing,aún así es una gran herramienta que se debe tener en cuenta.

8.- nUbuntu


nUbuntu o Network Ubuntu es una distribución algo nueva en el campo de distros Live CD.
El principal objetivo de nUbuntu es el de crear una distribución derivada de Ubuntu y agregar paquetes relacionados con la Seguridad Informática, y remover los paquetes innecesarios.

9.- Extra Knoppix

Es en la cual se basan la mayoría de las demás distros, así mantén siempre una copia contigo.


Fuente

http://www.guapacho.net

El poder de la multitarea

Indice

Enlace

http://www.linux-party.com/TutorialLinux/linux_files/linux3.html


Puden descargar el Tutorial Completo

http://www.linux-party.com/TutorialLinux/tutorial.html#Enlaces
  1. Nunca antes había estado en Linux. (Programas, ficheros y directorios)
  2. Repaso de comandos. (Guía Rápida) + Estructura de directorios. ¡Importante!
  3. ¿Cómo uso la multitarea de Linux?
  4. Gestionar Ficheros < - * - >
  5. ¿Te gustan los deberes?






Redes Linux



Esta Web es muy recomendable en varios aspectos pero cabe recalcar , los manuales que posee en cuanto al tema de Redes en GNU/Linux.

Se encuentran divididos en Categorias.

Tambien se pueden Observar algunos manuales referentes a Seguridad informatica


Instalar drivers nVidia

Si por alguna causa no nos funcionael driver de nVidia en GNU/Linux, el problema radica en que no tienes el driver instalado.

Primera medida bajar el driver de la pagina de nVidia,luego instalarlo.



-Instalacion
  1. Matas las Xs (Crtl + Alt + Supr)
  2. Entraran a una tty (Crtl + Alt + F2)
  3. Detienen el gdm o kdm /etc/init.d/gdm stop
  4. Entras como root su - + password
  5. Le dan la ruta hasta en directorio donde tengan el instalar
  6. Lo ejecutas con sh xxxxx.run

Luego solo es siguiente...siguiente , finalizar, y eso es todo para saber.

Si lo tienes instalado correctamente cuando reinicies el pc antes de salirte el gdm o kdm veras una ventana que dice nvidia



Open Source explicado en diagrama


Desarrollador de Debian (DD)


  • Algunas de las motivaciones de los candidatos: el deseo de contribuir y asumir responsabilidades, el estatus de la posición (que reside no sólo en el hecho de tener una dirección de email de Debian, aunque algunos, medio en broma afirman estar detrás de una. Si no en que los desarrolladores son tomados en serio dentro de Debian.) , o simplemente como una marca de prestigio y habilidad.

  • Algunos de los requisitos para que la solicitud del candidato sea aceptada son:
    • Seguir el Contrato Social Debian y las Directrices de la Debian Free Software en su trabajo para el proyecto.
    • Probar su identidad. Al menos un desarrollador Debian debe firmar su llave GPG.
    • Probar la capacidad para realizar el trabajo al que aspiran dentro del proyecto. Esto se suele conseguir con un supervisor que revisa y controla el trabajo del candidato.
    • Los candidatos deben tener alguien que les recomiende, normalmente su supervisor, que es el desarrollador Debian que mejor conoce el trabajo del candidato.
  • El proceso de poner a prueba y enseñar la filosofía Debian al candidato suele ser de entre 6 y 10 meses y puede retrasarse sino hay Gerentes (Managers) de Candidatos, que se ven desbordados por 10 a 1 en solicitudes.
  • Son muchos los que desisten en el camino. Ya sea porque no encuentran alguien que les recomiende, porque son denegados una vez realizado todo el proceso de aprendizaje, porque deciden trabajar en otras distribuciones, porque descubren que no son capaces de llevar a cabo el esfuerzo y dedicarle el tiempo necesario…
  • A algunos les preocupa más el tiempo del proceso. Sorprende que Ian Murdock, fundador de Debian, cuyo nombre forma la segunda mitad del nombre de la distribución, declinase una oferta de convertirse inmediatamente en desarrollador Debian. En su lugar, comenzó el proceso en mayo de 2004 y a día de hoy sigue esperando superar la fase sobre Filosofía y Procedimientos de Debian.

Un Buscador para controladores GNU/linux

Cuando poseen algún Hardware en sus computadoras o laptop que no han podido configurar y no encontraron una solución.

Puede serviles la siguiente pagina de internet donde podran encontrar información de algún controlador que sirva para nuestro dispositivo.

Lo que tenemos que hacer es lo siguiente:

1) Ejecutaremos el siguiente comando y de la información mostrada la copiamos.

lspci -n

2) Abrimos nuestro navegador web y abrimos la siguiente pagina web.

http://kmuto.jp/debian/hcl/

3) La información obtenida la pegamos en cuadro de dialogo

Y presionamos el botón de verificar...comenzara la búsqueda del controlador de nuestro Hardware.

MOC - music on console


Es un magnifico reproductor de consola especial para frikis y aun mas lo que mas orgullo me da es que esta hecho por un Argentino.

Instalacion

Abrir un Terminal y usarlo modo root

# apt-get install moc

luego de instalarlo, ejecutan el comando:

# mocp

Y listo buscan sus Carpetas de Musica


Web Oficial


http://moc.daper.net/





10 Herramientas para Programar

1. Bluefish



Es un editor HTML, diseñado para ahorrar algunas tareas a los webmasters con experiencia. Además es uno de los IDEs más populares disponibles para el desarrollo web.. Incluye un editor de múltiples archivos, múltiples barras de herramientas, menús configurables, ventanas de previsualización, soporte para SSI, PHP y validación HTML entre otros. Es ligero y puede abrir hasta 3.500 documentos a la vez

Una de las características más apreciadas de Bluefish es "Quickba", una barra de herramientas definidas por el usuario que le permite añadir botones haciendo clic derecho y seleccionando "
"añadir rápido". Allí se puede agregar todo el código HTML a esta barra de herramientas rápidas.



2: Anjuta




Es un entorno de desarrollo para C/C++ que en la actualidad está bastante avanzado. También es un servicio gratuito, de código abierto para el IDE de C y C + + lenguas.
Usa GTK+/GNOME, con lo que se integra perfectamente en este entorno. Es fácil de instalar y ofrece características tales como la gestión de proyectos, un depurador interactivo y un poderoso editor de código fuente (con fuente de la navegación, de código, y el resaltado de sintaxis). El equipo de Anjuta desarrolló este potente IDE de fácil utilización, para satisfacer todas las necesidades de programación en C y C + +. Tiene una interfaz de usuario potente y flexible.



3. Glade



Glade es un RAD (desarrollo rápido de aplicaciones), creador de interfaces gráficas que usa GTK+ para el escritorio GNOME. Guarda los proyectos en XML y puede generar código C para este meta-formato. Adicionalmente. el meta-formato puede ser convertido a otros lenguajes gracias a módulos. Por ejemplo glade-- puede generar código C++. Indispensable para desarrolladores de aplicaciones GTK. Incluye una serie de módulos de interfaz, tales como cuadros de texto, etiquetas de diálogo, entradas numéricas, casillas de verificación y menús para el desarrollo de interfaces más rápida. Los diseños de interfaz se archivan en formato XML. Eso permite que los diseños sean fácilmente conectados con herramientas externas. Además es simple de instalar.


4. GCC



GCC es un compilador GNU que funcione para C, C + +, Objective C, Fortran, Java, y Ada. Es una herramienta de línea de comandos pero es muy potente. Muchos han IDEs no son más que herramientas de interfaces para GCC. GCC es en realidad un conjunto de herramientas. Los más utilizados son los compiladores de C y C + + código.

¿Cómo funciona una herramienta de compilación para diferentes idiomas? Simple: Para C, invocar el "gcc" para el mando y el C + +, invocar la "g + +" comando. Dos compiladores de la misma caja de herramientas. Y g + + es un compilador, no sólo un preprocesador. Se basará código objeto desde el código fuente sin necesidad de utilizar un intermediario a la primera construcción de código C de C + +. Esto crea mejor código objeto y le da una mejor información de depuración.

Las siglas GCC significaban GNU C Compiler (Compilador C GNU). En la actualidad, al admitir una colección de compiladores la siglas, han pasado a significar GNU Compiler Collection (Colección de compiladores GNU).

GCC suministra al usuario muchas herramientas de comprobación de errores, integra una eficiente herramienta de depuración y dispone de muchas opciones de optimización de código, basándose en el microprocesador de destino u optimizaciones sobre la compilación de código inteligente.

Otras características importantes a resaltar son: soporte del procesador de Intel Itanium, integración del compilador de Java GCJ, eliminación del codigo muerto utilizando la representación SSA , preprocesador C integrado en los compiladores C, C++ y Objective C; permiso para renombrar el registro, emisión del codigo Assembler x86 utilizando el estilo de sintaxis Intel
Potentes optimizaciones en las llamadas a subrutinas (CALL) optimizando los accesos al STACK (pila del procesador).



5. Kdevelop



El proyecto KDevelop fue iniciado en 1998 para diseñar un entorno de desarrollo integrado, fácil de usar, para C/C++ en Unix. Desde entonces está disponible públicamente bajo licencia GPL, y soporta KDE/Qt, GNOME, C y C++. Es un IDE (Integrated Development Environment, Entorno integrado de desarrollo) para programar en C y C++ en Linux, que utiliza las librerías Qt (trolltech.com, las del escritorio KDE). Está integrado con QtDesigner, el diseñador de interfaces gráficas de Trolltech.
Para utilizar Kdevelop necesita un sistema operativo X11 KDE

Un buen detalle es que la ventana de salida del compilador es coloreada, lo que resulta más fácil ver al instante la diferencia entre los errores, advertencias y mensajes.



6. GDB



Se trata de un programa de depuración para C, C++, Java, Modula-2 y otros muchos lenguajes. Puede ejecutar en GNU/Linux, BSD y la mayoría de los sistemas operativos propietarios. Lo utilizan los desarrolladores de * NIX (y muchos desarrolladores de Windows). Es el depurador GNU. Esta herramienta se emite desde la línea de comandos y le dará una respuesta inmediata de los desarrolladores dentro de otro programa mientras se ejecuta.

¿Qué se puede hacer? Entre otros, iniciar la aplicación especificando argumentos, interruptores, o de entrada que afectan a su comportamiento; examinar lo que ha ocurrido cuando la aplicación se detiene y realizar cambios en el programa del usuario para ponerlo a prueba sobre la marcha.



7. KompoZer



Editor HTML, del tipo WYSIWYG (Lo Que Ves Es Lo Que Obtienes), es decir, todo aquello que hagas en el editor luego se verá en la página web cuando la publiques.

Se basa en Nvu. Cuenta con el motor Gecko de Mozilla. Incorpora interesantes herramientas de depuración de código, gestión de estilos CSS, validador de HTML, consola Javascript y subida automática a al servidor FTP del usuario.

Aunque está pensado para quienes no dominan lenguaje HTML pero quieren tener su propio espacio en Internet, cuenta también con la opción de editar el código HTML manualmente.



8. Eclipse



Potente y completa plataforma de programación, desarrollo y compilación de elementos tan variados como sitios web, programas en C++, aplicaciones Java, hasta clientes BitTorrent. Es un entorno de desarrollo integrado (IDE), que cuenta con todas las herramientas y funciones necesarias para el trabajo, recogidas además en una atractiva interfaz que lo hace fácil y agradable de usar.

Cuenta con un editor de texto donde ver el contenido del fichero en el que el usuario trabaja. También una lista de tareas y otros módulos similares. Si bien las funciones de Eclipse son más bien de carácter general, los elementos del programa se pueden ampliar y mejorar mediante el uso de plug-ins.

Los últimos cambios de esta herramienta de desarrollo incluyen: nueva interfaz de actualizaciones, nueva pestaña de marcadores, nueva pestaña con avisos de errores y alertas, búsqueda de texto mejorada, mejora en la gestión de proyectos, importar y exportar configuraciones de lanzamiento de aplicaciones y asistente de contenidos renovado. Para su uso es necesario contar con Java Runtime Environment, ya que este multilenguaje está escrito en Java.

9. Make

Es una utilidad para determinar qué piezas más específicas de un programa necesita ser recompilado. Se construye un binario a partir de unas fuentes y un makefile usando un compilador como gcc. Una vez que determina qué bits deben ser recompilados, emite los comandos necesarios para completar la acción. Con Make podemos llevar a cabo una de las cosas más interesantes de Linux: personalizar y armar la arquitectura que aloje nuestro sistema. Así se obtiene más rendimiento al crear los programas optimizados para donde van a ser alojados.



10. Quanta Plus



Magnífico editor HTML ideal para usuarios Linux en entorno KDE, que posee todo lo que un editor HTML puede albergar, en cuanto a opciones se refiere, y además lo combina con una interfaz gráfica y de usuario que hacen mucho más sencillo el manejo del programa en cuestión.

Ofrece un excelente navegador de directorios, que facilita el acceso de una manera fácil e intuitiva a los archivos HTML y gráficos alojados en el disco rígido, carpetas compartidas, periféricos o directamente en Internet. Cuenta también con un completo panel de previsualización y un ágil editor coloreado de tags.

Se puede destacar también, la posibilidad de editar varios ficheros simultáneamente, a la vez que se utiliza el panel inferior para ir visualizando gráficos y los asistentes para la creación de tablas o documentos en blanco.

Dato negativo: no incluye una librería de la librería PHP de BlueFish, pero no se ve agravado gracias a la agilidad que aporta el panel de previsualización.

Los requisitos mínimos para su uso son: KDE 3.5 y QT 3.3.2.


Copyright Page
Preface
Chapter 1: Getting Started
Chapter 2: The Hypertext Transport Protocol
Chapter 3: The Common Gateway Interface
Chapter 4: Forms and CGI
Chapter 5: CGI.pm
Chapter 6: HTML Templates
Chapter 7: JavaScript
Chapter 8: Security
Chapter 9: Sending Email
Chapter 10: Data Persistence
Chapter 11: Maintaining State
Chapter 12: Searching the Web Server
Chapter 13: Creating Graphics on the Fly
Chapter 14: Middleware and XML
Chapter 15: Debugging CGI Applications
Chapter 16: Guidelines for Better CGI Applications
Chapter 17: Efficiency and Optimization
Appendix A: Works Cited and Further Reading
Appendix B: Perl Modules
Index
Colophon

Web Oficial de este documento

http://ricin.lfsnal.org/



Programming the Perl DBI


MySQL & mSQL


Copyright Page
Preface

Part 1: Getting Started with MySQL and mSQL

Chapter 1: Introduction to Relational Databases
Chapter 2: Database Design
Chapter 3: Installation
Chapter 4: MySQL
Chapter 5: mSQL
Chapter 6: SQL According to MySQL and mSQL
Chapter 7: Other Mid-Range Database Engines

Part 2: Database Programming

Chapter 8: Database Application Architectures
Chapter 9: CGI Programming
Chapter 10: Perl
Chapter 11: Python
Chapter 12: PHP and Other Support for Database-driven HTML
Chapter 13: C and C++
Chapter 14: Java and JDBC

Part 3: Reference

Chapter 15: SQL Reference
Chapter 16: MySQL and mSQL System Variables
Chapter 17: MySQL and mSQL Programs and Utilities
Chapter 18: PHP and Lite Reference
Chapter 19: C Reference
Chapter 20: Python Reference
Chapter 21: Perl Reference
Chapter 22: JDBC Reference
Index
Colophon


Web Oficial de este documento

http://ricin.lfsnal.org/


Apache The Definitive Guide



Copyright Page
Preface
Chapter 1: Getting Started
Chapter 2: Our First Web Site
Chapter 3: Toward a Real Web Site
Chapter 4: Common Gateway Interface (CGI)
Chapter 5: Authentication
Chapter 6: MIME, Content and Language Negotiation
Chapter 7: Indexing
Chapter 8: Redirection
Chapter 9: Proxy Server
Chapter 10: Server-Side Includes
Chapter 11: What's Going On?
Chapter 12: Extra Modules
Chapter 13: Security
Chapter 14: The Apache API
Chapter 15: Writing Apache Modules
Appendix A: Support Organizations
Appendix B: The echo Program
Appendix C: NCSA and Apache Compatibility
Appendix D: SSL Protocol
Appendix E: Sample Apache Log
Index
Colophon



Web Oficial de este documento

http://ricin.lfsnal.org/



Running Linux


Copyright Page
Preface
Chapter 1: Introduction to Linux
Chapter 2: Preparing to Install Linux
Chapter 3: Installation and Initial Configuration
Chapter 4: Basic Unix Commands and Concepts
Chapter 5: Essential System Management
Chapter 6: Managing Filesystems, Swap, and Devices
Chapter 7: Upgrading Software and the Kernel
Chapter 8: Other Administrative Tasks
Chapter 9: Editors, Text Tools, Graphics, and Printing
Chapter 10: Installing the X Window System
Chapter 11: Customizing Your X Environment
Chapter 12: Windows Compatibility and Samba
Chapter 13: Programming Languages
Chapter 14: Tools for Programmers
Chapter 15: TCP/IP and PPP
Chapter 16: The World Wide Web and Electronic Mail
Appendix A: Sources of Linux Information
Appendix B: The GNOME Project
Appendix C: Installing Linux on Digital/ Compaq Alpha Systems
Appendix D: LinuxPPC: Installing Linux on PowerPC Computers
Appendix E: Installing Linux/m68k on Motorola 68000-Series Systems
Appendix F: Installing Linux on Sun SPARC Systems
Appendix G: LILO Boot Options
Appendix H: Zmodem File Transfer
Bibliography
Index
Colophon


Web Oficial de este documento

http://ricin.lfsnal.org/

Linux in a NutShell


The Linux Web Server CD BookShekf


Linux in a Nutshell, 3rd Edition
By Ellen Siever, Stephen Spainhour, Stephen Figgins and Jessica P. Hekman
Running Linux, 3rd Edition
By Matt Welsh, Matthias Kalle Dalheimer and Lar Kaufman
Apache: The Definitive Guide, 2nd Edition
By Ben Laurie and Peter Laurie
MySQL & mSQL
By Randy Jay Yarger, George Reese and Tim King
Programming the Perl DBI
By Alligator Descartes and Tim Bunce
CGI Programming with Perl, 2nd Edition
By Scott Guelich, Shishir Gundavaram and Gunther Birznieks
Web Oficial de este documento

http://ricin.lfsnal.org/


Hardinfo para Linux


Es un programa que automáticamente recopila y muestra información sobre el sistema operativo y el equipo en el que está funcionando, con todo lujo de detalles.

Informa organizadamente de los aspectos de configuración del sistema operativo y de los dispositivos hardware conectados al ordenador.

Se trata de una aplicación escrita para funcionar sobre GNU/Linux y está diseñada para el escritorio Gnome.

Incorpora algunas pruebas para la medición del rendimiento del equipo informático (benchmarks).

Otra importante funcionalidad del programa es que incopora la capacidad de generar informes con toda la información recopilada y sobre los resultados de las mediciones de rendimiento.

Los documentos son exportados como archivos HTML, de modo que pueden ser abiertos y visualizados desde cualquier navegador web para leerlos.

La aplicación puede instalarse desde los repositorios del sistema en la mayoría de las distribuciones. También puede descargarse el código fuente y un instalador automático desde la página oficial del programa.


Web Oficial


http://hardinfo.berlios.de/HomePage


Para Descargar


http://hardinfo.berlios.de/Downloads




La Biblia de Debian GNU/Linux


DEBIAN GNU/LINUX no importa el nivel de experiencia en Linux, desde novato,
intermedio, hasta profesional en la materia, este libro es realmente muy util
para todo usuario , se encuentra subi al grupo



  • con el nombre: wiley_debian.GNU-Linux.Bible.pdf
  • 677 pag.
  • idioma ingles

por Marcos D. Fermin

Linux y el Software Libre

Se ha publicado la primera edición de Informática Libre, la revista Hondureña que cubre los temas de Linux y el Software Libre con un enfoque a la educación libre del mismo país.

Esta revista es impulsada por Comunicación Comunitaria (COMUN), y aunque aparentemente es editada en papel para su venta en el país de Honduras, han liberado su primera edición en PDF, lista para ser descargada.

En este número pueden encontrar temas como:

  • Richard M. Stallman: Científico de la informática al servicio de la humanidad.
  • Usa tu computadora sin disco duro.
  • Los cibercafés pueden decir adiós a las Licencias.
  • Razones para el uso del Software Libre en la educación.
  • Herramientas libres en educación.
  • Lo que se te ocurra… diseñalo con libertad.
  • De todo para la oficina.
  • Variedad para escuchar y ver sin restricciones.
  • Juegos: Diversión para cipotes y adultos.
  • Navega con seguridad.
  • Y mucho más…
Portada Informática Libre

Portada Informática Libre

Descargar: Informática Libre No. 1 (PDF)
Tamaño: 5.1 MB.

Una revista con amplio contenido, que de no seguir proporcionándola libremente en formato PDF para descargar, si puede ser una referencia a tomar en cuenta para la gente de Honduras.


Por Áyax.

Web

http://actualidad.espaciolinux.com


Bastille


La Herramienta que permite reforzar la Seguridad de Linux

Bastille es una de las tantas herramientas de "hardening", significa que su propósito es generar reglas y políticas que sean implementadas para mejorar el nivel de seguridad de un sistema, está compuesta por un conjunto de scripts que trabajan en conjunto, lo que me gusta más de la herramienta es que no solo se encarga de mejorar ofrecer políticas para mejorar la seguridad sino que también busca educar al usuario a medida que se van ejecutando los scrtips que toman la información necesaria desde un sistema de preguntas y respuestas (lo entenderán más adelante).


Distribuciones

Es ofrecida por los repositorios de Red Hat, Fedora, SuSE, Mandriva, Debian y Gentoo, no obstante, para otras distribuciones es posible instalar la herramienta mediante el paquete de fuentes.


Argumentos utilizables con Bastille

Aunque todos los argumentos de Bastille los puedes obtener ejecutando bastille -h, por razones de conveniencia los colocaré acá:

Usage: Bastille [ [ -h | -b [-- ] | -c | -r | -x |-a [--] | -l ]
-i alternate config> ]

-b : use a saved config file to apply changes directly to system
-c : use the Curses (non-X11) GUI
-h : this help
-i : input alternate configuration file
-r : revert Bastille changes to original file versions(pre-Bastille)
-l : list the standard config file(s) (if any) that matches the last run config
--os version : ask all questions for the given operating system version.
e.g. --os HP-UX11.11
-x : use the Perl/Tk (X11) GUI
--assess / -a : run Bastille in assessment mode, generating a report and displaying
it in a browser
--assessnobrowser : run Bastille in assessment mode, generating a report with no
browser


Los argumentos hablan por si solos en su mayoría, tal vez el menos entendible de ellos sea el parámetro "--assess". Dicho parámetro viene de Assessment que es todo método de auditoría que se utiliza en un sistema para determinar su nivel de seguridad. Con este parámetro, Bastille generará un reporte muy básico basado en algunos servicios instalados en tu sistema y ejecutará el navegador predeterminado el cual mostrará un reporte que mayormente incluirá un conjunto de recomendaciones o tips que deberías tomar en cuenta para mejorar la seguridad de lo que tienes instalado en el sistema. El parámetro relacionado "--assessnobrowser" generará el mismo reporte solo que lo mostrará en la cónsola donde sea ejecutado Bastille y no en el navegador.

Uso de Bastille

La herramienta tiene dos interfaces disponibles, una basada en ncurses (cónsola) y otra basada en Tk (X11), ambas interfaces ofrecen el mismo nivel de funcionalidad y en la mayoría de los sistemas, a menos que sea ejecutado con el parámetro "-c", Bastille se ejecutará usando la interfaz Tk.

Ejecutar la herramienta es de lo más simple:

[nixlkp@root]# Bastille


Como es posible que en tu primer uso de la herramienta no quedes plenamente contento con los cambios realizados, el siguiente es un comando que tiene por finalidad deshacer todos los cambios hechos por la herramienta:

[nixlkp@root]# RevertBastille


Habrán notado que ambos comando usan mayúsculas en las primeras letras de cada palabra, sin embargo lo he colocado así porque es como sale en la documentación oficial , no obstante ambos comandos pueden ser ejecutados con todas las letras en minúsculas.

El questionario de Bastille en sistemas Linux

En algún momento al principio del artículo mencioné que Bastille es un conjunto de scripts que toman su información desde un set de preguntas y respuestas, y es así que la herramienta funciona. Cuando la ejecutas, luego de una pantalla de bienvenida e información sobre el proyecto, llegarás a una pantalla la cual está divida en grupos y funciones y a su vez, las funciones están dividas en preguntas relacionadas al grupo, algo similar a este esquema:

FilePermissions --> SUID --> Would you like to disable SUID for Mounting/
Unmounting?


FilePermissions es el grupo, SUID es una de las funciones que se pretende cambiar y finalmente la pregunta relacionada a esa función.

Cada pregunta es mostrada con una descripción de la función que se pretende cambiar y las implicaciones de seguridad que una respuesta afirmativa o negativa tendrá sobre esa función, es esto lo que hace genial a la herramienta ya que termina educando al usuario con recomendaciones básicas de seguridad y la forma en la que trabaja el sistema.

Lo que haré acá será indicar el grupo, la función, la pregunta y una pequeña descripción sobre lo que significa la función y la pregunta. No agregaré nada adicional ni tampoco hablaré de todas las preguntas ya que sería muy largo, no son dos preguntas o tres ;). Aún así cubriré la mayoría y las más importantes.

Grupo: FilePermissions.
Función: SUID.
Pregunta: Would you like to disable SUID for mounting and unmounting?
Descripción: SUID es un bit que permite a usuarios regulares utilizar funciones del sistema que normalmente deberían ser ejecutadas por root. En este caso, la pregunta es sobre si se desea deshabilitar tal bit a las funciones de montaje, contestando "si" a esta pregunta implicaría que cada vez que desees montar un cdrom o un pendrive, deberás hacerlo obligatoriamente como root.


Grupo: FilePermissions.
Función: SUID.
Pregunta: Would you like to disable SUID for Ping?
Descripción: Ping es un comando o utilidad que permite el enviar y recibir paquetes a un determinado servidor indicando a su vez información extra como el tiempo en el que se llevó a cabo la transacción, si se perdieron paquetes o no durante el envió, etc. Este comando normalmente es utilizado para determinar fallas de conexión, pero también es la principal herramienta para los DoSers (los que generar los aquetes DoS a un sistema). Contestando afirmativamente a esta pregunta obligaría al usuario tener que usar Ping como root.


Grupo: FilePermissions.
Funcion: Herramientas r-BSD
Pregunta: Would you like to disable the r-tools?
Descripción: Las herramientas r-BSD son aquellas como rlogin, rsh, rdist y similares. El problema con estas herramientas es que todas las transacciones son hechas en texto plano, es decir, la información no es enviada ni recibida de forma cifrada lo que representa un riesgo de seguridad si la transferencia es víctima de sniffing. Contestar afirmativamente a esta pregunta deshabilitaría el uso completo de las herramientas a todos los usuarios (incluyendo root) lo cual es recomendable tomando en cuenta que cada una de estas herramientas tiene actualmente equivalentes más seguras basadas en OpenSSL, PAM y similares.


Grupo: AccountSecurity.
Función: Herramientas r-BSD.
Pregunta: Should Bastille clear-text r-protocols that use IP-based authentification?
Descripción: La diferencia de esta pregunta a la anterior es que se refiere al uso de r-tools a nivel de servidor, es decir, permitir que se ejecute por ejemplo rsh en tu sistema y de esta forma poder acceder remotamente a él con rlogin. La misma razón que se describió en la pregunta anterior es por la que deberías desactivar estas herramientas a nivel de servidor.


Grupo: AccountSecurity.
Función: Password Aging.
Pregunta: Would you like to enforce password aging?
Descripción: De forma predeterminada en la mayoría de las distribuciones, toda clave creada deberá ser cambiada en 99.999 días, este es un límite bastante elevado y por consiguiente usuarios con esta configuración nunca necesitan cambiar las claves. En sistemas empresariales con un grupo cambiante de usuarios es normal que se implemente un sistema de claves cambiante con un límite menor, es como cuando ven una de esas pelis como Mission Impossible y resulta que la clave del mainframe de Langley se cambia cada 12 horas o algo así. La idea de un límite bajo es evitar el riesgo de que la clave sea comprometida. En caso de ser afirmativa la respuesta, Bastille cambiará el límite de 99.999 días a 60.


Grupo: AccountSecurity.
Función: TTY Access.
Pregunta: Should we disallow root login on tty's 1-6?
Descripción: Las tty es lo que se conoce como cónsolas virtuales, de forma predeterminada, se puede acceder como root a cualquiera de estas simplemente colocando como nombre de usuario root y luego colocando la clave. Contestar afirmativamente a esta pregunta obligará a que sea necesario hacer login primero como usuario normal para poder hacer login luego como root. La idea que persigue Bastille en este caso es buena ya que si se viera la clave de root comprometida, un atacante no podría hacer login directamente con esa cuenta sino que tendría que tener acceso a la clave de un usuario regular también para poder usar la cuenta de root.


Grupo: Inetd
Función: TCP Wrappers and Xinetd
Pregunta: Would you like to set a default-deny on TCP Wrappers and Xinetd?
Descripción: Inetd y su posterior implementación mejorada Xinetd, son considerados super servidores, estos servicios se usan en muchas distribuciones como un punto de control para definir el acceso a otros servicios configurados bajo ellos, por ejemplo, podrías ejecutar Apache o PureFTPD como un servidor bajo xinetd lo que implicaría que todas las peticiones hechas hacia Apache o PureFTPD serían recibidas primero por xinetd y generaría respuestas en base a los permisos otorgados por xinetd a los otros servidores. El problema con inetd, tcp wrappers y xinetd es que en muchas distribuciones vienen con el acceso habilitado para permitir conexiones entrantes de forma predeterminada, en lo que respecta a seguridad, es un problema ya que muchos usuarios son descuidados y no se dan cuenta que tienen un servidor ftp activo en el puerto 21 esperando recibir conexiones. A esto, Bastille generará una política de denegación predeterminada, significa que ningún servidor configurado bajo inetd, tcp wrappers o xinetd podrán recibir peticiones desde afuera, en caso de ser necesaria tal cosa, cada servicio deberá configurarse acordemente.


Grupo: Inetd.
Función: Telnet.
Pregunta: Should Bastille ensure that telnet service doesn't run on this system?
Descripción: Telnet es un protocolo para conexiones remotas y tiene el mismo problema de las herramientas r-BSD, toda la información viaja en forma de texto plano. Esta pregunta se refiere específicamente a telnet como servidor, no a las herramientas telnet. Tener telnet como un servidor activo en tu sistema implica a que un atacante puede fácilmente intentar hacer sesión en tu sistema usando cualquier aplicación telnet. Contestar afirmativamente a esta pregunta deshabilitaría tal acceso, pero las herramientas telnet de cliente (las que uses tú para hacer telnet a otros sistemas) seguirán funcionando normalmente.


Grupo: Inetd
Función: FTP
Pregunta: Should Bastille ensure inetd's FTP service doesn't run on this system?
Descripción: FTP tiene el mismo problema que telnet y las herramientas r-BSD, toda la información viaja en texto plano. FTP no se diseñó para ser seguro (así como pasa con el protocolo TCP) y de ahí el problema del texto plano. Actualmente hay implementaciones más seguras al protocolo FTP basadas en SSL y TLS, tal vez una de las más populares sea sftp, por ende, deberías contestar afirmativamente a esta pregunta.


Grupo: ConfigureMiscPAM.
Función: System usage resource limits.
Pregunta: Would you like to put limit on system resource usage?
Descripción: Esta opción se ofrece como un método para evitar los ataques DoS. Como sabrán, en los sistemas basados en Unix, todo servicio se ejecuta bajo el nombre de un usuario virtual (como el usuario "nobody" de Apache), muchos ataques DoS buscan aprovecharse de esto utilizando a dichos usuarios virtuales para ejecutar múltiples procesos a la vez y así tumbar a un servidor. Contestar afirmativamente a esta pregunta configurará el sistema para que cada usuario virtual no puede ejecutar más de 150 procesos a la vez lo que es suficiente para un sistema común pero no tanto como para generar un DoS (dependiendo claro de los recursos del sistema).


Grupo: ConfigureMiscPAM.
Función: Users account console access.
Pregunta: Should we restrict console access to a small group of users accounts?
Descripción: Cuando un usuario hace login en un cónsola, automáticamente el sistema le otorga acceso a varios servicios, qué tantos depende de configuraciones extras a la cuenta, pero un ejemplo sencillo es el montaje de dispositivos. Si un usuario llamado "k13" tiene permisos para montar dispositivos sin necesidad de usar la cuenta de root, dichos permisos serán otorgados cuando haga login en la cónsola. De forma predeterminada Linux utiliza un set de permisos distribuidos de forma equitativa para cada cuenta de usuario que sea creada. En este caso lo que Bastille ofrece es la posibilidad de limitar la cantidad de cuentas que pueden hacer login en un sistema. En caso de contestar afirmativamente esta pregunta la siguiente pregunta será mostrada.


Grupo: ConfigureMiscPAM.
Función: Accounts Settings.
Pregunta: Which accounts should be able to login at a console?
Descripción: Como dije antes, esta pregunta sólo se mostrará si contestaron afirmativamente a la anterior, en dicho caso, en esta pregunta deberán colocar los nombres de las cuentas que tendrán permisos para hacer login en una cónsola separando cada nombre de cuenta por un espacio, ejemplo: root k13 lkp nix


Grupo: Sendmail.
Función: Daemon mode.
Pregunta: Would you like to stop sendmail running in daemon mode?
Descripción: Sendmail es un servicio encargado de procesar peticiones de correo, sean estas entrantes o salientes (recibir o enviar). De forma predeterminada sendmail es ejecutado en daemon mode, lo que significa que desde que se inicie el sistema hasta que se detenga, el servicio estará procesando peticiones de correo. Esto es un problema de seguridad porque muchos usuarios no usan este servicio y nisiquiera se han dado cuenta que se está ejecutando lo que hace que sea muy fácil para muchos hacer cosas como smtp spoofing. Si esta pregunta se responde afirmativamente, sendmail será configurado para no ejecutarse en daemon mode y a su vez se configurará en un cron que cada cierto tiempo se ejecutará para procesar las colas de peticiones relacionadas al envío de correo. Si tienes un mail server obviamente deberás contestar que "No" a esta pregunta.


Grupo: Apache.
Función: Bind Apache.
Pregunta: Would you like to bind the Web server to listen only to the localhost?
Descripción: Bind es el proceso mediante el cual se "enlaza o liga" un servicio a una determinada dirección IP o nombre de host, en este caso lo que se busca es si debería configurar el servidor Apache para recibir sólo aquellas peticiones que se originen en la dirección 127.0.0.1 o localhost, evitando así un posible punto de acceso a tu sistema. Esto es útil solo para aquellos que hagan desarrollo a nivel a local y utilicen para tal fin el servidor Apache, aquellos que tengan un web server que deberá ser accedido desde fuera obviamente deberán contestar "No" a esta pregunta.


Grupo: Firewall.
Función: Packet filtering script.
Pregunta: Would you like to run the packet filtering script?
Descripción: Este es el último grupo en ser configurado mediante Bastille y lo que ofrece es la posibilidad de utilizar un script para generar reglas de firewall. Este script solo tiene soporte para el IPChains del kernel 2.2 y para Iptables del kernel 2.4 (En caso de que un kernel 2.4 no tenga activo el soporte de iptables se usará IPChains). Este script puede ser problemático para los que utilicen kernels 2.6.x sin embargo puede utilizarse como punto de partida y luego ser modificado posteriormente para adaptarse mejor a las características del kernel. Contestar afirmativamente a esta pregunta generará posteriores preguntas que ayudarán al script a crear las reglas necesarias para el firewall (quienes pueden acceder al sistema desde la red, qué protocolos se pueden servir, qué se colocará en los logs referentes a los procesamientos de acceso, etc.)



Todas las funciones que busca configurar Bastille se pueden hacer de forma manual, Bastille lo que ofrece es la posibilidad de hacer todo más sencillo. Por otra parte, Bastille no puede cubrir cada servicio que tu sistema pueda tener, esto implica que si tienes activos servicios como Bind9 o vsftpd, es tu trabajo buscar la información adecuado para asegurarte de que dichos servicios se estén ejecutando de forma segura.

Bastille no es la única herramienta de "hardening" para Linux, en todo caso, es la más sencilla. Otras herramientas conocidas son AppArmor, GRSecurity (Hardening a nivel del kernel), y por supuesto, hay distribuciones ya hechas que implementan muchas políticas de seguridad, normalmente tienen el mismo nombre de la distribución seguido de la palabra Hardened (ejemplo: Gentoo Hardened) y otra muy buena opción es Engarde Linux.