Asegurar Ubuntu Home Server 16.04 y configuración básica

Asegurar el servidor y configuración básica

Ubuntu 16.04 Home server

 

Este tuto viene del post. Se supone que tenéis configurado ubuntu 16.04 con una instalación mínima, red con ip fija, y acceso por ssh.

Objetivo: una instalación básica para correr Oracle VirtualBox 5.1 cpm php virtualbox.

 

Paso 1. Ajustar los archivos de configuración

Instalar algunos paquetes esenciales

$ sudo apt-get install nano lm-sensors smartmontools build-essential dkms sysstat htop perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python openssh-server zip unzip rar unrar

Modificación del nombre de Host

Podemos omitirlo si hemos realizado la instalación según el post anterior.

Actuamos como root, tecleando en la terminal:

$ sudo su

  • Con el nombre de dominio que hemos obtenido en dyndns (en el presente ejemplo namebox.dyndns.org), modificamos el nombre de nuestro ordenador

$ nano /etc/hosts

127.0.0.1 localhost.localdomain localhost

192.168.0.100 server1.example.comserver1

# The following lines are desirable for IPv6

capable hosts

::1ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

ff02::3 ip6-allhosts

Editamos también:

$ nano /etc/hostname

namebox

Y ejecutamos

$ /bin/hostname -F /etc/hostname

$ shutdown -r now

Asegurar ssh.

Vamos a cambiar el puerto por defecto de ssh, desactivar el acceso del root y establecer los usuarios que podrán acceder.

$ sudo nano /etc/ssh/sshd_config

– Buscamos

Port 22 – y lo cambiamos por un numero diferente (12345) para ponérselo más difícil a los hackers. (Hay que configurar el router para acceder a este nuevo puerto)

– Cambiamos:

PermitRootLogin no

X11Forwarding no

UsePAM no

– y añadimos estas líneas al final:

UseDNS no

AllowUsers user1

Para reiniciar ssh

$ service ssh restart

Salimos e iniciamos una sesión ssh con el nuevo usuario

* desde OSX o Linux:

ssh -p 12345 user1@123.45.6.78

* Desde Windows:

putty user1@123.45.6.78 1234

Modificar fstab

Os dejo una copia de mi fstab (arhivo de puntos de montaje de los dispositivos y discos duros.

Las líneas que comienzan por tmpfs, son recomendables para todas las configuraciones ( si hay >2 Gb de Ram) por rendimiento y seguridad.

La línea correspondiente a  /, es la configuración para una SSD EVO 850, configurada para instalar después netatalk y aumentar el rendimiento.

La línea correspondiente a /R5, es para el raid5 del LSI Megaraid.

La línea /vbox, es para una SSD destinada únicamente a las máquinas virtuales.

Ahora ajustad vuestra propia configuración.

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> point>
# / was on /dev/sdb1 during installation
UUID=e352177d-e79e-45aa-bdd0-b519df2fe5e0 / ext4 noatime,nodiratime,nodelalloc,barrier=0,i_version,commit=30,inode_readahead_blks=64,errors=remount-ro,user_xattr,acl 0$
# /R5 was on /dev/sda2 during installation
UUID=5f78aebc-f770-43d5-8ad6-5618377fee2a /R5 ext4 noatime,nodiratime,user_xattr,acl 0 2
# /boot was on /dev/sde1 during installation
UUID=2cab022f-7b2e-4d33-a76d-795bfe3e7d3b /boot ext2 noatime,nodiratime 0 2
# /vbox was on /dev/sdc1 during installation
UUID=5d8766f7-c0b2-4703-a3b5-a0073a7b4b8b /vbox ext4 noatime,nodiratime,nodelalloc,barrier=0,i_version,commit=30,inode_readahead_blks=64,user_xattr,acl 0 2
# swap was on /dev/sda1 during installation
UUID=fb9db486-b2b3-4c17-9675-364bb4ebbd4f none swap sw 0 0
tmpfs /tmp tmpfs rw,nosuid,nodev
tmpfs /run/shm tmpfs defaults,noexec,nosuid 0 0

Fstrim al inicio del sistema para optimizar las SSD

Borramos temporales, cache de apt y optimizamos los puntos de montaje sobre SSD’s.

$ sudo nano /etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.rm -R /var/crash/*
apt-get autoclean
apt-get clean
apt-get autoremove
fstrim -v /
fstrim -v /vbox
exit 0

Modificar systcl.conf

Para un servidor web y mínimo uso de la swap, añadir estas líneas a vuestro /etc/sysctl.conf

$ sudo nano /etc/sysctl.conf

# IP Spoofing protection
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1# Ignore ICMP broadcast requests
net.ipv4.icmp_echo_ignore_broadcasts = 1# Disable source packet routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0# Ignore send redirects
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0# Block SYN attacks
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5# Log Martians
net.ipv4.conf.all.log_martians = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1# Ignore ICMP redirects
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0# Ignore Directed pings
net.ipv4.icmp_echo_ignore_all = 1

vm.swappiness=10

Si tenéis un linux Raid, podéis seguir este tuto, donde también se añaden lineas a /etc/rc.local dependiendo del raid que hayáis montado.

Instalar webmin

Basado en el enlace del propio sitio de wemin.

Editamos el archivo /etc/apt/sources.list

$ sudo nano /etc/apt/sources.list

y añadimos la línea

deb http://download.webmin.com/download/repository sarge contrib

Pulsamos Ctrl+X y guardamos (y).

Ejecutamos:

cd /root
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc
apt-get update
apt-get install apt-transport-https
apt-get install webmin

 

Para acceder a webmin utilizamos la ip fija de nuestro servidor (192.168.1.X), y entramos por el navegador https://192.168.1.X:10000/

Es importante tener en cuenta que según nuestro esquema de instalación no accederemos directamente a webmin desde el router, sino desde una máquina virtual, por tanto es conveniente acceder directamente a la ip del servidor desde la red interna.

Si has instalado MySql o MariaDB:

Para asegurarlo

$ mysql_secure_installation

Le decimos a todo que si.

 

Mac Pro 1.1 (Año 2006) vs. Mac Pro 2013

macpro_1_1
Mac Pro 1,1 (Año 2006) S.O. Original Tiger 10.4

 

Esta máquina fue mi primer Mac, el Mac Pro 1.1, y muchas versiones de OSX han pasado por él: Tiger, Leopard, Snow Leopard y Lion. Y la verdad es que me quedé en Snow Leopard por varias razones:

  • Lion no es compatible con el software de Power Pc: hay jollitas que no quiero perder y software original que me compre y cuyas versiones originales (Shake, Final Cut Express,… sin actualizaciones) solo puede correr con Rosetta.
  • La desaparición de Software LIbre a favor del software privativo de Apple con Lion.
  • La merma de recursos, sobre todo en RAM, absolutamente injustificada porque no aumentan en absoluto las prestaciones de la máquina.

Pensé, supongo que como todos, que sería un versión de paso de Apple que daría lugar a un Montain Lion flamante, pero no ha sido así. Lo único que parecía aventurar un cambio de sistema operativo, y por tanto plantearse un mac pro nuevo era el uso de las memorias SSD que precisan del comando trim para funcionar de forma óptima. Pero con trimenabler y Chamaleon SSD Optimizer se acabaron los problemas.

Y en el año 2013, aparece…

Mac Pro 2013
Mac Pro 2013

La maquinita en piezas…

mac-pro 2013 desmontadoEs un concepto de máquina completamente nuevo, y muy caprichoso. El rendimiento interno debe ser descomunal, pero necesitamos imperiosamente un raid externo para poder funcionar con él, o un servidor de archivos potente. Y eso no es lo peor. Si como yo, tenéis tarjetas PCI-e que valen una fortuna como las UAD o las Powercore. Sólo tienes dos opciones o comprar un modulo adaptador para adaptar las tarjetas al thunderbolt o tirar las tarjetas y comprar hardware nuevo que es mas caro que las tarjetas.

Caja pcie-thunderbolt
Caja pcie-thunderbolt

Es decir, lo que en el mac pro 2006 ocupa un macpro 2006, ahora en el 2014 ocupa el mac pro + raid + caja thunderbolt…y todo cuesta mas caro, aparte de porque sea Apple, porque hay que comprar mas cosas.

Como podemos ver, podemos actualizar hasta el procesador, cosa que yo ya hice con mi mac 2006. Actualmente tengo dos XEON de cuatro núcleos a 2,66 Ghz y 16 Gb´s de Ram. Además de la ATI Radeon X1900. Y el caso es que no me acabo de fiar del aparato ni del thunderbolt, a parte que el otro día echando cuentas en el Mac Store, el Mac Pro de mis sueños se subía a unos 16.000€ con raid, pantalla, etc…  Y  si es para casa…  XD.

He estado ojeando precios, y un Mac Pro 1.1, lo puedes comprar de segunda mano por unos 600$. Y habría que moverse un poco pero subir a los 16Gb de ram y meterle una gráfica compatible lo mismo no es tan caro.

He probado Ubuntu 14.04 LTS y va perfecto (excepto porque tienes que instalarlo en un disco duro que dependa directamente de la controladora principal para que pueda arrancar. Es decir, no puedes arrancar desde la controladora pci-e).

Comparemos ambas arquitecturas. Con el Mac Pro del 2006, puedes actualizar los procesadores, y aumentar el número de discos duros internos hasta 12  (los 4 donde se encajan los discos + 2 salidas sata ocultas tras los ventiladores + 3 ranuras pcie con controladoras sata x 2 SSD’s o discos de 2,5). Con el Mac Pro 2013 tienes dos controladoras gráficas de impresión y hasta 64Gb Ram. Según mi criterio, el nuevo Mac Pro parece destinado a la edición de video, y a aquellos que se inician en el audio profesional y tienen que invertir desde cero. E incluso en este último caso, no se si sería más interesante trabajar en Snow Leopard con un Mac Pro previo al modelo papelera, por el tema del coste y el software disponible  (que en el ámbito del audio tiene que estar mas que testeado).

Sonnet Tempo SSD Pro 6Gb/s SATA PCIe 2.0 controladora SSDYo en mi modesta configuración he metido dos controladoras Apricorn para dos SSD que tampoco han sido muy caras, las KINGSTON SV300S37A120G.

Apricorn solo
Apricorn solo
KINGSTON SV300S37A120G
KINGSTON SV300S37A120G

La controladora me costo 60€ y la SSD otros 60€. Sólo con eso el rendimiento del Mac Pro 1,1 se ha doblado. Los cuatro Discos duros los he dejado para un raid 10 de 6Tb ( 4HDD x 3Tb). El último invento que voy a probar es montar dos SSD’s Kingston de 120Gb en RAID Stripe a ver que pasa.

Pero lo que realmente me dejó completamente anclado en este modelo de mac y en el Snow Leopard ha sido:

  • MacPorts: Este proyecto porta el software libre de linux a OSX, y yo he conseguido montar con el la última versión de apache, PHP54 y MYSQL de Oracle… todo ello para acabar montando el Owncloud 6, que no es compatible según la web de owncloud con Mac OSX Server. El problema de seguridad del Firewall lo he solucionado montando Little Snitch. Y me estoy planteando incluso mudar esta página a mi servidor de casa.
  • No ha habido ninguna incorporación de software lo suficientemente innovadora como para plantearse el cambio.

Si tengo tiempo subiré un post de como montar el MAMP ( Mac + Apache + MYSQL + PHP54) SSL en Snow Leopard con MacPorts. Pero la verdad es que no ha sido fácil y como me gusta tanto tunear las instalaciones me llevara mucho tiempo montar el howto perfecto.

De momento estoy encatando con mi gato, el leopardo blanco,  y paso de las olas por muy Mavericks que sean.

Saludos!

SSD TRIM en OSX Snow Leopard

trimenablerTodos aquellos que como yo seguís trabajando con Snow Leopard y queréis añadir un disco SSD, seguramente os habréis encontrado con un dolor de cabeza terrible para activar TRIM a través de TRIM enabler 3.0 que es la versión actual a la fecha de este post.

La última versión de TRIM enabler que funciona con Snow Leopard es la 2.0, que podéis descargar en este enlace.

chamaleonAunque a mi no me ha funcionado, os dejo el link a  una nueva aplicación gratuita mas completa denominada Chamaleon SSD Optimizer, que permite no solo activar TRIM, sino ajustar otros parámetros. Entre sus funciones:

– Activación del soporte TRIM
– Desactivación del Sudden Motion Sensor
– Desactivación de Time Machine (local o totalmente)
– Activación de Noatime
– Selector de SleepMode (0, 3, 25)
– Visor de datos S.M.A.R.T
– Reparación de permisos

Funciona incluso con la versión 10.6.7 de Snow Leopard.

Para activar noatime, consultar el siguiente post.

A todos los que tengáis un Mac Pro, os recomiendo también un accesorio de Apricorn que a parte de ser un controlador SATA3, os permite montar directamente encima la SSD.

apricorn

Gracias a: