Sunteți pe pagina 1din 18

Nociones bsicas de un VPS

PRELUDIO

Quiz tu encontraste ste documento buscando en la web como instalar un vps, como hacerlo
con nginx, como instalar un panel o lo que sea.
Quiero aclarar inicialmente que este documento est pensado para personas que recin
comienzan en ste mbito, explicando cada simple detalle de esto.
on!iguraremos un vps recin creado " haremos lo posible para de#arlo bastante bien, aunque
quiero decir que esto es solo el comienzo " es una mera introducci$n al mbito, no
pro!undizaremos en temas seguridad ms all de las nociones bsicas, instalaremos un Server
con Nginx, P%P, &"SQ', phpm"admin, webmin

AUTOR

So" un usuario de la red, de () a*os estudiante de +ngenier,a en Sistemas en la
-niversidad Nacional del entro de la Provincia de .uenos /ires 0-NP./1 " escribo
este documento especialmente para los siguientes sitios webs2

&i blog2 http233blog.std4io.com3 el cual claramente propongo visiten, sobre todo si les
gusta la programaci$n.

5 para algunas de las pginas amigas que visito diariamente donde se pueden encontrar
temas interesantes2

http233!oro.in!iernohac6er.com
http233underc7de.org3!oro3
http233most4securit".com
http233wintxcoders.com

8ecomiendo su visita porque seguramente encontrarn buen material como este
documento.

EXTENSION

Ctrl + click para ir a uno de estos titulos en el documento2
9n ste documento se abarcarn los siguientes temas2
4 on!iguraciones bsicas de un vps, servidor de :;P, ssh " :ail<.an
4 on!iguraciones bsicas de un dominio
4 +nstalaci$n " con!iguraci$n de Nginx P%P &"SQ'
4 +nstalaci$n " con!iguraci$n de gestores
4 +nstalaci$n " con!iguraci$n de un panel de gesti$n del VPS
Configuraciones bsicas de un vps, y servidor de FTP
ndice
+ntroducci$n
/ccediendo al vps
reando el usuario &aster
+nstalar Servidor :;P
on!igurando SS%
+nstalar " con!igurar :ail<.an
onclusi$n
Introduccin
Vamos a comenzar entonces sin ms prembulos la primer secci$n de nuestro
documento, donde hablaremos sobre como con!igurar nuestro vps recin llegado " un
servidor de :;P para poder otorgar acceso a cualquier persona al vps.
9ste tutorial est basado en la distribuci$n =ebian de linux, aunque ustedes quiz
pre!ieran otra distribuci$n como ent>S a mi siempre me gust$ mucho ms debian.

Suponiendo que nuestro vps no tiene absolutamente nada " est recien instalado con
usuario root " nada ms, haremos un poco de introducci$n al tema.

'os vps en general se mane#an como si !uesen una computadora normal con un sistema
linux instalado, de !brica generalmente bienen con un sistema pelado, sin programas "
con!igurado no como para ser un servidor web sino como para que el usuario eli#a que
instalar.
Accediendo al vps

Para acceder a nuestro vps tenemos una !orma simple, por SS% que nos permitir
acceder al vps abriendo una shell 0o consola para los menos entendidos1 donde
podremos poner los comandos de instalaci$n de paquetes 0aplicaciones1 en nuestro
servidor, cambiar las con!iguraciones etc.

Si usamos ?indows para acceder por ssh necesitamos un programa llamado putt".
http233www.putt".org3

Si usamos 'inux basta solo con usar en nuestra terminal el comando @sshA el cual
pueden buscar en +nternet su !uncionamiento, aunque es bastante sencillo, ssh BipC

Nuestro vps tiene una direcci$n ip, que lo identi!ica en +nternet, " la usaremos para
acceder a l, usando putt" veremos que nos pide hostname o ip 0puede ser un dominio o
la ip que tenemos1 "o inicialmente uso la ip, "a que no tenemos el dominio con!igurado.
9n mi caso es DE.FG.ED.)< cuando compran el vps se los darn a los datos bsicos, el
port casi siempre es << salvo que les especi!iquen uno di!erente con los datos que les
enviaron luego revisen que est seleccionado SS% 0o quiz SecureS%ell1 " les aparecer
login as2 0logguearse como21 probablemente su usuario de base sea root, " luego les
pedir la contrase*a de dicho usuario.

=adas las circunstancias estamos usando el usuario root, en linux es aqul usuario que
tiene los ma"ores permisos posibles, el usuario con ms privilegios " por ende el ms
peligroso, "o generalmente no utilizo dicho usuario, sino creo uno nuevo, " es lo que
haremos a continuaci$n.
Creando usuario servermaster
'e llamo as, al usuario "a que es el maestro del servidor o aquel usuario que
administrar el vps.

9s importante que recuerden esta parte "a que para crear usuarios utilizaremos estos
comandos, " crearemos usuarios cada dos por tres.

Primero crearemos un directorio 0en ?indows carpeta1 donde guardar cualquier cosa
que nuestro usuario desee guardar, ah, irn los archivos del usuario, " etc.
Heneralmente esto se hace en 3home que es el directorio utilizado para ste tipo de
cosas.

# mkdir /home/servermaster

/s, creamos entonces un directorio para nuestro usuario.

Para crear un usuario pondremos2

# useradd <NOMBRE> -d <DIRECTORIO>

Veamos el !uncionamiento de esto, el nombre debe ser el nombre del usuario por
e#emplo servermaster, " el directorio debe ser el directorio que se le otorgar a dicho
usuario para que guarde cosas 0luego ser util para el !tp, los archivos del sitio web, etc1

9#emplo2

# useradd servermaster d /home/servermaster

9ntonces al loguearse aparecer automticamente dentro de ese directorio, adems es
donde podr guardar los datos, etc.

9s importante entonces ahora agregarle una contrase*a

# passwd <!"RIO>

laro que usuario debe ser el usuario al que le pondremos la contrase*a, en nuestro
e#emplo es2

# passwd servermaster

/ntes de proseguir vo" a aclarar que lo que ha" delante de cada comando 0el I 1 est
puesto Jnicamente de manera in!ormativa hacia el lector, aquellos comandos que les
preceda un I son comandos que necesitan del permiso de un usuario 8>>; 0esto es
estar loggueado como usuario root1 " cuando los comandos sean precedidos por un K
estos comandos no requerirn ningJn permiso especial ms que el del usuario.

/ partir de este momento nunca ms necesitaremos usar el usuario root a menos que
ha"a algJn tipo de problema 0por e#emplo si alguien se nos cuela en el sistema, cambia
las contrase*as de todos los usuarios, del root no podr, luego nosotros entramos como
root " reestablecemos el control en el vps sin necesidad de llamar a soporte tcnico del
hosting1.

Pero antes de Salir " volver a entrar con el nuevo usuario, necesitamos instalar el
paquete que habilita el usuario sudo para poder simular que somos el usuario root, "
hacer cosas de root sin necesidad de salir " entrar como root constantemente.

Para esto instalaremos el paquete desde los repositorios o!iciales de debian o del
proveedor del vps 0en mi caso leaseweb1.

Pueden entonces utilizar el comando aptitude o apt4get 0casi iguales, tienen di!erencias
pero no vienen al caso1, e instalar los paquetes sudo, " g6su.

/l ser la primera vez que accedemos al vps, puede ser que la lista de paquetes est
desactualizada dada la posibilidad de que utilicen una imagen para generar los vps " que
tenga a*os.

# apt-#et update

/hora si instalamos sudo

# apt-#et i$sta%% sudo #ksu

&u" bien, ahora lo con!iguraremos para que pueda ser utilizado Jnicamente por el
usuario servermaster, que ser el que nosotros usemos para generar los vps, " poder
instalar cosas, el resto de los usuarios no tiene por qu instalar ni parecer root para nada.

5o utilizo nano como editor de archivos aunque pueden utilizar vi o cualquier otro
editor 0quiz cualquier otro editor necesite ser instalado1.4

# $a$o /et&/sudores

/l !inal del archivo agrega2

BusuarioC /''L0/''1 /''

;en en cuenta claro, que usuario es el nombre del usuario, el resto en ma"usculas. 9n
nuestro caso ser,a agregar

Servermaster /''L0/''1 /''

/ partir de ahora se puede utilizar sudo para hacernos con los privilegios de root
momentneamente, ha" otra !orma que es con @suA su root nos permite logguearnos
como root sin cerrar la consola " despus volver al usuario original, pero ha" que
conocer la contrase*a de root, " en lo personal de#o contrase*as mu" complicadas para
el usuario root.
Por lo tanto, cerraremos la consola " volvermos a entrar a putt" o desde la terminal pero
ahora cuando nos diga login as2 pondremos servermaster " la contrase*a que elegimos, a
partir de ahora no volveremos a entrar al vps como usuario root a menos que sea
sumamente necesario, por el contrario entraremos como servermaster.

Si necesitaramos usar ahora comandos como I agregaremos sudo al principio de nuestro
comando " pondremos nuestra contrase*a de servermaster " nos dar los permisos
necesarios.
Instalando servidor FTP
9n lo personal me gusta mucho mas usar !tp para subir " ba#ar archivos, adems como
"o comparto mi vps " tiendo a que este documento permita compartir el vps crearemos
un servidor de !tp para que cualquier usuario que deceemos pueda tener acceso v,a !tp al
Server 0o a algunas partes, en particular su directorio home1

# apt-#et i$sta%% pro'tpd-(ase

8ecuerda que a partir de ahora cuando !igure un I debes poner sudo de la siguiente
!orma2

# sudo apt-#et i$sta%% pro'tpd-(ase

5 te pedir la contrase*a del usuario actual, en el caso de este documento es
servermaster.

-na vez terminado de instalar se podr acceder por !tp a nuestro Server con !ilezilla o
cualquier cliente, prueben acceder utilizando en Server2 tuip " los datos son los mismo
que para ssh.

08ecuerden no usar el usuario 8>>;1.

'es abrir de base la carpeta del usuario servermaster " no les de#ar ir ms atraz, o as,
deber,a ser, de lo contrario busquen en Hoogle como solucionarlo.

Si quisiramos crear nuevos usuarios para !uturos amigos del vps, solo debemos crear
un usuario nuevo de la misma !orma que creamos servermaster, P98> N> '9 =9&>S
P98&+S>S P/8/ S-=>MMM

Configurando SSH

/hora con!iguraremos ssh para que solo permita acceder a servermaster " a root 0o solo
a servermaster1.

NPor qu hacemos estoO 5o uso mi vps, " presto a veces a algunos otros usuarios que
quiz no quiero que accedan por ssh, aunque no tengan permisos root o para usar sudo,
no quiero que accedan por si las moscas, as, que solo permito que servermaster entre
por ssh 0el resto que entre por !tp1.

9ditamos el archivo /etc/ssh/sshd_config

# $a$o /et&/ssh/sshd)&o$'i#

.uscamos port2

Port <<

ualquiera que ha"a usado un vps sabe que el puerto de ssh generalmente es << " en lo
personal, pre!iero que ni sepan que existe ssh, por lo cual cambio el puerto
generalmente a otro puerto cualquier de no ms de F digitos obviamente, puede ser por
e#emplo DPQ< por decir algo.

Port DPQ<

5 as, quedar,a esa linea.
&s aba#o veremos2

Protocol (,<

N-N/ de#en el protocolo ( porque tendr,an un problemita de seguridad si se topan
con un experto del pentesting 2P, por lo cual debe estar2

Protocol <

Quizs "a est as,, depende de la antigRedad de su imagen de vps.

Permit8oot'ogin "es

9so ha" que cambiarlo por

Permit8oot'ogin no

+gual depende de cada persona, si quieren que se pueda acceder con el usuario root o
que no se pueda acceder, "o lo de#o en "es por una cuesti$n que "a mension ms
arriba, pero es gusto de cada uno, mucha gente pone que no para que no empiecen a
hacer brute!orce o lo que sea, "o por eso de#o contrase*as complicadas x= como
aSATKS33AF por decir algo.

8evisen tambin que +gnore8hosts et puesto como @"esA, de lo contrario es una puerta
ms innecesaria " probablemente ms probabilidades de que nos !astidien.

8evisen que %ost.ase/uthentication est puesto como @noA para evitar otro posible
acceso innecesario

-na parte ms que importante es limitar el acceso de los usuarios v,a ssh, no hablo del
root, sino del resto de los usuarios, la !orma en que "o lo hago es agregando al !inal del
archivo la siguiente linea2

/llow-sers servermaster

9sto hace que solo ese usuario pueda acceder v,a ssh el resto solo acceder v,a !tp. Pero
tambin pueden poner as,2

=en"-sers roberto

5 eso denegar el acceso a roberto, no obstante, habr,a que agregar cada usuario que no
queramos que acceda, " en mi caso solo quiero que acceda servermaster, pueden
agregar mas usuarios en ambos casos separandolos por espacios.

=en"-sers roberto alex pepe
Instalar y Configurar Fail2Ban

Su !unci$n es bannear al cabo de cinco intentos 0o los que nosotros le con!iguremos1 la
ip que ha intentado acceder a un servicio " no lo ha conseguido, evitando as, que se
saturen los servicios que ha" instalados en el servidor.

Primero que nada es importante instalarlo porque si no lo tenemos pues no !uncionar.

I apt4get install !ail<ban

9ditaremos entonces el archivo de con!iguraci$n

I nano 3etc3!ail<ban3#ail.con!

Veamos ahora las partes de este archivo de con!iguraci$n
bantime
omo el nombre mismo dice, es el tiempo que queremos que banee la ip que ha
intentado acceder erroneamente. 9l tiempo esta en segundos, por lo que si queremos
banear <Fh esa ip, <Fh U Q7 U Q7 L GQF77 segundos.
maxretry
9s el numero mximo de intentos que queremos que !ail<ban pase por alto, lo normal es
dar un poco de margen " poner P !allos como mximo, pero esto siempre va a gustos.
Ignoreip
/qu, hemos de poner las ips que queremos que !ail<ban no banee ba#o ningJn concepto,
por e#emplo las de la empresa o red local donde esta alo#ado el servidor 'inux. Por
de!ecto nos trae la (<E.7.7.( que es la inter!az lo del servidor 'inux 0para evitar
banearse a si mismo1. /*adimos la ip o red que queramos.
ignoreip L (<E.7.7.( ()<.(QG.(.73<F
'uego ms aba#o encontrar secciones de con!iguraci$n para cada servicio, pueden
activar las de SS% " la de pro!tpd

'uego reiniciamos el servicio " listo 21
I service !ail<ban restart
Conclusion
%asta ac con!iguramos usuarios, la shell para que solo algunos usuarios puedan
acceder, instalamos un servidor de !tp " adems con!iguramos un peque*o script para
controlar los brute!orce 21

Sugerencias2
Puedes si quieres instalar Server 0Vorg1 " montar un escritorio, luego un administrador
remoto para controlar el vps visualmente, aunque en lo personal me parece
desagradable.

Configuraciones bsicas de un dominio
Indice
+ntroducci$n
=ireccionando =ominios
Introduccin
/hora procederemos a con!igurar los dominios, para ello usaremos una de las primeras
herramientas que conoc, cuando empez con este @mundoA de los vps, se llama
a!raid.org " permite gestionar los dominios, subdominios, para que vallan a distintos
servidores etc.

http233!reedns.a!raid.org3

es gratis, ha" que crearse una cuenta.
Direccionando Dominio

Vamos a la secci$n dominios 0en el menJ izquierdo1, con add4domain agregaremos
nuestro dominio nos aparecern algunas opciones, clone es para clonar una
con!iguraci$n de algJn dominio que "a tengas, sub clone es para clonar luego todos los
subdominios.
/sique ninguna de estas !unciones las seleccionamos, en domain ponemos nuestro
dominio "a comprado, por e#emplo sor!tea.me 0es el m,o1, Shared State: eso pongan
privado.

Recuerden poner de dns los que figuran ah (NS1.AFRAID.OR! NS".AFRAID.OR!
etc# al do$inio que co$praron! para que funcione esto.

%echo esto &a tene$os nuestro do$inio listo! tiene un control para verificar si
nuestros do$inios est'n funcionando con la red de afraid (%ealth: active# o (ro)en
si no est' (ien direccionado.

%ace$os clic) en $anage al lado de nuestro do$inio! & pode$os visuali*ar las
configuraciones ('sicas de cada su(do$inio & do$inio! si hace$os clic) en el
do$inio+su(do$inio pode$os ver que tipo de record es! A uso &o para $i vps! el
su(do$inio! eso se puede ca$(iar o(via$ente! destination es donde va a apuntar!
& ah pone$os la ip de nuestro vps.

,enga en cuenta que a partir de ahora usted ta$(i-n puede acceder por ssh o ftp
usando en ve* de la ip! el do$inio o su( que ha&an configurado! & pueden
configurar para que algunos su( do$inios vallan a otro vps! o Server.

.or e/e$plo tengo un su(do$inio (log dirigido a la red de oogle con tipo 0NA12 &
direcci3n ghs.google.co$

2so es todo para esta secci3n! aqu pueden configurar su(do$inios! & etc.

Instalacin y configuracin de Nginx PHP MyS!
ndice
+ntroducci$n
+nstalaci$n de &"sql
+nstalaci$n de Nginx
+nstalaci$n de P%P " con!iguraci$n de Nginx
Introduccin
Quizs sta sea la parte ms importante de ste documento, aqu, veremos como
con!igurar e instalar el servidor de http, el intrprete de php, " el servidor de &"SQ',
no es mu" complicado, pero si requiere atenci$n para de#ar cada detalle bin terminado.
Instalacin de MyS!
Si bienes siguiendo los pasos anteriores no es necesario, pero si haz saltado hasta esta
parte es importante que hagamos un update de los paquetes que ha" en el servidor,
porque como expliqu pueden haber instalado el Server de base usando una imagen 0es
lo que har,a "o1 " probablemente la imagen tenga varios a*os.

I apt4get update

Por otra parte tambin hagamos un upgrade para tener una actualizaci$n de todos los
paquetes " estar al d,a 09sto es recomendable hacerlo cada dos por tres1

I apt4get upgrade

/hora si, estamos listos para primero instalar m"sqlserver

I apt4get install m"sql4server

Nos pedir una contrase*a para root, es importante saber que N> 9S '/
>N;8/S9W/ 8>>; =9' S+S;9&/MM
9s una contrase*a root para el usuario root de &"SQ' no para el root del sistema, no es
necesario " tampoco recomendado que uses el mismo usuario.

/hora e#ecutaremos el script de instalaci$n segura de &"SQ'

I m"sqlXsecureXinstallation

5 nos pedir el root de &"SQ'.

/hora nos har algunas preguntas en relaci$n a c$mo usaremos &"SQ', " las de#o para
su propia respuesta, "a que es una cosa relativamente personal.
Instalacin de "gin#
NPor qu nginxO
=e#o el lin6 de una publicaci$n mu" mu" interesante respondiendo esta pregunta " de#o
la conclusi$n2
http233blog.celingest.com3<7(D37<3<P3nginx4contra4apache4en4aws3

9n instancias small Nginx siempre domina, especialmente con alta concurrencia donde
el wor6er activado por eventos de Nginx muestra su potencia en un solo nJcleo,
mostrando un incremento sobre /pache en porcenta#es entre F)S " <7(S. &ientras en
las instancias con mJltiples nJcleos podemos ver como a veces Nginx su!re un poco
con ?ordPress plano 0debido al parmetro workers = 1) Usando cache de ficheros o
de memoria !"emcached) los resultados son siempre favorables a Nginx, con un
di!erencial de hasta <QGS. /dems de la comparativa entre Nginx " /pache, podemos
ver claramente que usar cache en ?orpress es obligatorio, " un plugin que use
correctamente &emcached es imprescindible.

9n nuestras conclusiones siempre consideramos el nJmero de conexiones simultneas
ms alto 0(771 cuando hablamos de porcenta#es " di!erenciales, "a que Nquieres tu web
as, de concurrida, noO

/ntes de continuar es probable que apache est instalado en su Server para lo cual
recomiendo desinstalarlo de la siguiente !orma2

I apt4get remove apache apache4utils

5 luego reinicien el server2

I reboot

/hora instalemos2

I apt4get install nginx

+niciamos el servicio

I service nginx start

.ueno ahora al entrar con un navegador a nuestro dominio web podremos ver un
@holamundoA de nginx 21
Instalacin de PHP y configuracin de ngin# y p$p
Para nginx usaremos P%P :ast gi, que es una versi$n @rpidaA de php, con
te$ricamente menor consumo dise*ado para el protocolo :ast H+ a di!erencia del H+
comJn.

I apt4get install phpP4!pm

5 listoM Php andandoM

/hora haremos un peque*o cambio de con!iguraci$n a php2

9ditamos el archivo /etc/php#/fpm/phpini

.uscamos esto cgi.!ixXpathin!o L ( " cambiamos el ( por el 7 de#andolo
cgi.!ixXpathin!o L 7

Huardamos.

/hora vamos a cambiar otra cosa, abrimos este archivo
/etc/php#/fpm/poold/wwwconf

.usque la l,nea , listen L (<E.7.7.(2)777 , " cambiar el (<E.7.7.(2)777 a 3var3run3phpP4
!pm.soc6 .

Quedando as,2
listen L 3var3run3phpP4!pm.soc6

8einiciamos phpP4!pm

I service phpP4!pm restart

Huardamos " listo con phpM

Vamos ahora a con!igurar Nginx, vo" a suponer para ampliar un poco el caso, que
adems del dominio principal tengo un subdominio que quiero utilizar2

9l archivo /etc/nginx/sites-available/default contiene la con!iguraci$n general de
nginx para cada dominio existente 0que los llama servidor1.

;iene que inicialmente quedar as,

server {
listen 80;

root /usr/share/nginx/www;
index index.php index.html index.htm;

server_name example.com;

location / {
try_files $uri $uri/ /index.html;
}

error_page 404 /404.html;

error_page 00 0! 0" 04 /0x.html;
location # /0x.html {
root /usr/share/nginx/www;
}

$ pass the %&% scripts to 'ast()* server listening on
+!,.0.0.+-.000
location / 0.php$ {
try_files $uri #404;
fastcgi_pass unix-/var/run/php1fpm.soc2;
fastcgi_index index.php;
fastcgi_param 3(4*%5_'*6789:7
$document_root$fastcgi_script_name;
include fastcgi_params;

}

}

=onde root es la ubicaci$n de nuestros archivos, "o generalmente pongo2

3home3B-S98C3publicXhtml

=onde user es obviamente el usuario, " primero creo un usuario para este sitio web por
e#emplo e#emplo.com " con directorio 3home3e#emplo.com3, luego con!iguro as,2

root 3home3e#emplo.com3publicXhtml

" en el code anterior serverXname e#emplo.com obviamente e#emplo.com debe ser
cambiado por tu pgina.

Si quisieras crear un subdominio e#.e#emplo.com al !inal del archivo de!ault agregar,as
un nuevo bloque @ServerA " le pondr,as2

I subdominio de e#emplo.com x=
I
server Y

listen G7Z
serverXname e#.e#emplo.comZ
root 3home3e#emplo.com3e#.e#emplo.com3publicXhtmlZ
index index.html index.htm index.phpZ
I
location 3 Y
tr"X!iles Kuri Kuri3 LF7FZ
[

errorXpage F7F 3F7F.htmlZ

errorXpage P77 P7< P7D P7F 3P7x.htmlZ
location L 3P7x.html Y
root 3usr3share3nginx3wwwZ
[

I pass the P%P scripts to :astH+ server listening on (<E.7.7.(2)777
location \ ].phpK Y
tr"X!iles Kuri LF7FZ
!astcgiXpass unix23var3run3phpP4!pm.soc6Z
!astcgiXindex index.phpZ
!astcgiXparam S8+P;X:+'9N/&9 KdocumentXrootK!astcgiXscriptXnameZ
include !astcgiXparamsZ
!astcgiXinterceptXerrors onZ
[
[
5 si !uera un Server di!erente para otra persona pueden poner otra ubicaci$n otro
dominio, " crear un nuevo usuario !tp, 21, pueden agregar cuantos como quieran, para el
subdominio no cre un nuevo usuario, " puse la carpeta del subdominio dentro de la
home del usuario, pero eso es a gusto, recuerden que primero tengo que crear esa
carpeta con el siguiente comando2

I m6dir 3home3e#emplo.com3e#.e#emplo.com3publicXhtml

5 para el primer caso hab,a que crear la carpeta publicXhtml 0para el dominio principal1

I m6dir 3home3e#emplo.com3publicXhtml
Instalacin y configuracin de gestores
ndice
+ntroducci$n
%top
&"top
+ptables
=dos de!late
Introduccin
9n realidad no se si son gestores, lo que si, "o los uso para controlar el estado del
servidor, " ese tipo de cosas.
Quiero agradecer a Hn7mD de underc7de porque me sugiri$ un par de comandos
0&"top " S:1.
Comando HT%P
9l primer comando es interesante, " lo uso no solo en el Server sino tambin en mi
mquina de escritorio con /rch 'inux, htop es un comando que nos sirve para ver "
controlar los procesos del sistema, su consumo, su id, " muchas otras cosas, es mu" Jtil.

I apt4get install htop

'uego cuando lo queramos utilizar escribiremos en la consola

K htop

0recuerden que el K signi!ica que no ha" que ser usuario root1 " se ve as,2



Pueden volver a la consola presionando :(7.
Comando M&T%P
mytop es una utilidad que sirve para monitorizar las consultas m"sql, procesos, "
rendimiento general del servidor de bases de datos m"sql. 9ntre otras cosas, nos permite
visualizar las consultas lentas 0slow queries1 que se e#ecutan en la base de datos, vamos
a instalarlo2

I aptitude install m"top

Para e#ecutarlo obviamente escriben m"top en la shell, pero deben antes con!igurarlo
escribiendo lo siguiente2

K nano \3.m"top

5 dentro pondremos lo siguiente2

user#admin
pass#password
host#localhost
d;#prue;a
delay#
port#""0<
soc2et#
;atchmode#0
header#+
color#+
idle#+

ambiando los valores por los correspondientes, dependiendo de su caso obviamente.
5o por e#emplo no puse db porque no quiero evaluar ninguna db en particular.


Para los menos experimentados pueden volver a la shell principal utilizando ctrl^

Para ms in!ormaci$n sobre este comando pueden visualizar2
http233#onsegador.com3<77)37G3instalar4"4entender4m"top4monitorizando4m"sql3
IPTAB!'S
+ptables es el !irewall por de!ecto de linux, " es mu" Jtil para controlar " evitar ataques
de denegaci$n de servicio 0==oS1, algo que ;>=>S los webmaster alguna vez
su!rieron o su!rirn, nadie se salva de los lammersillos dir,a !landers.

/ continuaci$n crearemos una con!iguraciones para cuando estamos ba#o ataque2

Para cuando sube la carga

K iptables 4/ +NP-; 4p tcp 44s"n 4# 89_9; 44re#ect4with icmp4port4unreachable

Esta es una de las mejores:

K iptables 4N s"n4!lood
K iptables 4/ s"n4!lood 4m limit 44limit (773second 44limit4burst (P7 4# 89;-8N
K iptables 4/ s"n4!lood 4# '>H 44log4pre!ix `S5N !lood2 `
K iptables 4/ s"n4!lood 4# =8>P

Esta es igual que la de arriba pero ms spera :p

K iptables 18 syn1flood
K iptables 19 *8%=5 1i eth0-! 1p tcp 11syn 1> syn1flood
K iptables 19 syn1flood 1m limit 11limit +/s 11limit1;urst 4 1> 475=48
K iptables 19 syn1flood 1> ?4@%
K iptables 19 *8%=5 1p tcp 1m tcp 11tcp1flags 3A8B435B9(C 3A8 1m limit 11
limit +/sec 1> 9((7%5
K iptables 19 *8%=5 1p tcp 1m tcp 11tcp1flags '*8B3A8B435B9(C 435 1m
limit 11limit +/sec 1> 9((7%5
Evitar paquetes mal formados, es bastante util

K iptables 4N Pa;X:/a9
K iptables 4/ Pa;X:/a9 4m state 44state +NV/'+= 4# =8>P
K iptables 4/ Pa;X:/a9 4p tcp 44dport G7 44tcp4!lags /'' /a,8S;,S5N,:+N K
iptables 4# =8>P
K iptables 4/ Pa;X:/a9 4p tcp 44dport G7 44tcp4!lags S5N,:+N S5N,:+N 4# =8>P
K iptables 4/ Pa;X:/a9 4p tcp 44dport G7 44tcp4!lags S5N,8S; S5N,8S; 4# =8>P
K iptables 4/ Pa;X:/a9 4p tcp 44dport G7 M 44s"n 4m state 44state N9? 4# =8>P
K iptables 4/ Pa;X:/a9 4! 4# =8>P
K iptables 4/ Pa;X:/a9 4# 89;-8N

Flood SYN

K iptables 4N s"n4!lood
K iptables 4/ +NP-; 4i eth^ 4p tcp 44tcp4!lags S5N,/a,:+N,8S; 8S; 4# s"n4!lood
K iptables 4/ :>8?/8= 4i eth^ 4p tcp 44tcp4!lags S5N,/a,:+N,8S; 8S; 4# s"n4
!lood
K iptables 4/ s"n4!lood 4m limit 44limit F3s 44limit4burst (Q 4# 89;-8N
K iptables 4/ s"n4!lood 4m limit 44limit EP3s 44limit4burst (77 4# 89;-8N

K iptables 4/ s"n4!lood 4# '>H 44log4pre!ix `S5N :'>>= ` 44log4tcp4sequence 44log4
tcp4options 44log4ip4options 4m limit 44limit (3second

K iptables 4/ s"n4!lood 4# =8>P

Flood UDP

K iptables 4/ >-;P-; 4p udp 4m state 44state N9? 4# /9P;
K iptables 4/ >-;P-; 4p udp 4m limit 44limit (773s 4# /9P;
K iptables 4/ >-;P-; 4p udp 4# =8>P

limitando a #$ la m%xima cantidad de conexiones

K iptables 4/ +NP-; 4p tcp 44dport G7 4m hashlimit 44hashlimit4upto P73min 44hashlimit4
burst G7 44hashlimit4mode srcip 44hashlimit4name http 4# /9P;

K iptables 4/ +NP-; 4p tcp 44dport G7 4# =8>P

Permitir el ping, pero a 1 paquete por segundo, para evitar un ataque IC"P Flood

K iptables 4/ +NP-; 4p icmp 4m state 44state N9? 44icmp4t"pe echo4request 4m limit 44
limit (3s 44limit4burst ( 4# /9P;

K iptables 4/ +NP-; 4p icmp 4# =8>P

Evitando que escaneen la m%quina

K iptables 19 *8%=5 1i $75& 1p tcp 1m tcp 11tcp1flags
'*8B3A8B435B%3&B9(CB=4) 8@87 D> ?4@%

K iptables 19 *8%=5 1i $75& 1p tcp 1m tcp 11tcp1flags 3A8B'*8 3A8B'*8 D>
?4@%

K iptables 19 *8%=5 1i $75& 1p tcp 1m tcp 11tcp1flags 3A8B435 3A8B435 D>
?4@%

K iptables 19 *8%=5 1i $75& 1p tcp 1m tcp 11tcp1flags '*8B435 '*8B435 D>
?4@%

K iptables 19 *8%=5 1i $75& 1p tcp 1m tcp 11tcp1flags 9(CB'*8 '*8 D> ?4@%

K iptables 19 *8%=5 1i $75& 1p tcp 1m tcp 11tcp1flags 9(CB=4) =4) D> ?4@%

DDoS Deflate
9n caso de tener un peque*o ataque ddos lo podemos mitigar con el siguiente script2

I wget http233www.inetbase.com3scripts3ddos3install.sh
I chmod 7E77 install.sh
I .3install.sh

-na vez instalado =oS4=e!late, podemos editar la con!iguraci$n que se ubica en
3usr3local3ddos3ddos.con!2

:89QL `aqui ponemos la !recuencia en la que el >.S e#ecuta dicho scrip en minutos`
33=e!ault L(
N>X>:X>NN9;+>NSL `conexiones limites para una +P entrante al servidor`
33=e!ault L(P7
/P:X./NL `Si es igual a uno 0(1 se usar /P:, sino lo tienes instalado, cmbialo por
cero 071 para usar iptables` 33=e!ault L(
a+''L `=eniega la conexion a +PS de lista Negra` 33=e!ault L(
9&/+'X;>L `aqui ponemos el email a donde se nos enviaran las ips atacantes`
33=e!ault Lroot
./NXP98+>=L `segundos de banneo tras realizar un ataque al servidor` 33=e!ault
LQ77

Para luego desinstalarlo podemos usar2
I wget http233www.inetbase.com3scripts3ddos3uninstall.ddos
I chmod 7E77 uninstall.ddos
I .3uninstall.ddos

Instalacin y configuracin de un panel en el vps
ndice
+ntroducci$n
+nstalaci$n de phpm"admin
+nstalaci$n de zPanel3?ebmin
Introduccin
9s probable que el lector no quiera utilizar siempre ssh para cualquier operaci$n que
desee realizar por lo cual explicar como instalar dos paneles mu" importantes "
completamente necesarios si no te agrada mucho la consola.
Quiero agregar una advertencia con respecto a las bases de datos, siempre que
utilicemos las bases de datos N-N/ pero N-N/M -tilicemos el usuario root, nunca
pongamos el usuario root en un script " a ser posible deshabilitemos el uso de usuario
root de !orma externa, para gestionar la db, pueden crear un usuario con todos los
permisos globales desde phpm"admin, " cuando vallan a usar un script, creen un
usuario para la db en particular " sin permisos globales, porque por mas !uerte sea el
script puede darse el caso de que alguien por cualquier raz$n acceda al archivo de
con!iguraci$n " les haga un caos.
=e hecho vo" a acotar que en un !oro conocido como lo es underc7de, estaban
con!igurando algunas cosas en nginx e hicieron que el Server empezara a descargar los
archivos en vez de e#ecutar, " permiti$ que "o me descargue el archivo settings.php "
acceder a los datos de la db entre otras cosas, para su mala !ortuna usaban el usuario
root, por lo que de#aron vulnerable toda la base de datos.

Instalacin de p$pmyadmin
'a instalaci$n en particular es bastante sencilla basta con un2

I apt4get install phpm"admin

5 "a tendremos instalado phpm"admin, para que !uncione "o realic2

K ln 4s 3usr3share3phpm"admin3 3usr3share3nginx3www

'o que se traduce como crear un enlace a la carpeta del phpm"admin, " lo hice en la
carpeta por de!ecto de nginx, me !uncion$ luego en todos los dominios, quiz si quieren
un dominio en particular pueden cambiar 3usr3share3nginx3www por
3home3B-S-/8+>C3publicXhtml

Instalacin de (Panel)*e+min
bpanel es quiz uno de los me#ores clones para panel, puedes ver como instalarlo aqu,
http233www.zvps.u63zpanelx3installers3ubuntu4(<47F, 0tambin ha" una versi$n
instalable para cent>S1 una alternativa mu" Jtil es webmin que es uno de los me#ores, "
que visualmente no es tan bueno, pero luego como gestor es mu" mu" bueno.

?ebmin lo pueden instalar desde aqu,2
http233www.webmin.com3
http233www.webmin.com3deb.html

.ueno, eso es todo para este documentoM 9spero les ha"a servido3gustado 21

S-ar putea să vă placă și