Paso 13: SNORT
El problema principal aquí es conseguir corriendo en la frambuesa con la CPU y RAM limitaciones
Primero tenemos que instalarlo:
$ sudo pacman -S snort
Para encogimiento abajo nosotros haremos nuestras primeras modificaciones:
$ sudo vi /etc/snort/snort.conf
# Paso 1: variables
#########################################################################################################################
ipvar HOME_NET [192.168.1.0/24]
ipvar EXTERNAL_NET! $HOME_NET
ipvar DNS_SERVERS [192.168.1.3]
ipvar SMTP_SERVERS $HOME_NET
ipvar HTTP_SERVERS $HOME_NET
ipvar SQL_SERVERS $HOME_NET
ipvar TELNET_SERVERS $HOME_NET
ipvar FTP_SERVERS $HOME_NET
ipvar SIP_SERVERS $HOME_NET
portvar HTTP_PORTS 80
portvar ORACLE_PORTS 1024:
portvar FTP_PORTS [21,2100,3535]
portvar SIP_PORTS [5060,5061,5600]
portvar FILE_DATA_PORTS [$HTTP_PORTS, 110, 143]
ipvar SSH_SERVERS [192.168.1.3]
portvar SHELLCODE_PORTS! 80
portvar SSH_PORTS [22,15507]
portvar GTP_PORTS [2123,2152,3386]
ipvar AIM_SERVERS [64.12.24.0/23,64.12.28.0/23,64.12.161.0/24,64.12.163.0/24,64.12.200.0/24,205.188.3.0/24,205.188.5.0/24,205.188.7.0/24,205.188.9.0/24,205.188.153.0/24,205.188.179.0/24,205.188.248.0/24]
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH... /so_rules
var PREPROC_RULE_PATH... /preproc_rules
var WHITE_LIST_PATH $RULE_PATH
var BLACK_LIST_PATH $RULE_PATH
# Paso #2: Configurar el decodificador. Para obtener más información, consulte README.decode
#########################################################################################################################
configuración disable_decode_alerts
configuración disable_tcpopt_experimental_alerts
configuración disable_tcpopt_obsolete_alerts
configuración disable_tcpopt_ttcp_alerts
configuración disable_tcpopt_alerts
configuración disable_ipopt_alerts
configuración checksum_mode: todas
# Paso #3: Configurar el motor de base de la detección. Para obtener más información, consulte README.decode
#########################################################################################################################
configuración pcre_match_limit: 3500
configuración pcre_match_limit_recursion: 1500
# Esta configuración es muy importante:
# "lowmem" se requiere para Snort funcionar con poca memoria
configuración de detección: método de búsqueda lowmem optimizar la búsqueda de max-patrón-len 20
event_queue configuración: max_queue 8 sesión 3 order_events content_length
configuración paf_max: 16000
# Paso #4: Configurar las bibliotecas dinámicas de carga.
#########################################################################################################################
dynamicpreprocessor directorio/usr/lib/snort_dynamicpreprocessor /
dynamicengine /usr/lib/snort_dynamicengine/libsf_engine.so
# Paso #5: Configurar preprocesadores
#########################################################################################################################
preprocesador normalize_ip4
preprocesador normalize_tcp: ips ecn corriente
preprocesador normalize_icmp4
preprocesador normalize_ip6
preprocesador normalize_icmp6
preprocesador frag3_global: max_frags 65536
preprocesador frag3_engine: política windows detect_anomalies overlap_limit 10 min_fragment_length 100 tiempo de espera de 180
# Rearmado de la inspección con estado basada en destino/stream. Para más inforation, ver README.stream5
preprocesador stream5_global: track_tcp sí, \
track_udp sí, \
track_icmp no, \
max_tcp 262144, \
max_udp 131072, \
max_active_responses 2, \
min_response_seconds 5
preprocesador stream5_tcp: ventanas de política, detect_anomalies, require_3whs 180, \
overlap_limit 10, small_segments 150, 180, tiempo de espera de 3 bytes \
cliente de puertos 21 22 23 25 42 53 79 109 110 111 113 119 135 136 137 139 143 \
161 445 513 514 587 593 691 1433 1521 2100 3306 6070 6665 6666 6667 6668 6669 \
7000 8181 32770 32771 32772 32773 32774 32775 32776 32777 32778 32779, \
puertos de ambos 80 81 311 443 465 563 591 593 636 901 989 992 993 994 995 1220 1414 1830 2301 2381 2809 3128 3702 4343 5250 7907 7001 7145 7510 7802 7777 7779 \
7801 7900 7901 7902 7903 7904 7905 7906 7908 7909 7910 7911 7912 7913 7914 7915 7916 \
7917 7918 7919 7920 8000 8008 8014 8028 8080 8088 8118 8123 8180 8243 8280 8800 8888 8899 9080 9090 9091 9443 9999 11371 55555
preprocesador stream5_udp: tiempo de espera de 180
# HTTP normalización y anomalía de detección. Para obtener más información, consulte README.http_inspect
preprocesador http_inspect: iis_unicode_map global unicode.map 1252 compress_depth 65535 decompress_depth 65535
preprocesador http_inspect_server: por defecto del servidor \
http_methods {Haz POST poner búsqueda MKCOL copia mover bloqueo desbloqueo notificar encuesta BCOPY BELIMINAR BMOVE enlace DESVINCULAR opciones cabeza eliminar rastro pista conectar fuente suscribirse darse de baja PROPFIND PROPPATCH BPROPFIND BPROPPATCH RPC_CONNECT PROXY_SUCCESS BITS_POST CCM_POST SMS_POST RPC_IN_DATA RPC_OUT_DATA RPC_ECHO_DATA} \
chunk_length 500000 \
server_flow_depth 0 \
client_flow_depth 0 \
post_depth 65495 \
oversize_dir_length 500 \
max_header_length 750 \
max_headers 100 \
max_spaces 0 \
small_chunk_length {10 5} \
puertos {80 81 311 591 593 901 1220 1414 1830 2301 2381 2809 3128 3702 4343 5250 7001 7145 7510 7777 7779 8000 8008 8014 8028 8080 8088 8118 8123 8180 8181 8243 8280 8800 8888 8899 9080 9090 9091 9443 9999 11371 55555} \
non_rfc_char {0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07} \
enable_cookie \
extended_response_inspection \
inspect_gzip \
normalize_utf \
unlimited_decompress \
normalize_javascript \
apache_whitespace no \
ASCII no \
bare_byte no \
directorio no \
double_decode no \
iis_backslash no \
iis_delimiter no \
iis_unicode no \
multi_slash no \
UTF_8 no \
sí u_encode \
WebRoot no
# El RPC de ONC normalización y anomalía de detección. Para obtener más información, consulte el Manual de Snort, configuración de Snort - preprocesadores - RPC decodificar
preprocesador rpc_decode: 111 32770 32771 32772 32773 32774 32775 32776 32777 32778 32779 no_alert_multiple_requests no_alert_large_fragments no_alert_incomplete
# Detección de orificio trasero.
preprocesador bo
# FTP / Telnet normalización y anomalía de detección. Para obtener más información, consulte README.ftptelnet
preprocesador ftp_telnet: encrypted_traffic con inspection_type global no
ftp_telnet_protocol preprocesador: telnet \
ayt_attack_thresh 20 \
normalizar puertos {23} \
detect_anomalies
ftp_telnet_protocol preprocesador: ftp predeterminado servidor \
def_max_param_len 100 \
puertos {21 2100 3535} \
sí telnet_cmds \
sí ignore_telnet_erase_cmds \
ftp_cmds {ABOR ACCT ADAT ALLO APPE AUTH CCC cdup tuvo} \
ftp_cmds {CEL CLNT CMD CONF CWD DELE ENC EPRT} \
ftp_cmds {EPSV ESTA ESTP FEAT ayudar a LANG lista LPRT} \
ftp_cmds {LPSV MACB correo MDTM MIC MKD MLSD MLST} \
ftp_cmds {modo NLST NOOP TPO paso PASV PBSZ puerto} \
ftp_cmds {PROT PWD QUIT REIN resto RETR RMD RNFR} \
ftp_cmds {RNTO SDUP sitio tamaño SMNT STAT STOR STOU} \
ftp_cmds {estructura SYST prueba tipo usuario XCUP XCRC XCWD} \
ftp_cmds {Navidad XMD5 XMKD XPWD XRCP XRMD XRSQ XSEM} \
ftp_cmds {XSEN XSHA1 XSHA256} \
alt_max_param_len 0 {ABOR CCC cdup tuvo ESTA hazaña LPSV NOOP PASV PWD QUIT REIN STOU SYST XCUP XPWD} \
alt_max_param_len 200 {ALLO APPE CMD ayuda NLST RETR RNFR STOR STOU XMKD} \
alt_max_param_len 256 {CWD RNTO} \
alt_max_param_len 400 {puerto} \
alt_max_param_len 512 {tamaño de} \
chk_str_fmt {ACCT ADAT ALLO APPE AUTH CEL CLNT CMD} \
chk_str_fmt {CONF CWD DELE ENC EPRT EPSV ESTP Ayude a} \
chk_str_fmt {LANG lista LPRT MACB correo MDTM MIC MKD} \
chk_str_fmt {MLSD MLST modo NLST TPO paso PBSZ puerto} \
chk_str_fmt {PROT resto RETR RMD RNFR RNTO SDUP sitio} \
chk_str_fmt {tamaño SMNT STAT STOR estructura tipo usuario de prueba} \
chk_str_fmt {XCWD XCRC Navidad XMD5 XMKD XRCP XRMD XRSQ} \
chk_str_fmt {XSEN XSEM XSHA1 XSHA256} \
cmd_validity ALLO < int [char R int] > \
cmd_validity EPSV < [{char 12 | char un char char L L}] > \
cmd_validity MACB < cadena > \
cmd_validity MDTM < cadena [fecha nnnnnnnnnnnnnn [n [n [n]]]] > \
cmd_validity modo < char ASBCZ > \
cmd_validity puerto < host_port > \
cmd_validity PROT < char CSEP > \
cmd_validity estructura < char FRPO [cadena] > \
cmd_validity tipo < {char AE [char NTC] | char I | char L [número]} >
ftp_telnet_protocol preprocesador: ftp por defecto cliente \
max_resp_len 256 \
rebote sí \
sí ignore_telnet_erase_cmds \
telnet_cmds sí
# SMTP normalización y anomalía de detección. Para obtener más información, consulte el archivo Léame. SMTP
preprocesador smtp: puertos {25 465 587 691} \
inspection_type stateful \
b64_decode_depth 0 \
qp_decode_depth 0 \
bitenc_decode_depth 0 \
uu_decode_depth 0 \
log_mailfrom \
log_rcptto \
log_filename \
log_email_hdrs \
normalizar la cmds \
normalize_cmds {ATRN AUTH BDAT trozos datos depuración EHLO EMAL ESAM ESND ESOM ETRN EVFY} \
normalize_cmds {EXPN HELO ayuda IDENT correo NOOP ONEX FÁCILE dejar RCPT RSET SAML enviar SOML} \
normalize_cmds {STARTTLS garrapata tiempo vuelta TURNME verbo VRFY X ADAT DRCP X X CPRE X-EXCH50} \
normalize_cmds {X-EXPS X-LINK2STATE XADR XAUTH XCIR XEXCH50 XGEN XLICENSE los XSTA XTRN XUSR} \
max_command_line_len 512 \
max_header_line_len 1000 \
max_response_line_len 512 \
alt_max_command_line_len 260 {correo} \
alt_max_command_line_len 300 {RCPT} \
alt_max_command_line_len 500 {ayuda HELO ETRN EHLO} \
alt_max_command_line_len 255 {EXPN VRFY ATRN tamaño BDAT depurar EMAL ESAM ESND ESOM EVFY IDENT NOOP RSET} \
alt_max_command_line_len 246 {AUTH de SOML SAML enviar giro ETRN datos RSET QUIT ONEX FÁCILE STARTTLS garrapata tiempo verbo TURNME X-EXPS X-LINK2STATE XADR XAUTH XCIR XEXCH50 XGEN XLICENSE los XSTA XTRN XUSR} \
valid_cmds {ATRN AUTH BDAT trozos datos depuración EHLO EMAL ESAM ESND ESOM ETRN EVFY} \
valid_cmds {EXPN HELO ayuda IDENT correo NOOP ONEX FÁCILE dejar RCPT RSET SAML enviar SOML} \
valid_cmds {STARTTLS garrapata tiempo vuelta TURNME verbo VRFY X ADAT DRCP X X CPRE X-EXCH50} \
valid_cmds {X-EXPS X-LINK2STATE XADR XAUTH XCIR XEXCH50 XGEN XLICENSE los XSTA XTRN XUSR} \
xlink2state {con}
# Detección de "portscan". Para obtener más información, consulte README.sfportscan
# preprocesador sfportscan: proto {todos} memcap {10000000} sense_level {bajo}
# Detección de ARP spoof. Para obtener más información, vea los preprocesadores de Snort Manual - configuración de Snort - - ARP Spoof preprocesador
# arpspoof preprocesador
arpspoof_detect_host de preprocesador #: 192.168.40.1 f0:0f:00:f0:0f:00
Detección de anomalías de # SSH. Para obtener más información, consulte README.ssh
preprocesador ssh: server_ports {22 15507} \
AutoDetect \
max_client_bytes 19600 \
max_encrypted_packets 20 \
max_server_version_len 100 \
enable_respoverflow enable_ssh1crc32 \
enable_srvoverflow enable_protomismatch
# SMB / detección de normalización y anomalía de DCE-RPC. Para obtener más información, consulte README.dcerpc2
dcerpc2 preprocesador: memcap 102400, eventos [co]
preprocesador dcerpc2_server: por defecto, política de WinXP, \
detectar [smb [139.445], tcp 135, udp 135, rpc-sobre-http-server 593], \
detección automática [tcp 1025:, udp 1025:, rpc-sobre-http-server 1025:], \
smb_max_chain 3, smb_invalid_shares ['C$ ', "$D", "ADMIN$"]
# Detección de anomalías DNS. Para obtener más información, consulte README.dns
preprocesador dns: puertos {53} enable_rdata_overflow
# Puente de tráfico y detección de anomalías SSL. Para obtener más información, consulte README.ssl
preprocesador ssl: puertos {443 465 563 636 989 992 993 994 995 7801 7802 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920}, trustservers, noinspect_encrypted
# FAD datos preprocesador. Para más información consulte README.sensitive_data
preprocesador sensitive_data: alert_threshold 25
# Modbus preprocesador. Para más información consulte README.modbus
preprocesador modbus: puertos {502}
# DNP3 preprocesador. Para más información consulte README.dnp3
preprocesador dnp3: puertos {20000} \
memcap 262144 \
check_crc
# Reputación preprocesador. Para más información consulte README.reputation
reputación de preprocesador: \
memcap 500, \
prioridad blanca, \
nested_ip interior, \
blanca $WHITE_LIST_PATH/white_list.rules, \
lista negra $BLACK_LIST_PATH/black_list.rules
# Paso #6: Configurar salida de plugins
#########################################################################################################################
son classification.config
incluyen reference.config
# Paso #7: Personalizar el conjunto de reglas
#########################################################################################################################
incluyen $RULE_PATH/local.rules
# Mínimas normas de casa días nacionales de inmunización (6 archivos)
incluyen $RULE_PATH/ataque-responses.rules
incluyen $RULE_PATH/backdoor.rules
incluyen $RULE_PATH/botnet-cnc.rules
incluyen $RULE_PATH/spyware-put.rules
incluyen $RULE_PATH/virus.rules
incluyen $RULE_PATH/web-client.rules
# Reglas adicionales (15 archivos)
incluyen $RULE_PATH/malo-traffic.rules
incluyen $RULE_PATH/ddos.rules
incluyen $RULE_PATH/dns.rules
incluyen $RULE_PATH/dos.rules
incluyen $RULE_PATH/exploit.rules
incluyen $RULE_PATH/ftp.rules
incluyen $RULE_PATH/netbios.rules
incluyen $RULE_PATH/p2p.rules
incluyen $RULE_PATH/phishing-spam.rules
incluyen $RULE_PATH/rpc.rules
incluyen $RULE_PATH/scan.rules
incluyen $RULE_PATH/shellcode.rules
incluyen $RULE_PATH/smtp.rules
incluyen $RULE_PATH/específicas-threats.rules
incluyen $RULE_PATH/telnet.rules
## TOTAL de archivos = 21 archivos para cargar
# Otros archivos con discapacidad: se adapta
#include $RULE_PATH/blacklist.rules
#include $RULE_PATH/pop3.rules
#include $RULE_PATH/rservices.rules
#include $RULE_PATH/scada.rules
#include $RULE_PATH/snmp.rules
#include $RULE_PATH/sql.rules
#include $RULE_PATH/tftp.rules
#include $RULE_PATH/voip.rules
#include $RULE_PATH/web-activex.rules
#include $RULE_PATH/web-attacks.rules
#include $RULE_PATH/web-cgi.rules
#include $RULE_PATH/web-coldfusion.rules
#include $RULE_PATH/web-frontpage.rules
#include $RULE_PATH/web-iis.rules
#include $RULE_PATH/web-misc.rules
#include $RULE_PATH/web-php.rules
#include $RULE_PATH/x11.rules
###################################################
# Paso #8: Personalizar tus alertas de preprocesador y decodificador
# Para más información, consulte README.decoder_preproc_rules
###################################################
# decodificador y las reglas de evento de preprocesador
# incluir $PREPROC_RULE_PATH/preprocessor.rules
# incluir $PREPROC_RULE_PATH/decoder.rules
# incluir $PREPROC_RULE_PATH/sensible-data.rules
###################################################
# Paso #9: Personalizar las reglas de Snort de objeto compartido
# Para más información, consulte http://vrt-sourcefire.blogspot.com/2009/01/using-vrt-certified-shared-object-rules.html
###################################################
normas de biblioteca dinámica de #
# incluir $SO_RULE_PATH/malo-traffic.rules
# incluir $SO_RULE_PATH/chat.rules
# incluir $SO_RULE_PATH/dos.rules
# incluir $SO_RULE_PATH/exploit.rules
# incluir $SO_RULE_PATH/icmp.rules
# incluir $SO_RULE_PATH/imap.rules
# incluir $SO_RULE_PATH/misc.rules
# incluir $SO_RULE_PATH/multimedia.rules
# incluir $SO_RULE_PATH/netbios.rules
# incluir $SO_RULE_PATH/nntp.rules
# incluir $SO_RULE_PATH/p2p.rules
# incluir $SO_RULE_PATH/smtp.rules
# incluir $SO_RULE_PATH/snmp.rules
# incluir $SO_RULE_PATH/específicas-threats.rules
# incluir $SO_RULE_PATH/web-activex.rules
# incluir $SO_RULE_PATH/web-client.rules
# incluir $SO_RULE_PATH/web-iis.rules
# incluir $SO_RULE_PATH/web-misc.rules
# Evento umbral o supresión de comandos. Ver threshold.conf
incluyen threshold.conf
#include $RULE_PATH/chat.rules
#include $RULE_PATH/contenido-replace.rules
#include RULE_PATH $/ archivo-identify.rules
#include $RULE_PATH/finger.rules
#include $RULE_PATH/icmp.rules
#include RULE_PATH $/ icmp-info.rules
#include $RULE_PATH/imap.rules
#include $RULE_PATH/info.rules
#include $RULE_PATH/misc.rules
#include $RULE_PATH/multimedia.rules
#include $RULE_PATH/mysql.rules
#include $RULE_PATH/nntp.rules
#include $RULE_PATH/oracle.rules
#include $RULE_PATH/other-ids.rules
#include $RULE_PATH/policy.rules
#include $RULE_PATH/pop2.rules
Estamos actuando en tres cosas para ayudar a snort con menos CPU y memoria:
-carga menos preprocesadores
-carga menos reglas
-Si el parámetro "lowmem"
Por defecto, Snort no tiene ninguna regla. Usted debe registrarse en https://www.snort.org/signup como usuario gratis para poder descargar las reglas de snort gratis (una mes de edad). Hasta la fecha reglas requieren pagar una licencia.
Una vez registrado, tendrá que generar un "OinkCode", que le permitirá descargar el último conjunto de reglas gratis. Para ello, y luego recibes el e-mail de activación, vaya a la página web loggin, haga clic en "Obtener estado", "Línea de comandos", "Haz una Oinkcode" y haga clic en "Generar código".
Una vez que usted tiene, puede descargar el conjunto de reglas versión disponible (reemplazar en la línea de comandos a continuación, por ejemplo: 2923):
$ cd/home/rss
$ wget http://www.snort.org/reg-rules/snortrules-snapshot-VERSION.tar.gz/oinkcode - O./snortrules-snapshot-VERSION.tar.gz
Por supuesto cambiar la cadena "oinkcode" arriba por la que sólo generó.
$ tar zxpvf./snortrules-snapshot-VERSION.tar.gz
$ sudo mv ./preproc_rules//etc/snort /
$ sudo mv. /rules//etc/snort /
$ sudo mv ./so_rules//etc/snort /
Crear dos archivos que esperará de Snort:
$ touch /etc/snort/rules/white_list.rules
$ touch /etc/snort/rules/black_list.rules
Compruebe la versión de Snort instalada:
$ sudo snort – versión
Ahora crearemos una regla de prueba de alerta:
$ sudo vi /etc/snort/rules/local.rules
icmp de alerta cualquier cualquiera -> $HOME_NET todo (msg: "Prueba de ICMP"; sid: 10000001;)
Compruebe que la configuración de Snort es correcta antes de hacer nada (-parámetro T):
$ sudo snort - una consola - q -u -g de snort snort /etc/snort/snort.conf - c -i eth0 -T
Todo debe estar bien, si no, revise nuevamente el /etc/snort.conf para verificar sus variables (subredes, puertos y caminos).
Podemos hacer ahora una verdadera prueba, lanzar Snort en modo consola y comprobar si se ejecuta Snort y si nuestra alerta aparece en la pantalla:
$ sudo snort - una consola - q -u -g de snort snort /etc/snort/snort.conf - c -i eth0
Iniciar manualmente comandos "ping" de uno de su equipo de la LAN a la frambuesa, que debe desencadenar una alerta (CTRL + C para detener la prueba). Si todo está trabajando ahora, podríamos estar tentados a decir se gana, pero no es :-)
El siguiente paso lógico es comprobar la configuración de arranque de Snort para la próxima vez que se reinicie:
$ sudo vi /etc/conf.d/snort
# Donde está el archivo snort.conf.
SNORT_CONF="/etc/snort/snort.conf"
# Qué cuenta de usuario debemos correr bajo.
USUARIO = "snort"
# Qué cuenta del grupo debemos correr bajo.
Grupo = "snort"
# definir el interfaz escuchamos en
INTERFAZ = "eth0"
# Si utilizas preludio, eliminar la '-un rápido ' opción
SNORT_OPTIONS = "-un rápido -b -D -p"
Todo parece ok, así que vamos a hacer una verdadera prueba ejecutando Snort en modo demonio (-parámetro de D):
$ sudo snort - una consola - q -u -g de snort snort /etc/snort/snort.conf - c -i eth0 -D
Falla con el error "tenedor: no Allocate Memory".
No pude averiguar primero por qué funcionaría bien mientras que no en daemon Snort, pero no funcionaría de otra manera. Jugué con /etc/security/limits.conf en vano, creyendo que era algún tipo de límite de asignación de memoria.
Sin embargo, cuando se ejecuta otra vez Snort como un proceso de usuario, no como demonio, noté en "htop" que Snort asigna memoria virtual (más de 290MB), considerando que no tengo ningún archivo de intercambio. Entonces se supone que era un buen camino a seguir, y gracias a la archlinuxarm documentación, crea un archivo de intercambio:
$ sudo dd si = / dev/zero of=/swapfile.img bs = 1M count = 512
$ sudo mkswap /swapfile.img
$ sudo swapon /swapfile.img
512MB parece bastante con respecto a lo que Snort está tratando de asignar. Además, no es recomendada en un flash medios de comunicación, como la tarjeta SD, para crear un archivo de intercambio, como escribe más se hará para los medios de comunicación, acortando su vida útil. Sin embargo, la idea aquí es permitir que Snort asignar la memoria, pero con la esperanza de que no en realidad lo necesitan (desactiva muchas preprocesador y las reglas, recuerda).
Ahora, debe ejecutar Snort con éxito:
$ sudo snort - una consola - q -u -g de snort snort /etc/snort/snort.conf - c -i eth0 -D
Felicidades. También, usted puede notar en htop que Snort realmente no usa cualquier memoria virtual, sólo asignado, que es lo que queríamos.
¡ Vamos a arreglar esto mediante la activación de la swap en el inicio, primero:
$ sudo vi/etc/fstab
# Añadir esto al final
/swapfile.img none swap sw 0 0
Por último añadir Snort en el arranque:
$ sudo vi /etc/rc.conf
DAEMONS = (! snort de hwclock syslog-ng red dnsmasq)
Reiniciar y comprobar que se ejecuta Snort, luego que su alerta todavía regla desencadena:
reinicio de $ sudo
$ htop
$ sudo la cola – f /var/log/snort/alert
Si todo está bien, comentar la regla de prueba:
$ sudo vi /etc/snort/rules/local.rules
Reiniciar el Snort:
$ sudo rc.d reinicio snort
En cuanto a prestaciones, para una navegación común no noto ninguna desaceleración. Cuando abro Google Chrome con 10 o 15 pestañas que están todos tratando de cargar a la vez, la CPU de frambuesa va al 100% durante unos segundos, como 3 o 4 segundos pero va rápidamente a la normalidad, no notable desaceleración en el sitio web cargando.
Creo que sin embargo, con respecto a la CPU uso cuando algunos el tráfico de red sucede, la carga de las reglas de Snort más o preprocesador obstaculizaría actuaciones. Encontrar la actual compensación aceptable en cuanto a seguridad/rendimiento, para uso en el hogar. De todos modos, se puede jugar con la configuración si quieres más seguridad.
Actualización de reglas de Snort:
Si usted no desea pagar nada para tener acceso a reglas actualizadas, las reglas libres disposición será una mes de edad. Si sin embargo no te importa para pagar 30$ / año (sólo para uso personal/hogar) para la suscripción personal, tienes la normativa más actualizada a un precio razonable.
Inicie sesión en su cuenta en snort.org y luego ir al siguiente enlace para comprar la suscripción si desea las últimas normas disponibles:
http://www.snort.org/VRT/Buy-a-subscription
Ahora, para actualizar las reglas de nuestro snort, usaremos PulledPork. Visite su sitio web si una versión más reciente ha sido publicada puesto que escribí este artículo.
$ wget http://pulledpork.googlecode.com/files/pulledpork-0.6.1.tar.gz
$ tar zxpvf./pulledpork-0.6.1.tar.gz
$ sudo cp pulledpork-0.6.1/etc/*.conf/etc
$ sudo cp pulledpork-0.6.1/pulledpork.pl/usr/local/bin /
$ sudo vi /etc/pulledpork.conf
rule_url = https://www.snort.org/reg-rules/ |snortrules-snapshot.tar.gz|
ignore=Deleted.rules,experimental.rules,local.rules
temp_path = / tmp
out_path = / etc/snort/rules /
local_rules=/etc/snort/rules/local.rules
sid_msg=/etc/snort/SID-msg.map
sid_changelog=/var/log/sid_changes.log
snort_path = / usr/bin/snort
config_path=/etc/snort/snort.conf
copia de seguridad de = / etc/snort
versión 0.6.0 de =
Instalar el módulo perl requeridos para pulledpork:
hacer $ sudo pacman -S
$ sudo pacman -S perl-libwww
$ sudo pacman -S perl-crypt-ssleay
$ sudo pacman -S perl-interruptor
Y ahora vamos a empezar la actualización manualmente primero:
$ sudo touch /etc/snort/sid-msg.map
$ sudo chown rss:snort /etc/snort/sid-msg.map
$ pulledpork.pl -k - c /etc/pulledpork.conf -K /etc/snort/rules -o /etc/snort/rules
Si está utilizando la versión de pago, sus archivos de reglas comenzará con"VRT", debe editar snort.conf y reemplazar las reglas de carga en el extremo con:
$ sudo vi /etc/snort/snort.conf
# Mínimas reglas para casa NIDS (5 archivos)
# Si utiliza la versión de la licencia
incluyen $RULE_PATH/VRT-indicador-compromise.rules
incluyen $RULE_PATH/VRT-backdoor.rules
incluyen $RULE_PATH/VRT-botnet-cnc.rules
incluyen $RULE_PATH/VRT-software espía-put.rules
incluyen $RULE_PATH/VRT-web-client.rules
# Reglas adicionales (15 archivos)
# Si utiliza la versión de la licencia
incluyen $RULE_PATH/VRT-malo-traffic.rules
incluyen $RULE_PATH/VRT-ddos.rules
incluyen $RULE_PATH/VRT-dns.rules
incluyen $RULE_PATH/VRT-dos.rules
incluyen $RULE_PATH/VRT-exploit.rules
incluyen $RULE_PATH/VRT-ftp.rules
incluyen $RULE_PATH/VRT-netbios.rules
incluyen $RULE_PATH/VRT-pua-p2p.rules
incluyen $RULE_PATH/VRT-phishing-spam.rules
incluyen $RULE_PATH/VRT-rpc.rules
incluyen $RULE_PATH/VRT-scan.rules
incluyen $RULE_PATH/VRT-shellcode.rules
incluyen $RULE_PATH/VRT-smtp.rules
incluyen $RULE_PATH/VRT-específico-threats.rules
incluyen $RULE_PATH/VRT-telnet.rules
Tenemos que reiniciar Snort:
$ sudo rc.d parada de snort
$ sudo rc.d start snort
Ahora vamos a crear una tarea para ejecutar pulledpork automáticamente:
$ crontab -e
# Actualización de reglas de Snort todos los domingos a las 12h 30
30 12 ** 0 /usr/local/bin/pulledpork.pl -k - c /etc/pulledpork.conf -K /etc/snort/rules -o /etc/snort/rules
# Actualización de reglas de Snort todos los miércoles a las 21h 00
00 21 ** 3 /usr/local/bin/pulledpork.pl -k - c /etc/pulledpork.conf -K /etc/snort/rules -o /etc/snort/rules
Estos son algunos ejemplos, me gusta programar dos actualizaciones por semana, pero usted puede cambiar eso. Tenga en cuenta sin embargo que no sería prudente hacer la actualización a menudo como usa 100% CPU para más de 5 minutos, y de un intercambio poco demasiado (4-5MB).
Eso es todo, ahora tienes un trabajo completamente Snort!