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.

Guía de Seguridad y Optimización de servidores web

Tema en 'Servidores Dedicados' iniciado por Datacenter1, 15 Ene 2006.

Estado del tema:
Cerrado para nuevas respuestas
  1. Datacenter1

    Datacenter1 Usuario activo

    Introdución

    La presente es una guí­a rápida de optimización de servidores web, está diseñada para obtener seguridad y a la vez rendimiento mediante el ajuste de algunos parametros del sistema y la instalación de paquetes adicionales.

    Todos los comandos fueron probados en un servidor web especialmente configurado para la realización de este tutorial

    La configuración del servidor es la siguiente:

    Procesador = Intel XEON 3.2 Ghx HT
    Memorí­a RAM = 1 Gb
    Disco Duro = (1) SCSI 73 GB 10k RPM
    Sistema Operativo: Centos 4.1
    Servidor Web: Apache 1.3.33 /PHP 4.40
    Servidor BBDD: MySQL 4.0

    Se simuló carga (queries al servidor MySQL y tráfico http tanto dinámico como estático) equivalente 200 dominios

    No entro en detalles técnicos ni explicaciones en profundidad, la idea es que el usuario pueda usar esta guí­a como referencia para realizar sus propios ajustes

    Los ajustes y técnicas aquí­ mostradas son una adaptación del paquete de "Hardering de Servidores" ofrecido por Datacenter1.com (US$ 25,00)

    Recuerde siempre hacer backup de los archivos a modificar o reemplazar

    Este tutorial puede ser libremente distribuido siempre se haga referencia al autor e incluya un enlace a la fuente original

    Atentamente

    Guillermo Calvo

    [break= Contenido]

    CONTENIDO

    Update - Mantener nuestro servidor actualizado

    CHKRootKit
    – Detector de rootkits

    RootKit Hunter
    – Detector de rootkits

    Seguridad de Servicio SSH
    – Incrementar la seguridad durante las conexiones SSH

    APF Firewall
    – Popular Firewall de sofware basado en iptables

    Configuración Anti-DoS para APF Firewall
    – Ayuda a mitigar los fectos de ataques de negación de servicio

    BFD
    – Notifica y bloquea ataques de passwords contra diferentes servicios

    Logwatch
    – Enví­a diariamente un resumen de lo grabado en los logs del sistema para su análisis

    System Integrity Monitor
    – Monitorea los servicios y puede reiniciarlos en caso de carga alta o problemas

    SPRI
    – Cambia la prioridad de los proceso de acuerdo al nivel de importancia para asegurar el optimo rendimiento del servidor

    Optimización Apache (HTTP)
    – Configuración de Apache para máxima seguridad y rendimiento

    Mod_Security / Snort Rules –
    Firewall de aplicaciones con reglas de filtrado de Snort

    Optimización MySQL
    – Incrementa el rendimiento de MySQL

    host.conf hardenening
    – Previene spoofing y dns lookup poisoning & spoofing

    Modificación nsswitch.conf
    – Optimiza y protege DNS lookups

    sysctl.conf hardening
    – Ayuda a proteger la pila tcp/ip de ataques yn-flood y otros abusos de red

    FTP Hardening
    – Optimización y seguridad del servicio FTP

    Remoción de servicios no usados
    - previene exploits y optimiza recursos

    Root Logger
    – Alerta ví­a email cada vez que root accede al sistema, grabando IP y hora de conexión

    MyTOP
    – Herramienta de monitoreo MySQL

    TMP Directory hardening ( /tmp, /var/tmp, /dev/shm)
    – Instalación de /tmp en partición dedicado sin permisos de ejecución

    Password Scanner
    – Busca password débiles que pueden ser fácilmente comprometidos

    Tripwire
    – Detecta cambios no autorizados en archivos

    Lecturas recomendadas


    Sitios de seguridad

    [break= Update]

    UPDATE

    Cada dí­a se descubren nuevas vulnerabilidades en software y los desarrolladores perí­odicamente lanzan parches y actualizaciones que corrigen estas vulnerabilidades, por esta razón es muy importante mantener nuestro servidor actualizado, si no lo actualiza corre el riesgo de poder estar usando un paquete con alguna vulnerabilidad conocida.

    Para actualizar los paquetes instalados debemos tener previamente yum correctamente instalado y con los repositorios configurados, para más información desde la consola teclee man yum



    Para actualizar su sistema simplemente ejecute el siguiente comando como root desde la consola de su servidor.


    CODE, HTML o PHP Insertado:
    yum update
    Si desea hacer un upgrade de su sistema operativo, por ejemplo tiene Centos 4.0 y lo quiere actualizar a la última versión (4.2 por ejemplo) ejecute el siguiente comando:

    CODE, HTML o PHP Insertado:
    yum upgrade
    Para hacer un update de algún paquete especifico utilizamos el comando:

    CODE, HTML o PHP Insertado:
    yum update [paquete]
    [break= CHKrootkit]

    INSTALACIí“N DE CHKROOTKIT

    Chkrootkit es un popular paquete que busca rootkit instalados en nuestro sistema, para instalar chkrootkit ejecutamos los siguientes comandos:


    CODE, HTML o PHP Insertado:
    cd /usr/src
    wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
    tar -zxvf chkrootkit.tar.gz
    cd chkrootkit-0.46a # haga ls para ver el nombre exacto de este directorio 
    make sense # compila e instala chkrootkit
    ./chkrootkit # ejecuta Chkrootkit
    
    Ya tenemos CHKrootkit instalado ahora crearemos una tarea en el cron que automaticamente ejecute CHKrootkit todos los dí­as y nos enví­e el reporte ví­a email

    CODE, HTML o PHP Insertado:
    crontab –e # abre el cron de root en modo de edición
    Inserte la siguiente linea en el cron

    CODE, HTML o PHP Insertado:
    30 0 * * * (cd /usr/src/chkrootkit-0.46a; ./chkrootkit|mail -s "lí­nea asunto" nombre@email.com) 
    
    
    Sustituya "lí­nea asunto" por lo que desee recibir en el asunto y cambie la dirección de email


    Guarde los cambios y salga de crontab [ESC] [:] [wp] [Enter]

    Listo de ahora en adelante CHKrootkit se ejecutará diariamente a las 12:30 de la madrugada y nos enviará un informe a nuestro email



    [break=RootkitHunter]

    RootKitHunter

    RootKitHunter es otro poderoso buscador de rootkit, para instalarlo hacemos lo siguiente:


    CODE, HTML o PHP Insertado:
    cd /usr/src 
    wget [URL="http://downloads.rootkit.nl/rkhunter-1.2.7.tar.gz"]http://downloads.rootkit.nl/rkhunter-1.2.7.tar.gz[/URL]
    tar -zxvf rkhunter-1.2.7.tar.gz
    cd rkhunter
    ./installer.sh
    rkhunter -c #para correr rkhunter por primera vez
    
    Ya hemos instalado RootKitHunter y al igual que como hicimos con CHKrootkit, crearemos una tarea en el cron que lo ejecute automáticamente y nos enví­e un reporte con los resultados:

    CODE, HTML o PHP Insertado:
    crontab -e # abre crontab en modo de edición
    Insertamos la siguiente lí­nea

    CODE, HTML o PHP Insertado:
    35 0 * * * rkhunter --cronjob |mail -s "Lí­nea Asunto†[EMAIL="nombre@email.com"]nombre@email.com[/EMAIL] 
    Sustituya "Linea asunto" por lo que desee recibir en el asunto y su dirección de email.

    Guarde los cambios y salga del crontab [ESC] [:] [wp] [Enter]

    Ahora Rootkithunter se ejecutará todos los dí­as a las 12:35 de la madrugada y nos enviará un reporte de lo encontrado ví­a email


    [break= Seguridad SSH]

    SEGURIDAD SSH

    En este apartado haremos los siguientes cambios al servicio SSH:
    • Desactivar el login de root (requiere loguerse como un usuario normal y luego pasarse a root mediante el comando su, de esta manera los ingresos de root directo quedan deshabilitados)
    • Utilizar solo SSH2 (es más seguro que SSH1)
    • SSH solo escuchará en una IP (solo si se tienen varias ips fijas en el servidor)
    • Cambiar los tiempos de login
    • Crear un mensaje de advertencia que los usuarios verán cada vez que se loguean al sistema
    CODE, HTML o PHP Insertado:
    vi /etc/ssh/sshd_config
    Ubique la linea

    CODE, HTML o PHP Insertado:
    #Protocol 2,1
    descomentela y cambiela a

    CODE, HTML o PHP Insertado:
    protocol 2
    Ubique la linea

    CODE, HTML o PHP Insertado:
    #ListenAddress 0.0.0.0
    descomentela y cambiela a

    CODE, HTML o PHP Insertado:
    ListenAddress x.x.x.x 
    En donde x.x.x.x es la dirección IP de su servidor en donde desea que sshd funcione (NO USO ESTO SI NO DISPONE DE IPS FIJAS)

    Ubique la lí­nea

    CODE, HTML o PHP Insertado:
    #LoginGraceTime 2m
    Descomentela y cambiala a

    CODE, HTML o PHP Insertado:
    LoginGraceTime 30

    Esto hará que el tiempo que sshd espera por el password sea reducido de 2 minutos a 30 segundos

    Localice la linea

    CODE, HTML o PHP Insertado:
    #PermitRootLogin yes
    descomentela y cambiala a

    CODE, HTML o PHP Insertado:
    PermitRootLogin no
    Esto evitará que root pueda loguarse directamente al servidor, previamente deberá tener otro usuario creado con el cual se logueará y si requiere acceso de root use su -

    Localice la lí­nea

    CODE, HTML o PHP Insertado:
    #MaxAuthTries 6
    Descomentela y cambiala a:

    CODE, HTML o PHP Insertado:
    MaxAuthTries 3
    Esto solo le dará 3 intentos si equivoca el password antes de cerrar la conexión

    Grabe los cambios [ESC] [:] wq [ENTER]

    Ahora crearemos un mensaje de advertencia que verán todos los que se loguen al sistema ví­a ssh

    CODE, HTML o PHP Insertado:
    vi /etc/motd
    Podemos escribir algo como:

    CODE, HTML o PHP Insertado:
    Ud. ha ingresado a un area restringida solo para personal autorizado.
      Si no tiene autorización debe salir inmediatamente
      Todos sus detalles de acceso han sido grabados y los administradores han sido alertados
    
    Grave los cambios [ESC] [:] wq [ENTER]

    Reinicie el servicio sshd

    CODE, HTML o PHP Insertado:
    service sshd restart
    Ahora para loguarse a su servidor debe usar una cuenta diferente a root (debe estar previamente creada, luego podrá pasarse a la cuenta root usando el comando su

    La próxima vez que ingrese al sistema verá el mensaje de advertencia

    [break= APF Firewall]

    APF Firewall

    APF es un excelente y facil de usar firewall para Linux, es un front-end de iptables, así­ que hay que tener iptables funcionando (comunmente incluido en todas las distros Linux)

    Para instalarlo desde la consola y como root ejecute los siguientes comandos:

    CODE, HTML o PHP Insertado:
    cd /usr/src
    wget http://www.r-fx.ca/downloads/apf-current.tar.gz
    tar -zxvf apf-current.tar.gz
    cd apf-0.9.6-1 
    ./install.sh
    
    Ya hemos instado el firewall, ahora solo falta configurarlo para ello editamos el archivo de configuración:
    CODE, HTML o PHP Insertado:
    vi /etc/apf/conf.apf
    La configuración del firewall depende mucho de los servicios que corre el servidor y por lo tanto no entraremos en detalles, el archivo de configuración es bastante explicativo al respecto. Una vez que termine de configurar sus cambios grabe el archivo y ejecute el comando apf -s

    APF puede trabajar en modo DEBUG, es decir todas las reglas se limpiarán en 5 minutos, esto es especialmente util cuando se estan haciendo cambios, de esta manera no corremos riesgo de bloquearnos y perder acceso al servidor si cometemos un error, cuando esté satisfecho con los cambios cambié DEBUG = 0, y los cambios ahora serán permanentes



    [break= BFD]
    BFD

    Brute Force Detection es un excelente guardian que protege contra ataques de diccionario de passwords, si detecta que algún usuario ha equivocado su password más de x veces puede alertarnos y bloquear la IP, trabaja con varios protocolos incluyendo ssh y ftp. Trabaja integrado con APF.

    Para instalarlo realizamos lo siguiente:

    CODE, HTML o PHP Insertado:
    cd /usr/src
    wget http://www.r-fx.ca/downloads/bfd-current.tar.gz
    tar -zxvf bfd-current.tar.gz
    cd bfd-0.9
    ./install.sh
    Para configurarlo debemos editar el archivo conf.bfd

    CODE, HTML o PHP Insertado:
    vi /usr/local/bfd/conf.bfd
    Debemos cambiar algunos valores para recibir las alertas por correo electrónico

    CODE, HTML o PHP Insertado:
    ALERT_USR="1"
    EMAIL_USR="nombre@direccion.com"

    [break= Logwatch]

    Logwatch

    Si estás usando Red Hat o algún derivado es muy probable que ya tengas instalado logwatch para verificarlo usamos el siguiente comando:

    CODE, HTML o PHP Insertado:
    rpm -qa logwatch
    Si recibes una respuesta quiere decir que está instalado, muchos distros incluyen versiones obsoletas, la borraremos e instalaremos una nueva desde cero, omite este paso si tienes una version reciente o si no tienes ninguna instalada

    Para borrar la vieja instalación de logwatch

    CODE, HTML o PHP Insertado:
    rpm -e logwatch
    Para descargar la más nueva versión

    CODE, HTML o PHP Insertado:
    rpm -i ftp://ftp.kaybee.org/pub/redhat/RPMS/noarch/logwatch-7.2.1-2.noarch.rpm
    Listo ya tenemos la nueva versión instalada, ahora procedermos a configurarla de acuerdo a nuestras necesidades.

    CODE, HTML o PHP Insertado:
      vi /usr/share/logwatch/default.conf/logwatch.conf
    
    y procedemos a cambiar las siguientes instrucciones:

    CODE, HTML o PHP Insertado:
    Maito = root
    Lo cambiamos a:

    CODE, HTML o PHP Insertado:
     Maito = [EMAIL="nombre@correo.com"]nombre@correo.com[/EMAIL] #Nuestra dirección de correo
    CODE, HTML o PHP Insertado:
    Details = Low
    Lo cambiamos a:

    CODE, HTML o PHP Insertado:
    Details = High
    Guarde los cambios [ESC] [:] wq [ENTER]

    y ejecutamos logwatch por primera vez:

    CODE, HTML o PHP Insertado:
    logwatch
    El reporte debe estar en nuestra correo electrónico
    [break= System Integity Monitor]

    System Integrity Monitor


    System Integrity Monitor es una excelente herramienta que monitorea los servicios y nos alerta en caso de que un servicio no responda e incluso puedo reiniciar el servicio automáticamente

    Para instalarlo procedemos de la siguiente manera:


    CODE, HTML o PHP Insertado:
    cd /usr/src
    wget [URL="http://www.r-fx.ca/downloads/sim-current.tar.gz"]http://www.r-fx.ca/downloads/sim-current.tar.gz[/URL]
    tar -zxvf sim-current.tar.gz
    cd sim-2.5-3
    ./setup -i
    
    Conteste cuidadosamente a las preguntas.

    Al finalizar edite el archivo /usr/local/sim/conf.sim

    Ubique la linea:
    EMAIL = "root" y cambielo a EMAIL = "nombre@correo.com" para que reciba en su correo cualquier evento.

    [break= SPRI]
    SPRI

    SPRI (System Priority) permite establecer prioridades de los servicios, esto es especialmente util en servidores con altas cargas ya que nos permite configurar los servicios esenciales como prioritarios y dejar con menor prioridad de ejecución aquellos servicios considerados no esenciales.

    Para instalar SPRI debemos hacer lo siguiente:

    CODE, HTML o PHP Insertado:
    cd /usr/src
      wget [URL="http://www.r-fx.ca/downloads/spri-current.tar.gz"]http://www.r-fx.ca/downloads/spri-current.tar.gz[/URL]
      tar -zxvf spri-current.tar.gz
      cd spri-0.5
      ./install.sh
    
    Para la configuración

    CODE, HTML o PHP Insertado:
    cd /usr/local/spri/prios
    clasifique sus servicios de acuerdo al nivel de prioridad, coloque el nombre del servicio en su respectivo nivel de prioridad de nivel de prioridad hight, med, low, etc. y ejecute el siguiente comando:

    CODE, HTML o PHP Insertado:
    /usr/local/sbin/spri –v
    [break= Optimización de Apache]


    Optimización Apache (HTTP)


    En el archivo httpd.conf reemplaza o inserta los siguientes valores:

    CODE, HTML o PHP Insertado:
    Timeout 300
    KeepAlive On
    MaxKeepAliveRequests 150
    KeepAliveTimeout 3
    MinSpareServers 5
    MaxSpareServers 10
    StartServers 5
    MaxClients 250
    MaxRequestsPerChild 50
    HostnameLookups Off
    Debes ajustar los valores a tu servidor en particular, pero estos valores ayudarán en la mayorí­a de los casos, tambien es importante si tu servidor procesa mucho contenido dinámico (php/MySQL) instalar algún optimizador como Zend Optimizer o Turk MMcache




    [break= Mod_Securety]

    Mod_Security

    mod_security es parte de una reciente nueva clase de aplicaciones de seguridad llamadas firewall de aplicaciones, funciona solo en servidores Apache tanto 1.3.X como 2.0, su funcion principal es prevenir ataques contra aplicaciones web.

    Para instalar mod_securiry realizamos lo siguiente loguados como root:

    CODE, HTML o PHP Insertado:
    wget http://www.modsecurity.org/download/modsecurity-apache-1.9.2.tar.gz
    [I]tar zxvf [/I]modsecurity-apache-1.9.2.tar.gz
    cd [I] mod_security-1.9.2
    [/I][I]cd apache1
    [/I][I]/usr/local/apache/bin/apxs -cia mod_security.c[/I]
    Ahora modificamos el archivo httpd.com generalmente ubicado en /etc/httpd/conf/httpd.com

    Ubicamos la linea <IfModule mod_dir.c>
    y añadimos:
    CODE, HTML o PHP Insertado:
    
    [I]<IfModule mod_security.c>[/I]
    # Turn ModSecurity On
    SecFilterEngine On
    
    # Reject requests with status 403
    SecFilterDefaultAction "deny,log,status:403"
    
    # Some sane defaults
    SecFilterScanPOST On
    SecFilterCheckURLEncoding On
    SecFilterCheckUnicodeEncoding Off
    
    # Accept almost all byte values
    SecFilterForceByteRange 1 255
    
    # Server masking is optional
    # SecServerSignature "Microsoft-IIS/5.0"
    
    SecUploadDir /tmp
    SecUploadKeepFiles Off
    
    # Only record the interesting stuff
    SecAuditEngine RelevantOnly
    SecAuditLog logs/audit_log
    
    # You normally won't need debug logging
    SecFilterDebugLevel 0
    SecFilterDebugLog logs/modsec_debug_log
    
    # Only accept request encodings we know how to handle
    # we exclude GET requests from this because some (automated)
    # clients supply "text/html" as Content-Type
    SecFilterSelective REQUEST_METHOD "!^(GET|HEAD)$" chain
    SecFilterSelective HTTP_Content-Type \
    "!(^application/x-www-form-urlencoded$|^multipart/form-data;)"
    
    # Do not accept GET or HEAD requests with bodies
    SecFilterSelective REQUEST_METHOD "^(GET|HEAD)$" chain
    SecFilterSelective HTTP_Content-Length "!^$"
    
    # Require Content-Length to be provided with
    # every POST request
    SecFilterSelective REQUEST_METHOD "^POST$" chain
    SecFilterSelective HTTP_Content-Length "^$"
    
    # Don't accept transfer encodings we know we don't handle
    SecFilterSelective HTTP_Transfer-Encoding "!^$"[I]</IfModule mod_security.c>
    [/I]
    Grabamos los cambios y reiniciamos el servidor apache

    NOTA: Existen númerosas reglas de mod_security que pueden hacer que algunos scrpts no funcionen, deben escogerse con cuidado, un número excesivo de reglas puede aumentar la carga del servidor especialmente en Apache 1.3, existen maneras más eficientes de instalar mod_security pero requieren compilar Apache

    [break= Optimización MySQL]

    Optimización MySQL


    No existe una receta mágica que se ajuste a todos los casos para el tunning de un servidor MySQL sin embargo los valores aquí­ recomendados darán un buen rendimiento en servidores MySQL dedicados al hosting con apx 1 GB de Ram. Para un tunning más preciso se requiere un analisis cuidadoso del patrón de uso de su servidor MySQL

    Edite el archivo /etc/my.cnf si no existe lo crearemos

    CODE, HTML o PHP Insertado:
    vi /etc/my.cnf
    Remplazamos el contenido por los siguientes parametros:

    CODE, HTML o PHP Insertado:
    [mysqld]
    connect_timeout=15
    interactive_timeout=100
    join_buffer_size=1M
    key_buffer=32M
    max_allowed_packet=16M
    max_connections=500
    max_connect_errors=10
    myisam_sort_buffer_size=64M
    read_buffer_size=2M
    read_rnd_buffer_size=2M
    sort_buffer_size=2M
    table_cache=1024
    thread_cache_size=100
    #El valor de  thread_concurrency debe ser igual al numero de cpus * 2
    thread_concurrency=2
    wait_timeout=300
    query_cache_size=128M
    query_cache_limit=1M
    query_cache_type=1
    skip-innodb
    
    [mysql.server]
    #Debe ajustar estos valores a su caso particular
    user=mysql
    basedir=/var/lib
    
    [safe_mysqld]
    err-log=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    open_files_limit=8192
    
    [mysqldump]
    quick
    max_allowed_packet=16M
    
    [mysql]
    no-auto-rehash
    #safe-updates
    
    [isamchk]
    key_buffer=32M
    sort_buffer=32M
    read_buffer=16M
    write_buffer=16M
    
    [myisamchk]
    key_buffer=32M
    sort_buffer=32M
    read_buffer=16M
    write_buffer=16M
    
    
    Dejaremos estos ajustes por un mí­nimo de 24 horas y luego en hora pico de uso del servidor tomaremos algunos valores para ajustar más adecuadamente nuestro archivo my.cnf

    [break= El archivo host.conf]
    host.conf hardening

    Editaremos el archivo host.conf para prevenir spoofing y otras ataques

    CODE, HTML o PHP Insertado:
       vi /etc/host.conf
    Editar el contenido para que quede como:
    CODE, HTML o PHP Insertado:
      order bind,hosts
      multi on
      nospoof on
      spoofalert on
    multi on es solo necesario si disponemos de múltiples ips

    [break= El archivo nsswitch.conf]

    Modificación nsswitch.conf

    Pendiente

    [break= El Archivo sysctl.conf]

    sysctl.conf hardening

    # vi /etc/sysctl.conf

    CODE, HTML o PHP Insertado:
    # Kernel sysctl configuration file for Red Hat Enterprise Linux
    
    # Controls IP packet forwarding
    net.ipv4.ip_forward = 0
    
    # Controls source route verification
    net.ipv4.conf.default.rp_filter = 1
    net.ipv4.conf.all.rp_filter = 1
    
    
    # Disables IP source routing
    net.ipv4.conf.default.accept_source_route = 0
    net.ipv4.conf.all.accept_source_route = 0
    
    # Controls the System Request debugging functionality of the kernel
    kernel.sysrq = 0
    
    # Controls whether core dumps will append the PID to the core filename.
    # Useful for debugging multi-threaded applications.
    kernel.core_uses_pid = 1
    
    # Increase maximum amount of memory allocated to shm
    # Only uncomment if needed!
    # kernel.shmmax = 67108864
    
    # Disable ICMP Redirect Acceptance
    net.ipv4.conf.default.accept_redirects = 0
    net.ipv4.conf.all.accept_redirects = 0
    
    
    # Enable Log Spoofed Packets, Source Routed Packets, Redirect Packets
    net.ipv4.conf.default.log_martians = 1
    net.ipv4.conf.all.log_martians = 1
    
    # Decrease the time default value for tcp_fin_timeout connection
    net.ipv4.tcp_fin_timeout = 25
    
    # Decrease the time default value for tcp_keepalive_time connection
    net.ipv4.tcp_keepalive_time = 1200
    
    # Turn on the tcp_window_scaling
    net.ipv4.tcp_window_scaling = 1
    
    # Turn on the tcp_sack
    net.ipv4.tcp_sack = 1
    
    # tcp_fack should be on because of sack
    net.ipv4.tcp_fack = 1
    
    # Turn on the tcp_timestamps
    net.ipv4.tcp_timestamps = 1
    
    # Enable TCP SYN Cookie Protection
    net.ipv4.tcp_syncookies = 1
    
    # Enable ignoring broadcasts request
    net.ipv4.icmp_echo_ignore_broadcasts = 1
    
    # Enable bad error message Protection
    net.ipv4.icmp_ignore_bogus_error_responses = 1
    
    # Make more local ports available
    # net.ipv4.ip_local_port_range = 1024 65000
    
    # Set TCP Re-Ordering value in kernel to '5'
    net.ipv4.tcp_reordering = 5
    
    # Lower syn retry rates
    net.ipv4.tcp_synack_retries = 2
    net.ipv4.tcp_syn_retries = 3
    
    # Set Max SYN Backlog to '2048'
    net.ipv4.tcp_max_syn_backlog = 2048
    
    # Various Settings
    net.core.netdev_max_backlog = 1024
    
    # Increase the maximum number of skb-heads to be cached
    net.core.hot_list_length = 256
    
    # Increase the tcp-time-wait buckets pool size
    net.ipv4.tcp_max_tw_buckets = 360000
    
    # This will increase the amount of memory available for socket input/output queues
    net.core.rmem_default = 65535
    net.core.rmem_max = 8388608
    net.ipv4.tcp_rmem = 4096 87380 8388608
    net.core.wmem_default = 65535
    net.core.wmem_max = 8388608
    net.ipv4.tcp_wmem = 4096 65535 8388608
    net.ipv4.tcp_mem = 8388608 8388608 8388608
    net.core.optmem_max = 40960
    Grabamos los cambios y ejecutamos

    CODE, HTML o PHP Insertado:
     sbin/sysctl –p
    CODE, HTML o PHP Insertado:
    /sbin/sysctl -w net.ipv4.route.flush=1
    [break= FTP Hardening]

    FTP Hardening

    Pendiente

    [break=Servicios no usados]

    Remoción de servicios no usados

    Pendiente

    [break= Root Looger]

    Root Logger

    Pendiente

    [break= MyTop]
    MyTOP

    Pendiente

    [break= tmp Hardening]
    TMP Directory hardening ( /tmp, /var/tmp, /dev/shm)

    Pendiente

    [break= Password Scanner]

    Password Scanner

    Pendiente

    [break= Tripwire]
    Tripwire

    Pendiente

    [break= Lecturas recomendadas]

    Lecturas Recomnedadas

    Pendiente

    [break= Links de Seguridad]

    Links de Seguridad

    Pendiente
    [break= Créditos]

    Créditos


     
    Última edición por un moderador: 4 Sep 2018
  2.  
  3. Datacenter1

    Datacenter1 Usuario activo

Estado del tema:
Cerrado para nuevas respuestas


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


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·