oriolrius.cat

Des del 2000 compartiendo sobre…

Tag: linux

Script: entrar en un servidor protegit amb iptables

Reading time: 3 – 4 minutes

Un fenòmen molt humà i per tant habitual, quan estem configurant un firewall amb iptables contra un servidor remot al que no tenim accés, posem per cas que esta als EUA, és el de fer-nos fora a nosaltres mateixos al executar l’script que llença les regles de filtrat. Llavors podem reiniciar la màquina a través del panell de control que ens ofereix l’ISP, o qualsevol altre procediment. El problema esta en que si aquest script s’executa només iniciar la màquina en el rc.local o qualsevol altre procés d’arrencada serà impossible que ens autentiquem per SSH després de que arrenqui el servidor.

Però… com tots els que hem vist arrencar un servidor en linux sabem, entre crida el servidor SSH i es llença l’script de les regles del firewall, pot passar 1s (~aprox) segons el ràpid que sigui el servidor. Si fossim prou ràpids autenticant-nos a la màquina podriem llençar un procés que es llencés després de l’script de les iptables i aquest script ens podria tornar a donar accés a la màquina, per exemple, netejant les regles del firewall i canviant la política per defecte.

Doncs bé, després de provar de fer-ho a mà vaig arribar a la conclusió que malgrat haver fet un curs de mecanografia quan era petit, encara era massa lent i l’enllaç es tallava abans no pogués recuperar el control de la màquina. Així doncs, vaig decidir comprovar si la màquina disposava d’un llenguatge que s’anomena expect i que es basa en TCL/TK. Aquest llenguatge com ja he comentat algún cop al blog ens permet automatitzar processos intereactius. Així doncs, vaig fer-me aquest petit script:

#!/usr/bin/expect -f

spawn /usr/bin/ssh root@ip_del_servidor expect "ssword: $" { send "password_de_root\n" } expect "#" { send "echo \"sleep 30;iptables -F;iptables -P INPUT ACCEPT;iptables -P FORWARD ACCEPT;iptables -P OUTPUT ACCEPT\" > rest.sh \nchmod 700 rest.sh\nnohup ./rest.sh\nsleep 5\n./rest.sh" } interact

Fixeu-vos que és molt senzill, el que fa és connectar-se per SSH amb el servidor remot, enviar el password de root; després crea un script molt senzill que es guarda a rest.sh li dona permisos d’execusió i l’executa amb un nohup perquè si la nostre consola perd la connexió amb el servidor l’script no deixi d’executar-se. El contingut d’aquest petit script que es crea és tan senzill com esperar-se 30s perquè així s’assegura que la màquina ha acabat el procés d’arrencada i després neteja les regles del firewall i posa les polítiques en ACCEPT. Així doncs, ja podem entrar sense problemes.

Doncs bé amb això un ping que vigili quan s’ha aixecat la targeta de xarxa i després executant aquest script que us he posat aquí, jo el dimarts vaig aconseguir ressussitar un servidor remot al que no tenia accés físic, només forçant reboots a través del panell de control que em van facilitar. El senzill que hagués estat tenir una consola d’administració remota i tot llest amb un segon. Però suposo que la necessitat desperta l’enginy, no?

Provant anti-virus i anti-spam

Reading time: 1 – 2 minutes

Un parell de notes per provar els antivirus i antispam en el correu. Concretament jo els uso per provar amavis amb spamassassin i clamav.

Per provar un antivirus en el correu és tan senzill com envinar un fitxer EICAR adjunt en un correu.

Per provar l’anti-spam, per exemple, spamassassin podem enviar una cadena de texte dintre d’un correu com la següent:

XJS\*C4JDBQADN1\.NSBN3\*2IDNEN\*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL\*C\.34X

NOTA: la cadena de text per provar el anti-spam, de fet, és la mateixa cadena de text que té en el seu interior el fitxer EICAR, tot i que als fitxers EICAR, sovint se’ls posa dins de fitxers .zip i d’altres similars, per provar a fons l’anti-virus. Així doncs, si algú sap alguna forma millor de provar l’anti-spam que avisi.

Cookbook: upgrade ubuntu edgy a dapper i FAQ d’ubuntu

Reading time: < 1 minute

Notes per un lamer com jo per saber fer un upgrade de la versió d’ubuntu dapper a la edgy que és l’última. Però és que necessito la nota perquè mai recordo com es fa:

  • A l’arxiu /etc/apt/source.list canviar les entrades de dapper per edgy
  • apt-get update com a root
  • apt-get dist-upgrade també com a root

També aprofito per referenciar un FAQ d’ubuntu que té molt bona pinta i que té resoltes coses tan interessants com obrir PDF dins del firefox en linux. Cosa que jo estava convençut que no es podia fer, digueu-me incult.

eBox – gestió de serveis via web

Reading time: 2 – 2 minutes

ebox-logo.pngAvui he descobert aquesta petita meravella, a través de digg he vist un howto que és prou interessant, però el que realment m’ha ensenyat és que hi ha una eina que via web ens permet administrar molts serveis a l’estic webmin però en xulo 😉

eBox is a framework for the development and deployment of network services in small and medium-sized networks, offering a simplified graphical interface to non expert users. It can be set up as a gateway, having some extra features over a usual router.

  • Network Configuration
  • Firewall with NAT/Port redirections
  • HTTP Proxy and content filtering
  • DHCP server
  • Configuration backups
  • Windows user, file sharing
  • PDC support
  • Printing server
  • DNS Cache
  • Jabber server
  • NTP server
  • Software updates
  • Mail server
  • Debian Installer!!!

Com a característica d’usabilitat important, és que suporta AJAX. Això i la imatge al més pur estil Web 2.0, jo diria que fa que li doni mil voltes al webmin. Tot i que a nivell de potència ja deu ser una altre cosa.

Per si a algú li pot ser útil el howto que on he trovat l’eBox és Running A File-, Print-, Proxy-, DHCP-, AND Time-Server For Small/Medium Enterprises (local).

trick: Protegint Grub amb un password

Reading time: < 1 minute

No heu tingut mai la necessitat de protegir una de les opcions de botat del grub amb un password, doncs aquí teniu un exemple de com fer-ho:

grub> md5crypt
Password: *********
Encrypted: $1$sEOFN1$dalP1fzlFCHD4saxlnNzM/
grub>

Com queda el menu.lst:

# Start GRUB global section
#timeout 30
color light-gray/blue black/light-gray
# End GRUB global section

# Other bootable partition config begins title Forbidden (on /dev/hda1) rootnoverify (hd0,0) makeactive chainloader +1 # Other bootable partition config ends
# Linux bootable partition config begins title Ubuntu Breezy (on /dev/hda2) root (hd0,1) kernel /boot/vmlinuz-2.6.12-9-386 root=/dev/hda2 ro vga=790 initrd /boot/initrd.img-2.6.12-9-386 password --md5 $1$sEOFN1$dalP1fzlFCHD4saxlnNzM/ # Linux bootable partition config ends

Ubuntu Adding Startup Daemon/Process

Reading time: 2 – 4 minutes

Aquest és un d’aquells articles que mai sé com titular en català. Així doncs s’ha quedat en anglès. Bàsicament es tracta de documentar una miqueta les suors que em va costar saber quin carai era l’equivalent al /etc/conf.d/local.start de Gentoo en Ubuntu. De fet, al final no el vaig trobar. El que he hagut de fer és crear un fitxer a /etc/init.d i llençar-lo com un dimoni d’arrancada en els runlevels que m’interessen. De fet, aquesta solució és més neta que la que jo volia aplicar inicialment però al final he perdut una bona estona per saber-ho fer i per això he decidit documentar-ho.

El problema concret que tenia és que volia llençar el Abyss Webserver al iniciar la màquina. Concretament l’ordre per llençar-lo és:

# su usuari /opt/abyssws/abyssws -d

Doncs bé per crear el fitxer que fes aquesta crida t’has de basar en el fitxer /etc/init.d/skeleton. Skeleton usa el mateix script que en Gentoo el start-stop-daemon per fer la crida del dimoni d’Abyss. Per saber més detalls sobre com funciona aquest complert script us recomano mirar el man de la comanda.

La comanda anterior per llençar l’Abyss basada en start-stop-daemon seria així:

start-stop-daemon --start --quiet --pidfile /var/run/abyssws.pid -u usuari --exec /opt/abyssws/abyssws -- -d

Pel que fa a l’script sencer també podeu usar un generador de fitxers d’inici de dimonis que he trobat a Robert Pectol’s Ubuntu Linux Projects Website – Startup Script Generator el problema és que aquest generador és molt bàsic i no suporta el pas de paràmetres contra el start-stop-daemon. O sigui, que no podriem definir quin és l’usuari que ha de llençar el dimoni.

Després de crear l’script que llençarà el dimoni només cal afegir-lo als runlevels que ens interessin. Per exemple, si volem que estigui disponible en qualsevol runlevel podem fer:

# update-rc.d script defaults

Si el que volem és iniciar-lo l’últim (posició 99) de la seqüència d’arrancada en els runlevels 2, 3, 4 i 5 la comanda seria així:

# update-rc.d -f script start 99 2 3 4 5

Si el que no sabeu és en quin runlevel esteu treballant és tan senzill com escriure runlevel i us informarà del runlevel actual. Una petita referència de quins són els runlevels existents la podeu trobar aquí.

Gumstix Netstix 200xm-cf mu-ordinadors amb linux

Reading time: 1 – 2 minutes

L’agost del 2005 us parlava dels mu-ordinadors amb Linux doncs bé, ara aquells mateixos Gumstix tenen més models disponibles fins hi tot dins de la seva mini-caixa i amb unes prestacions igual de sorprenents que quan en vaig parlar per primer cop al blog.

gumstix_netstix_200xm-cf.jpg

Perquè us feu una idea la caixeta de la foto metix 35x103mm, però té espai per un slot CF de tipus II i un RJ45 ethernet. A més té una CPU PXA255 XScale a 200MHz, 64Mb de RAM i 16Mb de flash. Si volem posar-hi wi-fi podem aprofitar l’slot CFIO que té. Obviament tot el sistema ve de fàbrica amb linux.

Si com sempre el que us preocupa és el preu doncs el podeu comprar directament a la web de Gumstix amb una font d’alimentació de 4V per 186.50$ o per 165$ si en compreu més de 1000.

PC amb linux per menys de 100$

Reading time: 2 – 3 minutes

Ja fa uns mesos que va sortir una empresa Xina anunciant un PC amb linux compatible amb l’arquitectura x86 que prometia un cost de menys de 100$ i unes presetacions que estaben molt bé si tenim en compte el preu. De fet, com jo no paro de repetir, oi Pau? ja ha arribat un moment en que molts dispositius enquestats (embedded) han deixat de tenir sentit degut a les prestacions d’aquests mini-PCs que ens permeten fer correr les aplicacions d’entorns PC sense massa més problemes que la mida de l’aplicació en disc.

e-way_tu_tiny_pc-front.jpg
e-way_tu_tiny_pc-back.jpg

Bé doncs, ja en tenim més informació del producte i fins hi tot se sap que per quantitats unitaries es podrà comprar per 99$. Les característiques sota el meu punt de vista impresionants:

  • CPU 200MHz compatible x86 (segurament un SiS550)
  • 128Mb RAM
  • 8Mb VGA (shared RAM)
  • 15-pin D-type female VGA connector
  • 10/100 Ethernet
  • 44-pin EIDE interface header
  • CompactFlash Type I/II slot
  • 1 x front and 2 x rear USB ports
  • PS/2 keyboard and 6-pin mini-DIN mouse port
  • AMI BIOS
  • Battery-backed RTC (real-time clock)
  • AC-97 V2.1 compliant CODEC
  • MIC-in & line-out phone jacks
  • 0 to 108 deg F (0 to 60 deg C) operating range

Les mides són realment impresionants 11.5×11.5×3.5cm. Pesa només 500grams i consumeix uns 3A a 5V. A més esta ja certificada CE i FCC cosa que sovint amb els productes que venen de la Xina és un tema que s’ha de vigilar. Sobretot si pensem instal·lar aquest dispositiu a clients.

La companyia que ha fet la màquina és E-Way Technology Systems i el model s’anomena TU-40.

Yoggie Security Systems

Reading time: 3 – 4 minutes

Aquesta empresa de capital risc acaba de presentar un mini-caixa de la mida d’una targeta de crèdit, amb dues connexions ethernet una cap a l’ordinador i l’altre cap a internet. La idea és fer de firewall personal per ordinadors aïllats o com a molt protegir petites xarxes de fins a 5 o 6 ordinadors connectant-hi un petit switch (o HUB). Com no podia ser d’una altre manera aquesta caixeta porta un Linux que s’encarrega de fer el que a Yoggie en diuen Personal Security Gatekeeper, o sigui donar funcions de:

  • Stateful inspection firewall
  • VPN client
  • Intrusion detection and prevention
  • Four transparent proxies: HTTP, FTP, POP3 (Pro model only), and SMTP (Pro model only)
  • Antivirus, antispyware, antispam (Pro model only), antiphishing (Pro model only)
  • Yoggie “Layer 8” security engine (patent pending)
  • Yoggie multilayer security agent
  • Content filtering
  • White and black lists
  • Yoggie health monitoring
  • Web management and monitoring said to provide “real time, constant, consistent and un-paralleled visibility into distributed laptop platforms, regardless of location”
yoggie_gateway.jpg

Tot això en ordinador ben petit però ben potent al mateix temps, de fet, esta disponible en dues versions la versió basic i la pro; les característiques del hardware són les següents:

  • Intel PXA270 (Bulverde) a 416MHz (basic) o 642MHz (pro)
  • 64 o 128Mb SDRAM
  • 64 o 128Mb Flash
  • SD slot (suport SDIO)
  • 4Mb de secured flash
  • 2 port 10/100 Ethernet
  • USB OTG (on-the-go)
yoggie_gateway_boards.jpg

El producte es comercialitzarà al novembre a través de distribuidors a EUA, UK i Alemanya. El model basic costarà uns 180$ i el Pro uns 220$. Realment crec que relació qualitat preu és un molt bon producte per molts tipus d’usuaris. Sobretot en el camp del SOHO o els RoadWarriors que van per tot arreu amb el portàtil. Esta clar que pels professionals de les TIC no és res de l’altre món però pels usuaris en general crec que per fi hi ha una bona alternativa a les appliances que treuen les companyies d’antivirus que sota la meva opinió en general són lamentables i una presa de pel.

El producte l’he tret de linuxdevices per variar, concretament de l’article Tiny Linux gadget protects Windows XP laptops. Si com a mi el que més us ha agradat del producte és la placa base podeu ampliar informació sobre el tema a l’article Freescale ships “SideShow” devkit — but where’s the Linux?. També podeu buscar més informació a google amb la keywordBulverde“.

kvpnc: client universal d’VPN per kde

Reading time: 1 – 2 minutes

GUI per clients d’VPN universal, suporta openVPN, cisco VPN client, FreeS/WAN (Linux 2.4.x), ipsec-tools support (Linux 2.6.x/BSD native), PPTP support (pptpclient). A més s’encarrega de fer la gestió de certificats i perfils dins d’un mateix tipus d’VPN. Realment molt útil si com jo heu de tenir a mà múltiples sistemes de connexió remots per diferents empreses i entorns de xarxa molt canviants.

screenshot-kvpnc.png

Val la pena que hi doneu un cop d’ull a la infinitat de funcionalitats que ofereix el programa. A més de ben segur que el podeu fer correr amb l’idioma que més us agradi i, com no, esta suportat al portage de gentoo. Així que ja només queda que proveu l’kvpnc i a veure si us agrada tan com a mi.