1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

TRUCO PARA PROTECCION DE SU SERVIDOR

Tema en 'Servidores Dedicados' iniciado por Forcehosting.CL, 28 Oct 2006.

  1. Forcehosting.CL

    Forcehosting.CL Nuevo usuario

    Estimados Usuarios ;

    Aqui dejaremos algunos trucos para aportar a vuestra comunidad ya que en nuestros servidores han funcionado a la perfeccion y nos han quitado muchos dolores de cabeza por ello queremos compartir dicha experiencia:

    ---------------------------------------------
    Ataques DoS

    Bueno estos ataques se caracterizan por sobrecargar nuestros servidores denegando el servicio a los demas usuarios , se bloquean las paginas y generalmente no podemos acceder a nuestro servidor en aquellos momentos o se hace demasiado lenta la carga.

    Para solucioanr estos problemas y aumentar el rendimiento recomendamos hacer lo siguiente:

    1.- Editar su archivo httpd.conf
    2.- Maxrequestperchild <-- este valor por default viene como 0 , esto quiere decir que no habra limete en la cantidad de procesos hijos que se creen , por lo cual un atacante Dos suele aprovechar aquello , recomendamos fijar el valor en 100 ( si tienen muchos ataques recomandamos alrededor de 60 dpendiendo delas tareas que haga su servidor )
    3 .- Maxclients ; fijarlo en 256 ( default es 150 ) o si compilan apache pueden incluso incrementar este valor a 512 para soportar mas conexiones sin que se bloqueen las paginas.
    4.- Salvar cambios , reiniciar apache.


    Otro programa que ayudara mucho en la tareas es:

    http://deflate.medialayer.com/

    Modulo llamado dos deflate , que se encargara de bannear las ip que generen demasiadas conexiones simultaneas , para ello dirijanse a la web ahi aparecen las instruncciones de instalacion , una vez hecho esto fijen el valor dentro de ddos.conf de maximas conexiones simultaneas a 100.

    Para ello deberan tener apf firewall instalado o funcionando iptables sin problemas con ambos puede funcionar dicho modulo , cada 1 minuto se ejecutara mediante cron jobs baneando todo ip que este generando muchas conexiones , esto hara bajar considerablemente la carga de nuestro procesador.

    Muchos ataques Dos se basan en boots automaticos que se encargan de derribar un objetivo , tambien lo hacen atraves de proxys por lo que benar las ip manualmente seria un caos , recomendamos totalmente DoS Deflate.

    ---------------------------------------------------
    DoS WHM - CPANEL

    Pocas semans atras recibimos poderosos ataques DoS a los paneles de control, estos ataques fueron devastadores una vez iniciado el servicio ( service cpanel start desde ssh ) los servidores se bloqueaban practicamente de inmediato por lo que Dos deflate no podia controlarlos, en este caso cambiar los puertos no sirve de nada , recomendamos instalar certificados ssl para las conexiones a /whm y /cpanel , con ello evitaran este ataque si alguna vez los llegan a recibir.

    Una vez instalado ssl en /whm y /cpanel , entren en su WHM ROOT - SERVER CONFIGURATION - TWEAT SETTINGS - SYSTEM

    Y activen la opcion:

    Always redirect users to the ssl/tls ports when visiting /cpanel, /webmail, etc.

    Esto hara que si hacen DoS a los paneles la carga del boot que se encarga del ataque no se complete debido al anuncio que nos aparecera , DESEAMOS CONTINULAR LA CARGA CON CERTIFICADOS DE SEGURIDAD SSL , por lo tanto el ataque se volvera obsoleto.

    ----------------------------------------

    Esperamos sirva a alguien el consejo , la mejor solucion para mantener protegidos un servidor y sus archivos sin firewalls y una buena configuracion de apache junto con php, mas adelante postearemos mas trucos .

    Saludos !
     
  2.  
  3. Tomas

    Tomas Usuario activo

    Hola!

    Que bueno ver otra persona de Chile. Con respecto a la gua, felicitaciones que esta bastante buena, pero tengo solo una apreciacion. El MaxClients no tiene que ver con un valor estatico sino que todo lo contrario. Este valor dependera de que tipo de servidor es, cuanta RAM (importantisimo), y si usas keepalives. Personalmente en todos nuestros servidores los keepalives se mantienen apagados.

    Saludos!
     
  4. Roderick

    Roderick Nuevo usuario

    hola amigos , quisiera hacer una preguntita.
    Saben tengo un servidor apache con php y mysql y me gustaria si pudieran ayudarme con la configuración de este.
    Existe un momento en que el servidor recibira muchas peticiones y por lo general se cae, gustaria saber que puedo setear en el servidor para que aguante una avalancha de peticiones en algun momento dado, debo dejar en claro que no es un ataque , sino que se entrega una información que puede ser consutada por 100.000 usuarios en tan solo 30 minutos.
    Saludos y espero que me ayuden con esto ya que nunca he podido dar con la configuración para que mi server aguante.
     
  5. Latin_Carrier

    Latin_Carrier Usuario activo

    Necesidas un load balancer o user light httpd. otra opcion seria repartir tus servidores en varias aplicaciones. por ejemplo apache en un intel xeon 2.8 y MySQL en un pentium 4 de 2.8 ...etc etc.. hay muchas formas, lo mas correcto es saber que exactamente necesita tu web y cual seria la forma mas rapida de resolverlo
     
  6. Roderick

    Roderick Nuevo usuario

    lo malo es que puedo tener 3 servidores con apache php y mysql corriendo y balancearlos con dns pero igual eso tiene sus problemas.
    Ahora el gran problemas es la configuración interna de estos servers para que aguanten la avalancha, normalmente el servidor principal se mantiene bien durante todo el año pero en estas fechas es cuando hay procesos masivos en los cuales a una determinada hora se abre una pagina para entregar datos que pueden ser vistas por una enormidad de personas. He probado ab de apache pero en realidad no se interpretar sus resultados.
    Gracias por tu respuesta y me lo imaginaba pero no hay muchos recursos como para comprar un load balancer.
     
  7. Apolo

    Apolo Administrador Miembro del Staff Administrador CH

    Hola Roderick,

    ¿Y cuáles son las características del servidor actual?

    En muchas ocasiones, con optimizar muy bien tanto Apache como MySQL, instalando un sistema caché para PHP y poniendo discos más rápidos (SCSI, SAS) y más RAM, se soluciona el asunto.

    Saludos!
     
  8. Tomas

    Tomas Usuario activo

    Como dice Apolo, si usas PHP entonces lo mejor es usar un optimizador y si es contenido estatico, tambien puedes jugar con el httpd.conf
     
  9. Roderick

    Roderick Nuevo usuario

    Hola y gracias por sus respuestas.
    Compaq Proliant DL 385
    1 procesador Opteron de 2606.107 MHz
    5 Gb de Ram

    ahora este esta hecho con apahe , mysql,php
    que software o configuracion deberia tener o me recomendarian para no quedar mal y que el server aguantara.
    Saludos y Muchas gracias.
    Feliz 2007
     
  10. Apolo

    Apolo Administrador Miembro del Staff Administrador CH

    Hola,

    ¿Se trata de un solo procesador? De ser así, ten en cuenta que tienes mucha RAM para ser administrada por un solo procesador. Con dos procesadores obtendrías un mejor rendimiento y además podrías aprovechar toda esa RAM de manera más eficiente.

    Por otra parte, ¿qué discos estás usando?

    ¿Y cuál es la configuración de my.cnf en tu servidor?

    Podrías intentar instalar un caché para PHP, como mencioné anteriormente. Tienes por ejemplo APC y eAccelerator. En esta página (en inglés) encuentras un manual acerca de cómo instalar APC:

    http://www.vbulletin.com/forum/showthread.php?t=165367

    Saludos!
     
  11. Roderick

    Roderick Nuevo usuario

    este es el my.cnf y el server tiene un procesador.

    [client]
    #password = [your_password]
    port = 3306
    socket = /var/lib/mysql/mysql.sock

    [mysqld]

    # generic configuration options
    port = 3306
    socket = /var/lib/mysql/mysql.sock
    datadir=/var/lib/mysql

    back_log = 50
    #skip-networking
    max_connections = 1000
    max_connect_errors = 10
    table_cache = 2048
    #external-locking
    max_allowed_packet = 16M
    binlog_cache_size = 1M
    max_heap_table_size = 64M
    sort_buffer_size = 8M
    join_buffer_size = 8M
    thread_cache = 8
    thread_concurrency = 8
    query_cache_size = 64M
    query_cache_limit = 2M
    ft_min_word_len = 4
    #memlock
    default_table_type = MYISAM
    thread_stack = 192K
    transaction_isolation = REPEATABLE-READ
    tmp_table_size = 64M
    log_bin
    #log_slave_updates
    #log
    #log_warnings
    log_slow_queries
    long_query_time = 2
    log_long_format
    #tmpdir = /tmp

    #*** MyISAM Specific options


    key_buffer_size = 32M
    read_buffer_size = 2M
    read_rnd_buffer_size = 16M
    bulk_insert_buffer_size = 64M
    myisam_sort_buffer_size = 128M
    myisam_max_sort_file_size = 10G
    myisam_max_extra_sort_file_size = 10G
    myisam_repair_threads = 1
    myisam_recover


    [mysqldump]
    quick

    max_allowed_packet = 16M

    [mysql]
    no-auto-rehash

    # Only allow UPDATEs and DELETEs that use keys.
    #safe-updates

    [isamchk]
    key_buffer = 512M
    sort_buffer_size = 512M
    read_buffer = 8M
    write_buffer = 8M

    [myisamchk]
    key_buffer = 512M
    sort_buffer_size = 512M
    read_buffer = 8M
    write_buffer = 8M

    [mysqlhotcopy]
    interactive-timeout

    [mysqld_safe]
    # Increase the amount of open files allowed per process. Warning: Make
    # sure you have set the global system limit high enough! The high value
    # is required for a large number of opened tables
    open-files-limit = 4096
    err-log=/var/log/mysqld.log


    Discos scsi 4 de 72Gb 7200 rpm raid 5
     
  12. Roderick

    Roderick Nuevo usuario

    he instalado apc y quisiera saber como interpreto los resultados.
    he corrido ab de apache con el siguiente comando
    ./ab -c1020 -n 9000 myhost/index.php
    obteniendo los siguientes resultados.

    Benchmarking myhost.com (be patient)
    Completed 900 requests
    Completed 1800 requests
    Completed 2700 requests
    Completed 3600 requests
    Completed 4500 requests
    Completed 5400 requests
    Completed 6300 requests
    Completed 7200 requests
    Completed 8100 requests
    apr_poll: The timeout specified has expired (70007)
    Total of 8881 requests completed

    esta bien eso o algo anda mal.

    Saludos!!
     
  13. Apolo

    Apolo Administrador Miembro del Staff Administrador CH

    Hola,

    Creo que en esos valores de my.cnf estás asignando demasiada RAM a algunos procesos y muy poca a otros.

    Prueba con estas opciones, pero aplícalas bajo tu propia cuenta y riesgo. Recuerda hacer una copia de seguridad de ese archivo antes de editarlo, de manera que puedas recuperar la configuración anterior y reiniciar MySQL nuevamente, en caso de ser necesario.

    1. Agrega estas variables:

    set-variable = record_buffer=16M
    set-variable = thread_cache_size=128
    set-variable = wait_timeout=300 (quizás quieras probar con menos segundos: 10, por ejemplo)**
    set-variable = connect_timeout=10


    2. Modifica estas variables con estos valores:

    join_buffer_size = 16M
    sort_buffer_size = 32M
    table_cache = 10240
    query_cache_size = 128M (opcional)**
    read_buffer_size = 16M

    3. Pon entre comentarios estas variables, anteponiendo "#"

    # thread_cache = 8
    # query_cache_limit = 2M

    [myisamchk]
    #key_buffer = 512M
    #sort_buffer_size = 512M
    #read_buffer = 8M
    #write_buffer = 8M

    4. Y entonces pones estos valores en el apartado [myisamchk]

    set-variable = key_buffer=64M
    set-variable = sort_buffer=64M
    set-variable = read_buffer=16M
    set-variable = write_buffer=16M


    ** Muchos de los valores a establecer dependen del comportamiento específico de tu base de datos.

    Prueba con eso y revisa el comportamiento de tu sitio. Recuerda reiniciar el servicio MySQL una vez hayas hecho esos cambios.

    En cuanto a ab, aquí tienes un ejemplo práctico de aplicación:

    http://www.phpkitchen.com/index.php?/archives/344-ab-Apache-Server-Benchmarking-Tool.html

    Saludos!
     
  14. zeus2007

    zeus2007 Nuevo usuario

    Saludos a todos:

    Alguien me puede decir, con clarida meridiana como editar este codigo en mi servidor?
    He borrado una cuenta y al volver a crearla me sale un error pidiendo que se edite desde aqui

    httpd.conf : line > 1132)

    Saludos cordiales
     
  15. Apolo

    Apolo Administrador Miembro del Staff Administrador CH

    Por favor abre tu propio tema al respecto, en el foro de Asuntos Técnicos, Seguridad y Configuración y aprovecha para suministrar mucha más información, como por ejemplo sistema operativo, si estás usando un panel de control, con qué procedimiento borraste la cuenta, cómo la estás intentando crear nuevamente, cuál es el mensaje de error completo y en dónde aparece, etc.

    Saludos,
     
  16. ideasmultiples

    ideasmultiples Usuario activo

    Te aconsejo que pruebes con
    tmp_table_size = 1G
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·