DEBIAN PRO

DEBIAN PRO
DEBIAN

jueves, 30 de abril de 2015

Netcraft


Tuve que consultar estadísticas de uso de servidores WEB (Apache, IIS, otros) y nuevamente uno de los mejores sitios dice:

http://news.netcraft.com/archives/2015/04/20/april-2015-web-server-survey.html#more-18965

MindMup


Un producto bastante bueno para plasmar ideas, hace tiempo usé algun otro pero ahora este está asociado con Google.

www.mindmup.com

Postgresql y SQL Server


Un link con una comparativa entre PostgreSQL y SQL Server, el lunes verificaré los puntos y podré poner mas info, parece ser algo con fundamento pero hay que verificarlo primero.

http://www.pg-versus-ms.com/

Visual Studio en Linux


Veremos que pasa en los próximos meses, Microsoft dice estar sacando su herramienta de desarrollo Visual Studio pero ahora para OSX y Linux.

https://code.visualstudio.com/Docs/codebasics

Tendré que hablar con alguien de desarrollo que me cuente, que, como, porque, etc.
No le tengo ninguna confianza a su producto pero todo lo que sea universal, standard y útil es bienvenido.

martes, 28 de abril de 2015

Bases de datos en 1999


En 1999 daba cursos de Bases de Datos para Linux.
Adjunto material....

El material que entregábamos contenia.
MySQL 3.22
Beagle
mSQL
postgresql 6.5
PHP 3
modphp
codbase 6
perl 5.0
samba 2

Alguien tiene la presentación ?


OpenBsd y Gnome


Encontre un post sobre como instralar Gnome en un OpenBsd.
Para cambiar la imagen tan espartana que trae....

http://www.bsdnow.tv/tutorials/the-desktop-obsd

domingo, 26 de abril de 2015

Debian 8.0 Jessie


Finalmente ha salido oficialmente la version 8.0, luego de otros 2 años, se libera oficialmente una version ESTABLE.
https://www.debian.org/

Y mas info en DistroWatch
http://distrowatch.com/table.php?distribution=debian

La lista de paquetes NON-FREE es esta ahora.
Package: 3dldf-doc
Package: abs-guide
Package: abyss
Package: afio
Package: agrep
Package: album
Package: album-data
Package: alien-arena-data
Package: amd64-microcode
Package: amiwm
Package: amoeba-data
Package: arb
Package: arb-common
Package: arb-doc
Package: libarb
Package: libarb-dev
Package: ascli
Package: assaultcube-data
Package: asterisk-prompt-es
Package: astromenace-data-src
Package: atmel-firmware
Package: autodocktools
Package: axe
Package: bison-doc
Package: blimps-examples
Package: blimps-utils
Package: libblimps3
Package: libblimps3-dev
Package: bluez-firmware
Package: broadcom-sta-common
Package: broadcom-sta-dkms
Package: broadcom-sta-source
Package: bsdgames-nonfree
Package: bugsx
Package: cclib-data
Package: celestia-common-nonfree
Package: clustalw-mpi
Package: cluster3
Package: libcolt-java
Package: libcolt-java-doc
Package: conserver-client
Package: conserver-server
Package: context-doc-nonfree
Package: context-nonfree
Package: coq-doc
Package: coq-doc-html
Package: coq-doc-pdf
Package: libcore++-demo
Package: libcore++-dev
Package: libcore++-doc
Package: libcore++1c2
Package: crafty
Package: crash-whitepaper
Package: cufflinks
Package: cuneiform
Package: cuneiform-common
Package: libcuneiform-dev
Package: libcuneiform0
Package: d1x-rebirth
Package: d2x-rebirth
Package: dahdi-firmware-nonfree
Package: distributed-net
Package: doc-rfc
Package: doc-rfc-experimental
Package: doc-rfc-fyi-bcp
Package: doc-rfc-informational
Package: doc-rfc-misc
Package: doc-rfc-old-std
Package: doc-rfc-others
Package: doc-rfc-std
Package: doc-rfc-std-proposed
Package: doom-wad-shareware
Package: drdsl
Package: dynamips
Package: ebook-dev-alp
Package: ovmf
Package: elasticache
Package: elmer-doc
Package: emacs24-common-non-dfsg
Package: embassy-phylip
Package: etoys
Package: etoys-doc
Package: f2j
Package: libf2j-java
Package: faac
Package: libfaac-dev
Package: libfaac0
Package: aac-enc
Package: libfdk-aac-dev
Package: libfdk-aac0
Package: libfdk-aac0-dbg
Package: festlex-oald
Package: festvox-ellpc11k
Package: amd-clinfo
Package: amd-libopencl1
Package: amd-opencl-dev
Package: amd-opencl-icd
Package: fglrx-atieventsd
Package: fglrx-control
Package: fglrx-driver
Package: fglrx-modules-dkms
Package: fglrx-source
Package: libfglrx
Package: libfglrx-amdxvba1
Package: libgl1-fglrx-glx
Package: libxvbaw-dev
Package: firmware-crystalhd
Package: firmware-adi
Package: firmware-atheros
Package: firmware-bnx2
Package: firmware-bnx2x
Package: firmware-brcm80211
Package: firmware-intelwimax
Package: firmware-ipw2x00
Package: firmware-ivtv
Package: firmware-iwlwifi
Package: firmware-libertas
Package: firmware-linux
Package: firmware-linux-nonfree
Package: firmware-myricom
Package: firmware-netxen
Package: firmware-qlogic
Package: firmware-ralink
Package: firmware-realtek
Package: firmware-samsung
Package: firmware-ti-connectivity
Package: foiltex
Package: fonts-cns11643-kai
Package: fonts-cns11643-sung
Package: fonts-ipafont-nonfree-uigothic
Package: fonts-ipafont-nonfree-jisx0208
Package: fonts-larabie-deco
Package: fonts-larabie-straight
Package: fonts-larabie-uncommon
Package: fonts-mikachan
Package: ttf-mikachan
Package: freespace2
Package: frobtads
Package: tads2-dev
Package: tads3-common
Package: tads3-dev
Package: frogatto-data
Package: fsl
Package: fsl-5.0
Package: fsl-5.0-core
Package: fsl-core
Package: cpp-4.8-doc
Package: gcc-4.8-doc
Package: gccgo-4.8-doc
Package: gcj-4.8-doc
Package: gfortran-4.8-doc
Package: gnat-4.8-doc
Package: cpp-4.9-doc
Package: gcc-4.9-doc
Package: gccgo-4.9-doc
Package: gcj-4.9-doc
Package: gfortran-4.9-doc
Package: gnat-4.9-doc
Package: gccintro
Package: gdb-doc
Package: glibc-doc-reference
Package: gliese
Package: gmap
Package: gmp-doc
Package: gsfonts-other
Package: gsl-doc-info
Package: gsl-doc-pdf
Package: gsl-ref-html
Package: gsl-ref-psdoc
Package: hevea-doc
Package: hijra-applet
Package: python-hijra
Package: human-icon-theme
Package: hwb
Package: libsofa-c-dev
Package: libsofa-c0
Package: 3270-common
Package: c3270
Package: pr3287
Package: s3270
Package: x3270
Package: xfonts-x3270-misc
Package: icc-profiles
Package: igv
Package: inform
Package: inform-docs
Package: intel-microcode
Package: iozone3
Package: libjabsorb-java
Package: libjai-core-java
Package: libjai-core-java-doc
Package: libjai-imageio-core-java
Package: libjai-imageio-core-java-doc
Package: jhove
Package: kic
Package: kstars-data-extra-tycho2
Package: ldraw-mklist
Package: ldraw-parts
Package: libapache2-mod-fastcgi
Package: libclamunrar6
Package: libcwd
Package: libcwd-doc
Package: libertas-firmware
Package: libgeotiff-epsg
Package: libmail-sender-perl
Package: libmath-random-perl
Package: libstar-parser-perl
Package: libvideo-info-perl
Package: madfuload
Package: make-doc
Package: mame
Package: mame-tools
Package: mess
Package: mess-data
Package: mame-extra
Package: manpages-posix
Package: manpages-posix-dev
Package: maple-latex
Package: mbrola
Package: mbrola-af1
Package: mbrola-br1
Package: mbrola-br3
Package: mbrola-cr1
Package: mbrola-cz2
Package: mbrola-de4
Package: mbrola-de5
Package: mbrola-de6
Package: mbrola-de7
Package: mbrola-ee1
Package: mbrola-en1
Package: mbrola-es1
Package: mbrola-es2
Package: mbrola-fr1
Package: mbrola-fr4
Package: mbrola-gr1
Package: mbrola-gr2
Package: mbrola-hu1
Package: mbrola-ic1
Package: mbrola-id1
Package: mbrola-it3
Package: mbrola-it4
Package: mbrola-la1
Package: mbrola-mx2
Package: mbrola-nl2
Package: mbrola-pl1
Package: mbrola-pt1
Package: mbrola-ro1
Package: mbrola-sw1
Package: mbrola-sw2
Package: mbrola-tr1
Package: mbrola-tr2
Package: mbrola-us1
Package: mbrola-us2
Package: mbrola-us3
Package: mbrola-vz1
Package: libmetis-edf-dev
Package: libmetis-edf4.1
Package: metis-edf
Package: mgltools-bhtree
Package: mgltools-cadd
Package: mgltools-cmolkit
Package: mgltools-dejavu
Package: mgltools-geomutils
Package: mgltools-gle
Package: mgltools-mglutil
Package: mgltools-molkit
Package: mgltools-networkeditor
Package: mgltools-opengltk
Package: mgltools-pmv
Package: mgltools-pmv-test
Package: mgltools-pyautodock
Package: mgltools-pybabel
Package: mgltools-pyglf
Package: mgltools-scenario2
Package: mgltools-sff
Package: mgltools-support
Package: mgltools-symserv
Package: mgltools-utpackages
Package: mgltools-viewerframework
Package: mgltools-vision
Package: mgltools-visionlibraries
Package: mgltools-volume
Package: mgltools-webservices
Package: midisport-firmware
Package: fonts-moe-standard-kai
Package: fonts-moe-standard-song
Package: moncli
Package: mpi-specs
Package: mssstest
Package: nautilus-dropbox
Package: libnauty2
Package: libnauty2-dbg
Package: libnauty2-dev
Package: nauty
Package: nauty-doc
Package: netperf
Package: ngspice
Package: ngspice-doc
Package: tclspice
Package: nikto
Package: notion
Package: notion-dev
Package: nttcp
Package: libcg
Package: libcggl
Package: nvidia-cg-dev
Package: nvidia-cg-doc
Package: nvidia-cg-toolkit
Package: libcublas6.0
Package: libcudart6.0
Package: libcufft6.0
Package: libcufftw6.0
Package: libcuinj64-6.0
Package: libcupti-dev
Package: libcupti-doc
Package: libcupti6.0
Package: libcurand6.0
Package: libcusparse6.0
Package: libnppc6.0
Package: libnppi6.0
Package: libnpps6.0
Package: libnvblas6.0
Package: libnvtoolsext1
Package: libnvvm2
Package: nvidia-cuda-dev
Package: nvidia-cuda-doc
Package: nvidia-cuda-gdb
Package: nvidia-cuda-toolkit
Package: nvidia-nsight
Package: nvidia-opencl-dev
Package: nvidia-profiler
Package: nvidia-visual-profiler
Package: libcuda1
Package: libegl1-nvidia
Package: libgl1-nvidia-glx
Package: libgles1-nvidia
Package: libgles2-nvidia
Package: libnvcuvid1
Package: libnvidia-compiler
Package: libnvidia-eglcore
Package: libnvidia-encode1
Package: libnvidia-fbc1
Package: libnvidia-ifr1
Package: libnvidia-ml1
Package: nvidia-alternative
Package: nvidia-cuda-mps
Package: nvidia-detect
Package: nvidia-driver
Package: nvidia-driver-bin
Package: nvidia-glx
Package: nvidia-kernel-dkms
Package: nvidia-kernel-source
Package: nvidia-libopencl1
Package: nvidia-opencl-common
Package: nvidia-opencl-icd
Package: nvidia-smi
Package: nvidia-vdpau-driver
Package: xserver-xorg-video-nvidia
Package: libgl1-nvidia-legacy-304xx-glx
Package: nvidia-legacy-304xx-alternative
Package: nvidia-legacy-304xx-driver
Package: nvidia-legacy-304xx-kernel-dkms
Package: nvidia-legacy-304xx-kernel-source
Package: xserver-xorg-video-nvidia-legacy-304xx
Package: nvidia-kernel-3.16.0-4-amd64
Package: nvidia-kernel-amd64
Package: nvidia-kernel-dummy
Package: ocaml-book-en
Package: ocaml-book-fr
Package: ocaml-doc
Package: office2003-schemas
Package: python-okasha
Package: python-okasha-examples
Package: ooohg
Package: lugaru-data
Package: openlugaru-data
Package: openttd-opensfx
Package: org-mode-doc
Package: os8
Package: othman
Package: python-othman
Package: out-of-order
Package: p7zip-rar
Package: paml
Package: paml-doc
Package: libparmetis-dev
Package: libparmetis3.1
Package: parmetis-doc
Package: parmetis-test
Package: pgplot5
Package: php-horde-javascriptminify-jsmin
Package: php-horde-text-filter-jsmin
Package: picon-domains
Package: picon-misc
Package: picon-news
Package: picon-unknown
Package: picon-usenix
Package: picon-users
Package: picon-weather
Package: powder
Package: ptex-jtex
Package: rar
Package: sauerbraten
Package: sauerbraten-server
Package: scribus-doc
Package: scribus-ng-doc
Package: selfhtml
Package: seq-gen
Package: sgb
Package: sgb-doc
Package: shapetools-tutorial
Package: sift
Package: sisu-markup-samples
Package: sl-modem-dkms
Package: sl-modem-source
Package: snaphu
Package: snmp-mibs-downloader
Package: sparse
Package: spectrum-roms
Package: spellcast-doc
Package: stardict-english-czech
Package: stardict-german-czech
Package: libttspico-data
Package: libttspico-dev
Package: libttspico-utils
Package: libttspico0
Package: sweethome3d-furniture-nonfree
Package: tangerine-icon-theme
Package: tar-doc
Package: tegrarcm
Package: texinfo-doc-nonfree
Package: thawab
Package: tinyows
Package: noshell
Package: titantools
Package: tome
Package: libtriangle-1.6
Package: libtriangle-dev
Package: triangle-bin
Package: trn4
Package: ttytter
Package: ugene
Package: ugene-data
Package: unace-nonfree
Package: unrar
Package: uqm-content
Package: uqm-music
Package: uqm-voice
Package: varscan
Package: virtualbox-guest-additions-iso
Package: libvmtk-dev
Package: libvmtk1.0
Package: python-vmtk
Package: vmtk
Package: w3-recs
Package: wap-wml-tools
Package: xfonts-naga10
Package: t1-xfree86-nonfree
Package: ttf-xfree86-nonfree
Package: ttf-xfree86-nonfree-syriac
Package: xfractint
Package: xml2rfc
Package: xsnow
Package: xtide-data-nonfree
Package: yale
Package: zangband
Package: zangband-data
Package: firmware-zd1211
Package: zd1211-firmware
Package: zeroc-ice-manual

viernes, 24 de abril de 2015

15.04


Finalmente ha salido Ubuntu 15.04 oficialmente, y detras de eso todos los derivados.
Como decían por ahi, me encanta la diversidad.
A bajar ISOs y actualizar equipos.

Hoy pase xubuntu a 15.04 y el VmWare dejó de funcionar, asi que me pasé finalmente a VirtualBox.
Mas fácil imposible.

Simplemente, crear un server nuevo, y decirle que use el disco de VMware y voila....
Equipo corriendo en VirtualBox, luego quitar VMWare tools y meter las tools de V.B.

Ahora si CASI CASI todo GPL.

jueves, 23 de abril de 2015

GNew Sense


El Linux Debian que GNU.ORG dice que es GNU.
Gnewsense, leido como GNUSENS, algo como "GNU SENSE".

Kernel 2.6.32

Sources - Todas de los servers GNEWSENSE
deb http://archive.gnewsense.org/gnewsense-three/gnewsense/ parkes main
deb-src http://archive.gnewsense.org/gnewsense-three/gnewsense/ parkes main
deb http://archive.gnewsense.org/gnewsense-three/gnewsense/ parkes-security main
deb-src http://archive.gnewsense.org/gnewsense-three/gnewsense/ parkes-security main


El resto no es muy distinto a un Debian con Gnome. Sencillo, limpio, directo.

VMware a Virtualbox



CAMBIO DE ULTIMO MOMENTO
Desde VirtualBox, se crea una maquina nueva, y se dice que use un disco de "VMWARE"
Voilá!!!!!!!


TODO ESTO ES VIEJO

Encontré este link con información sobre como migrar equipos virtuales entre VMWare y VirtualBox.
Voy a intentar migrar mis equipos a VirtualBox, básicamente por ser GPL.

Veremos si lo logro.

http://www.howtogeek.com/125640/how-to-convert-virtual-machines-between-virtualbox-and-vmware/

El resúmen es

# ovftool Origen.vmx Destino.ovf

GPL GNU/Debian


Mirando en mi equipo con Debian 8 (Jessie), el fichero /etc/apt/sources.list contiene:

Sitio http donde conectarse
jessie, la version de Debian a usar (8.0)
main repositorio principal
non-free repositorio para paquetes que NO SEAN FREE, el conflicto con GNU
contrib paquetes de otros colaboradores

deb http://ftp.es.debian.org/debian/ jessie main non-free contrib
deb-src http://ftp.es.debian.org/debian/ jessie main non-free contrib

deb http://security.debian.org/ jessie/updates main non-free contrib
deb-src http://security.debian.org/ jessie/updates main non-free contrib

# wheezy-updates, previously known as 'volatile'
deb http://ftp.es.debian.org/debian/ jessie-updates main non-free contrib
deb http://ftp.es.debian.org/debian/ jessie-proposed-updates main non-free contrib
deb-src http://ftp.es.debian.org/debian/ jessie-updates main non-free contrib


Aunque Debian dice que su sistema operativo es GNU/Debian

Linux test 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt9-2 (2015-04-13) x86_64 GNU/Linux

Para GNU no lo es, así lo declaran en su lista de S.O. GNU y aclaran porque otros no lo son.

Puedo entender el esfuerzo que hace GNU y FSF para lograr que el mundo entienda, acepte y migre a sistemas operativos GNU, pero hasta alcanzar esa meta, tenemos que convivir con necesidades diarias, en ese punto quedan solo dos caminos:

a. pasarse a un S.O. que nos de la funcionalidad que deseamos porque no hay productos GNU que lo hagan.

b. aceptar que haya paquetes NON-FREE y entender que tenemos que usarlos hasta que un grupo de desarrolladores haga algo similar pero GNU.

Cada uno que piense que quiere hacer.

En mi caso Debian, ya no me fio de otros Sistemas Operativos. Si puedo UNICAMENTE GNU, pero sino.... tengo que instalar esos otros paquetes o drivers binarios para mi hardware.


La lista de paquetes NON-FREE en Jessie
https://packages.debian.org/jessie/firmware-linux-nonfree


Es curioso pero en mis equipos no tengo nada que no sea NON-FREE, al menos de Debian.
Sin embargo SI tengo otros productos que no deberia usar.

Skype.
VmWare Player
FlashPlayer
Mozilla Firefox con su MPL


DevOps...


Copio el link y el texto original, el post me lo envió Pablo y que me pareció 100% exacto, hago una interpretación libre.

http://www.vitavonni.de/blog/201503/2015031201-the-sad-state-of-sysadmin-in-the-age-of-containers.html


Mi interpretación.

LA TRISTE SITUACIÓN DE LOS SYSADMINS EN LA ERA DE LOS CONTENEDORES.

La administración de sistemas operativos está en un estado lamentable. Es un lío/follón/desastre.

Yo no me quejo de los administradores de sistemas de la vieja escuela. Ellos saben cómo mantener los sistemas en funcionamiento, gestionarlos y mantenerlos actualizados.
Este reclamo es hacia contenedores, máquinas virtuales prearmadas y el lío/desastre increíble que provocan porque su concepto carece de las nociones de "confianza" y "mejoras".

Consideremos por ejemplo Hadoop. Nadie parece saber cómo armar un servidor Hadoop desde cero.
Es un lío/desastre increíble de dependencias, requisitos de versiones y herramientas de compilación.

Ninguna de estas herramientas fashion/modernas se compilan/construyen usando el tradicional comando "make".
Cada herramienta tiene su propio, incompatible y no portable "metodo de es dia" para compilarse/construirse/instalarse.

Y ya nadie parece capaz de compilar las cosas desde cero/scratch, todos acaban por descargar binarios precompilados de sitios web aleatorios.
A menudo, sin ningún tipo de autenticación o firma.

Es el paraíso de la NSA y los virus.

Ya no necesitas explotar algún agujero de seguridad, simplemente hacer una "APP"/Aplicación, una máquina virtual o un contenedor Docker... y tendrás gente que descargue tu código binario malicioso en sus redes.

La página wiki de Haddop de Debian es un buen ejemplo típico. Básicamente, en 2010 la gente ha renunciado a poder construir Haddop desde las fuentes o paquetes Debian y a cambio ofrecen bonitos empaquetados.
(Debian aclara que no incluye paquetes de Haddop justamente por las dependencias https://wiki.debian.org/Hadoop )

Para construir Apache Bigtop, aparentemente, primero necesitas instalar Puppet3, Bajemos datos mágicos de internet, luego trata de hacer un "sudo" a Puppet para habilitar los backdoors de la NSA (por ejemplo, el proceso bajará e instalará una versión precompilada y vieja de JDK, porque considera que usted es demasiado estúpido para instalar Java)

Y luego esperemos que el compilado no lance 200 lineas de una traza inútil.
No es una broma/de coña. Tratará de ejecutar comandos, como por ejemplo,

/bin/bash -c "wget ​​http://www.scala-lang.org/files/archive/scala-2.10.3.deb; dpkg -x ./scala-2.10.3.deb /"
(invoca al shell bash, baja un .DEB en la carpeta local del usuario, lo instala y listo)

Tenga en cuenta que ni siquiera instalara el paquete correctamente, en cambio lo extrae en la carpeta home del usuario.
La descarga no compruebe ninguna firma, ni siquiera certificados SSL. (Fuente: El Manifiesto de Bigtop Puppet)

Aunque el compilado funcionase, implicará que Maven descargue código binario sin firmar de Internet y que lo use para generar un compilado.

En lugar de escribir/utilizar una arquitectura clara y modular, en estos dias todo muta en un gran lio de dependencias inter-conectadas.

La última ves que lo verifiqué, el classpath de Hadoop estaba formado por 100 Jars, apuesto que ahora estará en 150, aún sin usar el otro desastre de GranMezclaNuevaCosasSimplesUnidasElasticSearch (o cualquier otro componente de Apache)

EL término "Stack" es la nueva denominación/sinónimo de "no tengo idea de que estoy usando realmente".

Mavi, Ivy y SBT son las herramientas necesarias para que su sistema descargue datos binarios de internet y los ejecute/corra en su ordenador/equipo.

Y con los contenedores el desastre/caos es aun mayor.

¿ Alguna vez trató de aplicar un parche de seguridad a un contenedor ?
En esencia, el enfoque de Docker se reduce a descargar binarios sin firmar, correrlos y usted deseando que no contengan/instalen ningún backdoor en la red de tu empresa.

Siento como si estuviera en los '90 descargando Shareware para windows.
(una época donde aparecían millones de programas shareware que se descargaban de internet y se probaban durante unos dias, algunos de ellos con virus, troyanos y demás riesgos, donde se debía reinstalar Windows cada mes por la cantidad de basuras metidas que había, incluídas las que enviaba Ms también)

¿ Cuando aparecerá la primera imagen de Docker en la que contenga instalado el Ask ToolBar?
Que es AskToolbar
¿ O cuando aparecerá el primer gusano/worm distribuido mediante una imagen defectuosa/mal-armada de Docker ?

En el pasado, las distribuciones Linux trataban de proveerte un sistema operativo seguro. Con paquetes firmados, construidos mediante la confianza de la red (grupos colaborativos trabajando en diferentes partes del mundo, auditándose mutuamente, identificando y arreglando fallos).
Algunos aún trabajando en compilados que puedan ser reproducibles.

Pero entonces "todo se Windowizó" (copió las costumbres que exsiten en el entorno Windows), Las "Aplicaciones" estaban de moda, que podías bajar y probar sin preocuparte por temas de seguridad, o la posibilidad de actualizar la aplicación a la siguiente versión.
Porque solo "vives una ves esta vida". (concepto de vivir a lo loco porque te acabarás muriendo, mejor rápido que bien)

Actualización: estas costumbres empezaron mucho antes que exista "Docker", hoy en dia Docker es el "curl | sudo bash", es otra manera de bajar "algo" de internet y darle acceso al shell con todos los permisos.
Eso está bien (en un equipo de pruebas), pero es una barbaridad descargar y correr un programa desconocido en tu DataCenter.

Lo que esta ocurriendo es malo, MUY MALO. Antes los Administradores de Sistemas se esforzaban para evitar agujeros de seguridad, hoy se autodenominan "DevOps" (mitad desarrollador y mitad Operador) y alegremente ellos mismos introducen esos agujeros en sus redes.






The sad state of sysadmin in the age of containers

System administration is in a sad state. It in a mess.

I'm not complaining about old-school sysadmins. They know how to keep systems running, manage update and upgrade paths.
This rant is about containers, prebuilt VMs, and the incredible mess they cause because their concept lacks notions of "trust" and "upgrades".

Consider for example Hadoop. Nobody seems to know how to build Hadoop from scratch. It's an incredible mess of dependencies, version requirements and build tools.

None of these "fancy" tools still builds by a traditional make command. Every tool has to come up with their own, incomptaible, and non-portable "method of the day" of building.

And since nobody is still able to compile things from scratch, everybody just downloads precompiled binaries from random websites. Often without any authentication or signature.

NSA and virus heaven. You don't need to exploit any security hole anymore. Just make an "app" or "VM" or "Docker" image, and have people load your malicious binary to their network.

The Hadoop Wiki Page of Debian is a typical example. Essentially, people have given up in 2010 to be able build Hadoop from source for Debian and offer nice packages.

To build Apache Bigtop, you apparently first have to install puppet3. Let it download magic data from the internet. Then it tries to run sudo puppet to enable the NSA backdoors (for example, it will download and install an outdated precompiled JDK, because it considers you too stupid to install Java.) And then hope the gradle build doesn't throw a 200 line useless backtrace.
I am not joking. It will try to execute commands such as e.g.

/bin/bash -c "wget http://www.scala-lang.org/files/archive/scala-2.10.3.deb ; dpkg -x ./scala-2.10.3.deb /"

Note that it doesn't even install the package properly, but extracts it to your root directory. The download does not check any signature, not even SSL certificates. (Source: Bigtop puppet manifests)

Even if your build would work, it will involve Maven downloading unsigned binary code from the internet, and use that for building.

Instead of writing clean, modular architecture, everything these days morphs into a huge mess of interlocked dependencies. Last I checked, the Hadoop classpath was already over 100 jars. I bet it is now 150, without even using any of the HBaseGiraphFlumeCrunchPigHiveMahoutSolrSparkElasticsearch (or any other of the Apache chaos) mess yet.
Stack is the new term for "I have no idea what I'm actually using".

Maven, ivy and sbt are the go-to tools for having your system download unsigned binary data from the internet and run it on your computer.

And with containers, this mess gets even worse.

Ever tried to security update a container?
Essentially, the Docker approach boils down to downloading an unsigned binary, running it, and hoping it doesn't contain any backdoor into your companies network.

Feels like downloading Windows shareware in the 90s to me.

When will the first docker image appear which contains the Ask toolbar? The first internet worm spreading via flawed docker images?

Back then, years ago, Linux distributions were trying to provide you with a safe operating system. With signed packages, built from a web of trust. Some even work on reproducible builds.

But then, everything got Windows-ized. "Apps" were the rage, which you download and run, without being concerned about security, or the ability to upgrade the application to the next version. Because "you only live once".

Update: it was pointed out that this started way before Docker: »Docker is the new 'curl | sudo bash'«. That's right, but it's now pretty much mainstream to download and run untrusted software in your "datacenter".

That is bad, really bad. Before, admins would try hard to prevent security holes, now they call themselves "devops" and happily introduce them to the network themselves!


miércoles, 22 de abril de 2015

MySQL Trace usuarios


Esta semana tuve que preparar un método para auditar que usuarios se conectaban a servidores MySQL. Identificando cuenta, host, ip, etc....
Encontré dos métodos que son parecidos.

A- TRAZA COMPLETA
Con este sistema, se puede saber quien se conecta, cuando, que hace, ins,del,upd,sel, etc.etc....

en el fichero /etc/my.cnf agregar dos lineas
general_log_file = /var/lib/mysql/mysqld.log
general_log = 1

luego consultar un fichero TXT,
/var/lib/mysql # cat mysqld.log | grep conn
/var/lib/mysql # cat mysqld.log | grep sel
/var/lib/mysql # cat mysqld.log | grep ins
/var/lib/mysql # cat mysqld.log | grep del
/var/lib/mysql # cat mysqld.log | grep upd

Que problemas tiene ?
El fichero (aunque se pueda compactar) crecerá mucho si hay mucha actividad en el motor. se puede rotar cada noche, compactar y también tendrá un poco de sobrecarga el propio motor, teniendo que guardar todas las actividades que hace.
Sin embargo, la traza es muy detallada, podemos saber quien borró un registro y cuando.



B- SOLO LOGINS
Con este otro sistema solo obtendremos información de las conexiones que se hacen en un motor, se pueden guardar varios datos, pero no tendremos información de que hace cada usuario.

En el motor, tenemos que crear una base, una tabla y dar permisos de inserción a todos.
>create database admin;

>create table connections (id int auto_increment primary key, login datetime, user varchar(50), datab varchar(50), conn_id int);

>grant insert on admin.connections to '%'@'%';

>flush privileges;


Luego editar el fichero /etc/my.cnf agregando esa línea, cada nueva conexión ejecutará ese query.
init_connect='INSERT INTO admin.connections VALUES (null, NOW(), CURRENT_USER(), database(), CONNECTION_ID());'

Y luego desde el propio motor, consultar la tabla.
select * from admin.connections;

Puede ser creativos y agregar mas información, database(), ip(), etc.etc...

Debian 3.1 Sarge


Como prueba de laboratorio estamos probando Debian v3.1 Sarge.

Instalado desde CD del 2005.

/etc/apt/sources.list
deb http://archive.debian.org/debian/ sarge contrib main non-free

GNU GPL v2 y v3


La semana pasada estuvimos hablando con un amigo de las licencias GNU General Public License (GNU GPL)
Ver sitio GNU

Estoy tratando de comprender claramente las diferencias entre la V2 (ampliamente difundida y usada actualmente por el Kernel de Linux) y la nueva (2007) v3 mucho mas restrictiva y usada bastante poco.

En este sitio, una comparativa parte a parte de las licencias, creo que hace falta un abogado para entender claramente las implicaciones.

http://www.groklaw.net/article.php?story=20060118155841115

Lo que entiendo es que la V3 presiona demasiado en el uso del software y trabajos derivados hechos usando software GPL.
Y que impediría la generación de productos comerciales si se usa Software V3, ya que los trabajos derivados serían únicamente V3 y que solamente funcionarían los aplicativos en hardware y software V3.

Sigo investigando, pero como siempre escucho comentarios.

domingo, 19 de abril de 2015

Person of Interest


Ayer estuvimos viendo varios capítulos de POI, Person of Interest, una serie sobre un programa de supervisión nacional para identificar personas que puedan estar en peligro.

Aunque no queda claro como es el programa que define "quien" está en peligro, el resto es interesante y esta a medio camino de ciencia ficción y la realidad.

En uno de los capítulos del año pasado, aparecía una empresa que vendía productos para el dolor de cabeza pero que un 3% de los que tomaban el medicamento tenían problemas de corazón.
Si lo comparo con lo que están comentando en las noticias sobre el Ibuprofeno, el paralelo es increible.

De casualidad llegué a este link, donde se puede ver en tiempo real, lo que pasa en España (Puerta del Sol) y otros paises, supongo que para fomentar el turismo.

https://www.skylinewebcams.com/es/webcam/espana/comunidad-de-madrid/madrid/puerta-del-sol.html