Jump to content
Калькуляторы

FastNetMon - программа для выявления входящих/исходящих атак

Павел, помогите пожалуйста понять, почему сервис падает если запускать через rc скрипт и работает если запускать просто ручками.


vfork()                         = 872 (0x368)
We will use custom path to configuration file: /etc/fastnetmon.conf
We will run in daemonized mode
wait4(-1,{ EXITED,val=0 },0x0,0x0)         = 872 (0x368)


fastnetmon_enable="YES"
#fastnetmon_user="fastnetmon"
fastnetmon_flags="--configuration_file=/etc/fastnetmon.conf --daemonize"

 

Хотя из коммандной строки: fastnetmon --configuration_file=/ etc / fastnetmon . conf -- daemonize 
все рабоатет

 

 



15:18 root@netmon01 [/root]# truss /usr/local/etc/rc.d/fastnetmon start
mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366320640 (0x800647000)
issetugid()                     = 0 (0x0)
lstat("/etc",{ mode=drwxr-xr-x ,inode=39,size=117,blksize=7680 }) = 0 (0x0)
lstat("/etc/libmap.conf",{ mode=-rw-r--r-- ,inode=13742,size=109,blksize=4096 }) = 0 (0x0)
openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
fstat(3,{ mode=-rw-r--r-- ,inode=13742,size=109,blksize=4096 }) = 0 (0x0)
mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0)     = 34366353408 (0x80064f000)
close(3)                     = 0 (0x0)
lstat("/usr",{ mode=drwxr-xr-x ,inode=9,size=16,blksize=4096 }) = 0 (0x0)
lstat("/usr/local",{ mode=drwxr-xr-x ,inode=232,size=15,blksize=4096 }) = 0 (0x0)
lstat("/usr/local/etc",{ mode=drwxr-xr-x ,inode=60871,size=27,blksize=4096 }) = 0 (0x0)
lstat("/usr/local/etc/libmap.d",0x7fffffffc718)     ERR#2 'No such file or directory'
munmap(0x80064f000,109)                 = 0 (0x0)
openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
read(3,"Ehnt\^A\0\0\0\M^@\0\0\0{\0\0\0\0"...,128) = 128 (0x80)
fstat(3,{ mode=-r--r--r-- ,inode=196624,size=251,blksize=4096 }) = 0 (0x0)
lseek(3,0x80,SEEK_SET)                 = 128 (0x80)
read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,123) = 123 (0x7b)
close(3)                     = 0 (0x0)
access("/lib/libedit.so.7",F_OK)         = 0 (0x0)
openat(AT_FDCWD,"/lib/libedit.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=155,size=222648,blksize=131072 }) = 0 (0x0)
mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34366353408 (0x80064f000)
mmap(0x0,2330624,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34368421888 (0x800848000)
mmap(0x800848000,212992,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34368421888 (0x800848000)
mmap(0x800a7b000,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x33000) = 34370727936 (0x800a7b000)
mmap(0x800a7e000,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34370740224 (0x800a7e000)
munmap(0x80064f000,4096)             = 0 (0x0)
close(3)                     = 0 (0x0)
access("/lib/libc.so.7",F_OK)             = 0 (0x0)
openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=187,size=1761320,blksize=131072 }) = 0 (0x0)
mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34366353408 (0x80064f000)
mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34370752512 (0x800a81000)
mmap(0x800a81000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34370752512 (0x800a81000)
mmap(0x800e13000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x192000) = 34374496256 (0x800e13000)
mmap(0x800e1f000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34374545408 (0x800e1f000)
munmap(0x80064f000,4096)             = 0 (0x0)
close(3)                     = 0 (0x0)
access("/lib/libncursesw.so.8",F_OK)         = 0 (0x0)
openat(AT_FDCWD,"/lib/libncursesw.so.8",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=170,size=382408,blksize=131072 }) = 0 (0x0)
mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34366353408 (0x80064f000)
mmap(0x0,2482176,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34374651904 (0x800e39000)
mmap(0x800e39000,364544,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34374651904 (0x800e39000)
mmap(0x801091000,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x58000) = 34377109504 (0x801091000)
mmap(0x801096000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34377129984 (0x801096000)
munmap(0x80064f000,4096)             = 0 (0x0)
close(3)                     = 0 (0x0)
munmap(0x80064e000,4096)             = 0 (0x0)
mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366349312 (0x80064e000)
munmap(0x800651000,28672)             = 0 (0x0)
mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366361600 (0x800651000)
sysarch(AMD64_SET_FSBASE,0x7fffffffe0d8)     = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)         = 0 (0x0)
readlink("/etc/malloc.conf",0x7fffffffd7d0,1024) ERR#2 'No such file or directory'
issetugid()                     = 0 (0x0)
__sysctl(0x7fffffffd670,0x2,0x7fffffffd6c0,0x7fffffffd6b8,0x800be2c93,0xd) = 0 (0x0)
__sysctl(0x7fffffffd6c0,0x2,0x7fffffffd784,0x7fffffffd778,0x0,0x0) = 0 (0x0)
mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34377134080 (0x801097000)
munmap(0x801097000,2097152)             = 0 (0x0)
mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34377134080 (0x801097000)
munmap(0x801097000,1478656)             = 0 (0x0)
munmap(0x801400000,614400)             = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)         = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)         = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)         = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)         = 0 (0x0)
getpid()                     = 868 (0x364)
geteuid()                     = 0 (0x0)
getppid()                     = 867 (0x363)
mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34380709888 (0x801400000)
getuid()                     = 0 (0x0)
geteuid()                     = 0 (0x0)
getgid()                     = 0 (0x0)
getegid()                     = 0 (0x0)
openat(AT_FDCWD,"/usr/local/etc/rc.d/fastnetmon",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
fcntl(3,F_DUPFD_CLOEXEC,0xa)             = 10 (0xa)
close(3)                     = 0 (0x0)
sigaction(SIGINT,0x0,{ SIG_DFL SA_RESTART ss_t }) = 0 (0x0)
sigaction(SIGINT,{ 0x41b8a0 0x0 ss_t },0x0)     = 0 (0x0)
sigaction(SIGQUIT,0x0,{ SIG_DFL SA_RESTART ss_t }) = 0 (0x0)
sigaction(SIGQUIT,{ 0x41b8a0 0x0 ss_t },0x0)     = 0 (0x0)
sigaction(SIGTERM,0x0,{ SIG_DFL SA_RESTART ss_t }) = 0 (0x0)
sigaction(SIGTERM,{ SIG_DFL 0x0 ss_t },0x0)     = 0 (0x0)
stat(".",{ mode=drwxr-xr-x ,inode=36,size=22,blksize=4096 }) = 0 (0x0)
stat("/root",{ mode=drwxr-xr-x ,inode=36,size=22,blksize=4096 }) = 0 (0x0)
read(10,"#!/bin/sh\n\n# PROVIDE: fastnetm"...,1024) = 512 (0x200)
openat(AT_FDCWD,"/etc/rc.subr",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
fcntl(3,F_DUPFD_CLOEXEC,0xa)             = 11 (0xb)
close(3)                     = 0 (0x0)
read(11,"# $NetBSD: rc.subr,v 1.67 2006/1"...,1024) = 1024 (0x400)
read(11,"FOR A PARTICULAR\n# PURPOSE ARE "...,1024) = 1024 (0x400)
read(11,"tching pattern.\n# \nlist_vars()"...,1024) = 1024 (0x400)
read(11,"olete()\n{\n\tlocal _var\n\t_var"...,1024) = 1024 (0x400)
read(11,"\n\teval _value=\\$${1}\n\tdebug"...,1024) = 1024 (0x400)
read(11,"ms type\n#\tGo through the list "...,1024) = 1024 (0x400)
read(11,"id file ($_pidfile): not readabl"...,1024) = 1024 (0x400)
read(11,"name procname` + "]"\n#\n#\tIf i"...,1024) = 1024 (0x400)
read(11,"\n\t\t\t*)\n\t\t\t\twarn "no she"...,1024) = 1024 (0x400)
read(11,"efore the real sort(1) is availa"...,1024) = 1024 (0x400)
read(11,"{sort_field#*.} sort_field=${sor"...,1024) = 1024 (0x400)
read(11,"t modified comparison value if s"...,1024) = 1024 (0x400)
read(11,"t_numeric" ]; then\n\t\t\t\tgt=""...,1024) = 1024 (0x400)
read(11,"\t\t\t[ "$sort_strict_fields" ] "...,1024) = 1024 (0x400)
read(11,"" = "$curitem_mod" ]; then\n\t\t"...,1024) = 1024 (0x400)
read(11,"o\n\t\t\tif kill -0 $_j 2>/dev/n"...,1024) = 1024 (0x400)
read(11,"ne=${line#*/}\n\t\t_pidfile_from"...,1024) = 1024 (0x400)
read(11,"f ${rc_arg}_cmd is set for\n#\t"...,1024) = 1024 (0x400)
read(11,"parent environment\n#\t\t\t\t\tc"...,1024) = 1024 (0x400)
read(11,"fter checking for required\n#\t"...,1024) = 1024 (0x400)
read(11,"egrep(1) pattern matching the mo"...,1024) = 1024 (0x400)
read(11,"oll\t\tWait for ${command} to ex"...,1024) = 1024 (0x400)
read(11," arguments to the command subrou"...,1024) = 1024 (0x400)
read(11," $command_interpreter"')'\n\t\te"...,1024) = 1024 (0x400)
read(11,"" ]; then\n\t\t\tcontinue\n\t\tf"...,1024) = 1024 (0x400)
read(11,"[ -n "$_cmd" ]; then\n\t\t\t_run"...,1024) = 1024 (0x400)
read(11,"groups }\\\n$_chroot $command $r"...,1024) = 1024 (0x400)
read(11,"un_rc_doit "$_doit" || return 1"...,1024) = 1024 (0x400)
read(11,"en\n\t\t\t\techo " : $desc"\n\t"...,1024) = 1024 (0x400)
read(11,"]; then\n\t\t\t\tpid=$(check_pro"...,1024) = 1024 (0x400)
read(11,"rgs"\n\t\teval "$_postcmd $rc_ex"...,1024) = 1024 (0x400)
read(11,"ackup or scratch file, ignore it"...,1024) = 1024 (0x400)
read(11,"[service]\n#\tSource in the conf"...,1024) = 1024 (0x400)
read(11,"\t\t\t\t\t. "$_rc"\n\t\t\t\t\tfi"...,1024) = 1024 (0x400)
read(11,""UNSET" ]; then\n\t\t\techo '$2'"...,1024) = 1024 (0x400)
read(11,"nabled in rc.conf output message"...,1024) = 1024 (0x400)
read(11,"in done here if RCS is being use"...,1024) = 1024 (0x400)
read(11,"g1" $_cur\n\t\t\trcs -q -kb -U $"...,1024) = 1024 (0x400)
read(11," from file, and creates\n#\tthe "...,1024) = 1024 (0x400)
read(11,"sbin/devfs rule -s $rulenum dels"...,1024) = 1024 (0x400)
read(11,"}\n\n# devfs_set_ruleset ruleset"...,1024) = 1024 (0x400)
read(11,""$2"" || devdir=\n\t_me="devfs_a"...,1024) = 1024 (0x400)
read(11,"rovide a function for normalizin"...,1024) = 1024 (0x400)
read(11,"\t_mod=${_mod:-$1}\n\t_loaded=fa"...,1024) = 1024 (0x400)
read(11,"provider mountpoint type options"...,1024) = 1024 (0x400)
read(11,"is function can\n# be used to ex"...,1024) = 1024 (0x400)
read(11,"startup}; do\n\t\tif [ -d "${dir"...,1024) = 1024 (0x400)
read(11,"adable."\n\t\t\t\tif [ -z "$rc_f"...,1024) = 1024 (0x400)
read(11,"if ${SYSCTL_N} kern.features.$1 "...,1024) = 886 (0x376)
pipe2(0x7fffffffe1b8,0)                 = 0 (0x0)
vfork()                         = 869 (0x365)
close(4)                     = 0 (0x0)
read(3,"0\n",128)                 = 2 (0x2)
read(3,0x7fffffffe3a0,128)             = 0 (0x0)
close(3)                     = 0 (0x0)
wait4(-1,{ EXITED,val=0 },0x0,0x0)         = 869 (0x365)
read(11,0x801420000,1024)             = 0 (0x0)
close(11)                     = 0 (0x0)
stat("/etc/defaults/rc.conf",{ mode=-r--r--r-- ,inode=13851,size=38569,blksize=38912 }) = 0 (0x0)
eaccess("/etc/defaults/rc.conf",R_OK)         = 0 (0x0)
openat(AT_FDCWD,"/etc/defaults/rc.conf",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
fcntl(3,F_DUPFD_CLOEXEC,0xa)             = 11 (0xb)
close(3)                     = 0 (0x0)
read(11,"#!/bin/sh\n\n# This is rc.conf -"...,1024) = 1024 (0x400)
read(11,"from rc.d\nrc_info="NO"\t\t# Ena"...,1024) = 1024 (0x400)
read(11,"able="NO"\t# Build linker.hints "...,1024) = 1024 (0x400)
read(11,"stems\n\n# ZFSD support\nzfsd_en"...,1024) = 1024 (0x400)
read(11,"a1.keys"\n#geli_da1_autodetach=""...,1024) = 1024 (0x400)
read(11,"me="NO"\t\t# Set to NIS domain i"...,1024) = 1024 (0x400)
read(11,"ty\nfirewall_script="/etc/rc.fir"...,1024) = 1024 (0x400)
read(11,"firewall_simple_iif_ipv6="ed1"\t"...,1024) = 1024 (0x400)
read(11,"nat_enable="NO"\t# Enable kernel"...,1024) = 1024 (0x400)
read(11,"m lives\nipfilter_rules="/etc/ip"...,1024) = 1024 (0x400)
read(11,"gs for pfctl\npflog_enable="NO""...,1024) = 1024 (0x400)
read(11,"O"\t\t# Set to YES to log ICMP R"...,1024) = 1024 (0x400)
read(11,"#autobridge_bridge0="tap* vlan0""...,1024) = 1024 (0x400)
read(11,"e="ddial"\t# Override ppp mode f"...,1024) = 1024 (0x400)
read(11,"td_flags=""\t\t\t# Optional flag"...,1024) = 1024 (0x400)
read(11,"="/etc/krb5.keytab"\t# keytabfo"...,1024) = 1024 (0x400)
read(11," interface that pppoed runs on."...,1024) = 1024 (0x400)
read(11,"ent cache timeout in seconds\nnf"...,1024) = 1024 (0x400)
read(11," SecureRPC (or NO).\nkeyserv_ena"...,1024) = 1024 (0x400)
read(11,"nfiguration file\nntpd_sync_on_s"...,1024) = 1024 (0x400)
read(11,"d).\nnis_server_enable="NO"\t\t#"...,1024) = 1024 (0x400)
read(11,"empty).\ngateway_enable="NO"\t\t"...,1024) = 1024 (0x400)
read(11,"""\t\t\t# Set to PVC list (or le"...,1024) = 1024 (0x400)
read(11,"one_register_dun="NO"\t# for 'on"...,1024) = 1024 (0x400)
read(11,"ipv6_network_interfaces="auto"\t"...,1024) = 1024 (0x400)
read(11,"gram="/usr/sbin/route6d"\t# Name"...,1024) = 1024 (0x400)
read(11,"n. If set to YES,\n\t\t\t\t# thi"...,1024) = 1024 (0x400)
read(11,"etc/ipf6.rules"\t# rules definit"...,1024) = 1024 (0x400)
read(11,""NO"\t\t# font 8x16 from /usr/sh"...,1024) = 1024 (0x400)
read(11,"################################"...,1024) = 1024 (0x400)
read(11,"ail (outbound only)\nsendmail_ms"...,1024) = 1024 (0x400)
read(11,"options to pass to the crondaem"...,1024) = 1024 (0x400)
read(11,"e systems (if enabled)\nquotaoff"...,1024) = 1024 (0x400)
read(11,"sr/lib/compat /usr/local/lib /us"...,1024) = 1024 (0x400)
read(11,"ttingsecurelevel to 0 will resu"...,1024) = 1024 (0x400)
read(11,"ets="/etc/defaults/devfs.rules /"...,1024) = 1024 (0x400)
read(11,"requires kernel options RACCT an"...,1024) = 1024 (0x400)
read(11,"e_rc_confs() {\n\t\tlocal isour"...,1024) = 681 (0x2a9)
stat("/etc/defaults/vendor.conf",0x7fffffffe018) ERR#2 'No such file or directory'
read(11,0x801420000,1024)             = 0 (0x0)
close(11)                     = 0 (0x0)
stat("/etc/rc.conf",{ mode=-rw-r--r-- ,inode=16236,size=437,blksize=4096 }) = 0 (0x0)
eaccess("/etc/rc.conf",R_OK)             = 0 (0x0)
openat(AT_FDCWD,"/etc/rc.conf",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
fcntl(3,F_DUPFD_CLOEXEC,0xa)             = 11 (0xb)
close(3)                     = 0 (0x0)
read(11,"hostname="netmon01.freehost.com."...,1024) = 437 (0x1b5)
read(11,0x801420000,1024)             = 0 (0x0)
close(11)                     = 0 (0x0)
stat("/etc/rc.conf.local",0x7fffffffe098)     ERR#2 'No such file or directory'
stat("/etc/rc.conf.d/fastnetmon",0x7fffffffe3c8) ERR#2 'No such file or directory'
stat("/etc/rc.conf.d/fastnetmon",0x7fffffffe3c8) ERR#2 'No such file or directory'
stat("/usr/local/etc/rc.conf.d/fastnetmon",0x7fffffffe3c8) ERR#2 'No such file or directory'
stat("/usr/local/etc/rc.conf.d/fastnetmon",0x7fffffffe3c8) ERR#2 'No such file or directory'
pipe2(0x7fffffffe238,0)                 = 0 (0x0)
fork()                         = 870 (0x366)
close(4)                     = 0 (0x0)
read(3,"root\n",128)                 = 5 (0x5)
read(3,0x7fffffffe420,128)             = 0 (0x0)
close(3)                     = 0 (0x0)
wait4(-1,{ EXITED,val=0 },0x0,0x0)         = 870 (0x366)
pipe2(0x7fffffffe038,0)                 = 0 (0x0)
fork()                         = 871 (0x367)
close(4)                     = 0 (0x0)
read(3,0x7fffffffe220,128)             = 0 (0x0)
close(3)                     = 0 (0x0)
wait4(-1,{ EXITED,val=0 },0x0,0x0)         = 871 (0x367)
stat("/usr/local/bin/fastnetmon",{ mode=-rwxr-xr-x ,inode=182700,size=825608,blksize=131072 }) = 0 (0x0)
eaccess("/usr/local/bin/fastnetmon",X_OK)     = 0 (0x0)
geteuid()                     = 0 (0x0)
Starting fastnetmon.
write(1,"Starting fastnetmon.\n",21)         = 21 (0x15)
stat("/sbin/limits",0x7fffffffdd30)         ERR#2 'No such file or directory'
stat("/bin/limits",0x7fffffffdd30)         ERR#2 'No such file or directory'
stat("/usr/sbin/limits",0x7fffffffdd30)         ERR#2 'No such file or directory'
stat("/usr/bin/limits",{ mode=-r-xr-xr-x ,inode=12370,size=21224,blksize=21504 }) = 0 (0x0)
vfork()                         = 872 (0x368)
We will use custom path to configuration file: /etc/fastnetmon.conf
We will run in daemonized mode
wait4(-1,{ EXITED,val=0 },0x0,0x0)         = 872 (0x368)
read(10,0x627fc0,1024)                 = 0 (0x0)
exit(0x0)
process exit, rval = 0

 

Share this post


Link to post
Share on other sites

FNM'ну должно быть без разницы, как его запустили. Как устроена запускалка по FreeBSD я, признаться, не знаю. Порядок аргументов может не тот? FreeBSD упорота в этом плане, но поидее он с консоли и из init тот же самый должен быть. Других идей нету. 

Share this post


Link to post
Share on other sites

Megas знак "равно" уберите.

fastnetmon_flags="--daemonize --configuration_file /usr/local/etc/fastnetmon.conf"

 

я тут тоже озадачился защитой от пока непонятно чего, но чего-то явно вредного. буду пытаться скрестить sFlow с Dell'а и FNM. подводных камней никаких не ожидается? )

Share this post


Link to post
Share on other sites

в целом взлетело с полпинка.Dell N4032F, настройки:

sflow 1 destination owner 1 notimeout
sflow 1 destination <ip-addr-fnm>
interface Te1/0/22
sflow 1 sampling 1024
sflow 1 polling 15
exit
sflow source-interface out-of-band

в мануале к Dell'у особняком сказано, что сначала надо настроть destination, и только потом source/polling.

sampling меньше 1024 поставить нельзя, точнее можно только вообще его отключить.

вылезшая проблема - столбец flows по нулям весь. Outgoing трафик - тоже нули. Я так понимаю, что это потому, что делл сливает только ingress flows.

Edited by nixx

Share this post


Link to post
Share on other sites

Направление - да, это часто ограничение на уровне свитчей. Но нередко обновление прошивки добавляет отсутствующее направление. По крайне мере в Extreme было так.

Share this post


Link to post
Share on other sites

не, похоже у Dell'ов такое не светит. "дизайн такой" (ц)

 

животрепещущий вопрос:
если включаю enable_ban=on, то в логе вообще никакой информации о том, кого же мы забанили.
2017-11-13 21:54:24,926 [INFO] We have found host group for this host as: global
2017-11-13 21:54:26,021 [INFO] We detected this attack by pps limit
при enable_ban=off появляется хотя бы такое:
2017-11-14 00:35:50,236 [INFO] We do not ban: <мой-ип> because ban disabled completely
ну то есть если я хочу использовать FNM для начала хотя бы просто в роли оповещалки - как мне информацию в лог записать?
/var/log/fastnetmon_attacks/ пустой, хотя детектов в логах сгенерилось уже тьма

 

из мелких непоняток/багов:
при "logging:local_syslog_logging = on" зачем-то параллельно пишет в свой собственный файл лога, помимо сислога.
на мой взгляд, нелогично.

 

стало интересно, что такое LUA в сочетании с FNM - включил "sflow_lua_hooks_path = /usr/local/etc/sflow_hooks.lua" (естественно, файл этот скопировал из архива с исходниками, и еще netflow_exclude.json тоже)
получаю в логе [ERROR] LuaJIT can't load file correctly from path: /usr/local/etc/sflow_hooks.lua disable LUA support

что я еще не сделал/не скопировал?

 

лог забит сообщениями:
INFO  : Time from last run of speed_recalc is soooo big, we got ugly lags: 2
может насыпаться 4 в минуту, может минуты три не говорить подобного. кто виноват?

 

freebsd 10.4, fastnetmon из портов 1.1.3, через make install.

Share this post


Link to post
Share on other sites

Чтобы фиксировать информацию об атаке - лучше использовать notify_script: https://github.com/pavel-odintsov/fastnetmon/blob/master/src/notify_about_attack.sh Только аккрутано, stdind вычитывать строго обязательно иначе упадет по SIGPIPE.

 

при "logging:local_syslog_logging = on" зачем-то параллельно пишет в свой собственный файл лога, помимо сислога -- есть такое, текстовый лог можно отправить в /dev/null через параметр командной строки: log_file.

 

lua - очень проблемна, к сожалению. Да и почти не сыскала интереса среди пользователей. Скорее всего падает из-за недостатка либ: https://github.com/pavel-odintsov/fastnetmon/blob/2005b4e94e5af628b95d3102384c2a792da34046/docs/LUA_SUPPORT.md 

Share this post


Link to post
Share on other sites

Всех с приближающимися праздниками! :)

 

Из приятных новостей, теперь FastNetMon Advanced не требует внешнего адреса привязанного к машине и отлично работает на серых адресах! Как всегда, ссылка на автоматический бесплатный триал: https://fastnetmon.com/trial/ 

Edited by pavel.odintsov

Share this post


Link to post
Share on other sites

Павел, я тут затестил одну конфигурацию:

iptables -t mangle -A PREROUTING -d 10.10.0.5 -p udp --dport 7001  -j TEE --gateway 10.10.0.15

Через tcpdump на машине 10.10.0.15 вижу пакеты, но вот fastnetmon sflow поток увы не видит. 
Суть в том чтобы сделать клон сетевых пакетов которые приходят от коммутатора на несколько точек. И адрес назначения в этом случае другой сервер, fastnetmon не может похоже воспринять такие пакеты.

 

И еще после default инсталяции ругается на:
2017-12-30 01:18:51,085 [ERROR] Can't parse config line: 'ban_for_tcp_pps = off '
хотя конфиг на debian8 чисто default

 

Edited by Megas

Share this post


Link to post
Share on other sites

Добрый день!

 

tcpdump видит все, так как переводит сетевую в режим прослушки. До сетевого стека это может и не долетать. TEE - сложная для настройки вещь и к ней нужно делать еще немного iptables магии, чтобы переписать адреса. Мы рекомендуем samplicator, он рабоатет в user space, простой и абсолютно предсказуем. 

 

"2017-12-30 01:18:51,085 [ERROR] Can't parse config line: 'ban_for_tcp_pps = off '" - исправлено в мастере давно-давно. Как будет следующий релиз оно починится :) Там просто пробел в конце строки. 

Share this post


Link to post
Share on other sites

у nfdumpа вроде было что-то для клонирования потока на несколько коллекторов.

Share this post


Link to post
Share on other sites

Всем привет!

 

Активно работаем на IPv6 в Advanced версии! Уже можно создавать пороги для IPv6 трафика и вызывать скрипт при фиксации атаки. Как всегда, предоставляем бесплатный триал на месяц всем: fastnetmon.com/trial/ 

Share this post


Link to post
Share on other sites

Павел, подскажите, можно как-то добавить возможность изменение уровня журналирования?
Очень смущают:
2018-02-10 00:35:58,051 [ERROR] Can't store data to Graphite
2018-02-10 00:35:59,064 [ERROR] Can't store data to Graphite
2018-02-10 00:36:00,101 [ERROR] Can't store data to Graphite
2018-02-10 00:36:01,113 [ERROR] Can't store data to Graphite
2018-02-10 00:36:02,126 [ERROR] Can't store data to Graphite
2018-02-10 00:36:03,159 [ERROR] Can't store data to Graphite
2018-02-10 00:36:04,192 [ERROR] Can't store data to Graphite
2018-02-10 00:36:05,226 [ERROR] Can't store data to Graphite
2018-02-10 00:36:06,268 [ERROR] Can't store data to Graphite
2018-02-10 00:36:07,300 [ERROR] Can't store data to Graphite

При этом всего datasource в качестве которого sflow с коммутатора и больше ничего. Но данные в графите есть.

 

Edited by Megas

Share this post


Link to post
Share on other sites

Посмотрите: https://github.com/pavel-odintsov/fastnetmon/issues/602 Фикс в мастере. 

 

Ставить так:

 
wget https://raw.githubusercontent.com/pavel-odintsov/fastnetmon/master/src/fastnetmon_install.pl -Ofastnetmon_install.pl
sudo perl fastnetmon_install.pl --use-git-master
 

Share this post


Link to post
Share on other sites

Добавили нэтивную поддержку BGP анонсов с IPv6 :) На очереди - работа поверх IPv6 пиринг сессии. 

Share this post


Link to post
Share on other sites

Физика гигабитная, видим в логах атак вот такое:

...

Total outgoing traffic: 3807 mbps
Average outgoing traffic: 3807 mbps
Outgoing udp traffic: 3807 mbps
Total outgoing traffic: 3807 mbps
Average outgoing traffic: 3807 mbps
Outgoing udp traffic: 3807 mbps
...

 

Цифры заведомо невозможные. Куда копать?

Share this post


Link to post
Share on other sites

Нет ли других ошибок в логах на тему "Calculated speed on more than 1 second" ? Если процессор сильно загружен, то будет задержка вычисления скорости и несколько секунд будут посчитаны как одна секунда и показания будут завышены.

 

Также возможен сбой со стороны PF_RING, он себя под нагрузкой ведет не особо хорошо. Рекомендую попробовать mirror_af_packet. 

Share this post


Link to post
Share on other sites

Подобных ошибок нет.

 

Снимаем трафик с бордера по netflow v5 с таймаутом 60 сек.

Share this post


Link to post
Share on other sites

Скорее всего устройство задержало трафик на более долгий чем 60 секунд промежуток времени. Рекомендую попробовать отладить эту проблему используя статью: https://fastnetmon.com/2017/01/20/netflow-flows-duration/ 

Share this post


Link to post
Share on other sites

А между тем FastNetMon доступен искаропки на Ubuntu 18.04 LTS :) 

 

Pavel Odintsov, [27.04.18 18:42]
root@ubuntu1804:~# cat /etc/issue
Ubuntu 18.04 LTS \n \l

root@ubuntu1804:~# apt-get install -y fastnetmon
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  dconf-gsettings-backend dconf-service gir1.2-goa-1.0 gir1.2-secret-1 gir1.2-snapd-1 glib-networking glib-networking-common
  glib-networking-services gsettings-desktop-schemas libdconf1 libgoa-1.0-0b libgoa-1.0-common libjson-glib-1.0-0
  libjson-glib-1.0-common libproxy1v5 libsecret-1-0 libsecret-common libsnapd-glib1 libsoup2.4-1
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  libboost-program-options1.65.1 libboost-regex1.65.1 libboost-system1.65.1 libboost-thread1.65.1 libbson-1.0-0 libhiredis0.13
  liblog4cpp5v5 libluajit-5.1-2 libluajit-5.1-common libmongoc-1.0-0 libndpi5 libsnappy1v5
The following NEW packages will be installed:
  fastnetmon libboost-program-options1.65.1 libboost-regex1.65.1 libboost-system1.65.1 libboost-thread1.65.1 libbson-1.0-0
  libhiredis0.13 liblog4cpp5v5 libluajit-5.1-2 libluajit-5.1-common libmongoc-1.0-0 libndpi5 libsnappy1v5
0 upgraded, 13 newly installed, 0 to remove and 20 not upgraded.
Need to get 1,466 kB of archives.
After this operation, 5,193 kB of additional disk space will be used.
Get:1 http://nova.clouds.archive.ubuntu.com/ubuntu bionic/main amd64 libboost-program-options1.65.1 amd64 1.65.1+dfsg-0ubuntu5 [137 kB]
Get:2 http://nova.clouds.archive.ubuntu.com/ubuntu bionic/universe amd64 libboost-regex1.65.1 amd64 1.65.1+dfsg-0ubuntu5 [259 kB]
Get:3 http://nova.clouds.archive.ubuntu.com/ubuntu bionic/main amd64 libboost-system1.65.1 amd64 1.65.1+dfsg-0ubuntu5 [10.5 kB]
Get:4 http://nova.clouds.archive.ubuntu.com/ubuntu bionic/main amd64 libboost-thread1.65.1 amd64 1.65.1+dfsg-0ubuntu5 [43.2 kB]
Get:5 http://nova.clouds.archive.ubuntu.com/ubuntu bionic/universe amd64 libbson-1.0-0 amd64 1.9.2-1 [68.6 kB]
Get:6 http://nova.clouds.archive.ubuntu.com/ubuntu bionic/universe amd64 libhiredis0.13 amd64 0.13.3-2.2 [25.3 kB]
Get:7 http://nova.clouds.archive.ubuntu.com/ubuntu bionic/universe amd64 liblog4cpp5v5 amd64 1.1.1-3 [76.5 kB]
Get:8 http://nova.clouds.archive.ubuntu.com/ubuntu bionic/universe amd64 libluajit-5.1-common all 2.1.0~beta3+dfsg-5.1 [44.3 kB]
Get:9 http://nova.clouds.archive.ubuntu.com/ubuntu bionic/universe amd64 libluajit-5.1-2 amd64 2.1.0~beta3+dfsg-5.1 [227 kB]
Get:10 http://nova.clouds.archive.ubuntu.com/ubuntu bionic/main amd64 libsnappy1v5 amd64 1.1.7-1 [16.0 kB]
Get:11 http://nova.clouds.archive.ubuntu.com/ubuntu bionic/universe amd64 libmongoc-1.0-0 amd64 1.9.2+dfsg-1build1 [165 kB]
Get:12 http://nova.clouds.archive.ubuntu.com/ubuntu bionic/universe amd64 libndpi5 amd64 2.2-1 [127 kB]
Get:13 http://nova.clouds.archive.ubuntu.com/ubuntu bionic/universe amd64 fastnetmon amd64 1.1.3+dfsg-6build1 [267 kB]
Fetched 1,466 kB in 0s (13.3 MB/s)
Selecting previously unselected package libboost-program-options1.65.1:amd64.
(Reading database ... 68465 files and directories currently installed.)
Preparing to unpack .../00-libboost-program-options1.65.1_1.65.1+dfsg-0ubuntu5_amd64.deb ...
Unpacking libboost-program-options1.65.1:amd64 (1.65.1+dfsg-0ubuntu5) ...
Selecting previously unselected package libboost-regex1.65.1:amd64.
Preparing to unpack .../01-libboost-regex1.65.1_1.65.1+dfsg-0ubuntu5_amd64.deb ...
Unpacking libboost-regex1.65.1:amd64 (1.65.1+dfsg-0ubuntu5) ...
Selecting previously unselected package libboost-system1.65.1:amd64.
Preparing to unpack .../02-libboost-system1.65.1_1.65.1+dfsg-0ubuntu5_amd64.deb ...
Unpacking libboost-system1.65.1:amd64 (1.65.1+dfsg-0ubuntu5) ...
Selecting previously unselected package libboost-thread1.65.1:amd64.
Preparing to unpack .../03-libboost-thread1.65.1_1.65.1+dfsg-0ubuntu5_amd64.deb ...
Unpacking libboost-thread1.65.1:amd64 (1.65.1+dfsg-0ubuntu5) ...
Selecting previously unselected package libbson-1.0-0.
Preparing to unpack .../04-libbson-1.0-0_1.9.2-1_amd64.deb ...
Unpacking libbson-1.0-0 (1.9.2-1) ...
Selecting previously unselected package libhiredis0.13:amd64.
Preparing to unpack .../05-libhiredis0.13_0.13.3-2.2_amd64.deb ...
Unpacking libhiredis0.13:amd64 (0.13.3-2.2) ...
Selecting previously unselected package liblog4cpp5v5.
Preparing to unpack .../06-liblog4cpp5v5_1.1.1-3_amd64.deb ...
Unpacking liblog4cpp5v5 (1.1.1-3) ...
Selecting previously unselected package libluajit-5.1-common.
Preparing to unpack .../07-libluajit-5.1-common_2.1.0~beta3+dfsg-5.1_all.deb ...
Unpacking libluajit-5.1-common (2.1.0~beta3+dfsg-5.1) ...
Selecting previously unselected package libluajit-5.1-2:amd64.
Preparing to unpack .../08-libluajit-5.1-2_2.1.0~beta3+dfsg-5.1_amd64.deb ...
Unpacking libluajit-5.1-2:amd64 (2.1.0~beta3+dfsg-5.1) ...
Selecting previously unselected package libsnappy1v5:amd64.
Preparing to unpack .../09-libsnappy1v5_1.1.7-1_amd64.deb ...
Unpacking libsnappy1v5:amd64 (1.1.7-1) ...
Selecting previously unselected package libmongoc-1.0-0.
Preparing to unpack .../10-libmongoc-1.0-0_1.9.2+dfsg-1build1_amd64.deb ...
Unpacking libmongoc-1.0-0 (1.9.2+dfsg-1build1) ...
Selecting previously unselected package libndpi5:amd64.
Preparing to unpack .../11-libndpi5_2.2-1_amd64.deb ...
Unpacking libndpi5:amd64 (2.2-1) ...
Selecting previously unselected package fastnetmon.
Preparing to unpack .../12-fastnetmon_1.1.3+dfsg-6build1_amd64.deb ...
Unpacking fastnetmon (1.1.3+dfsg-6build1) ...
dpkg: warning: unable to delete old directory '/etc/init': Directory not empty
dpkg: warning: unable to delete old directory '/opt/fastnetmon/app': Directory not empty
dpkg: warning: unable to delete old directory '/opt/fastnetmon': Directory not empty
dpkg: warning: unable to delete old directory '/opt': Directory not empty
Setting up libhiredis0.13:amd64 (0.13.3-2.2) ...
Setting up libluajit-5.1-common (2.1.0~beta3+dfsg-5.1) ...
Processing triggers for ureadahead (0.100.0-20) ...
Setting up libbson-1.0-0 (1.9.2-1) ...
Setting up liblog4cpp5v5 (1.1.1-3) ...
Setting up libboost-system1.65.1:amd64 (1.65.1+dfsg-0ubuntu5) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Setting up libboost-thread1.65.1:amd64 (1.65.1+dfsg-0ubuntu5) ...
Setting up libsnappy1v5:amd64 (1.1.7-1) ...
Processing triggers for systemd (237-3ubuntu7) ...
Setting up libluajit-5.1-2:amd64 (2.1.0~beta3+dfsg-5.1) ...
Processing triggers for man-db (2.8.3-2) ...
Setting up libndpi5:amd64 (2.2-1) ...
Setting up libmongoc-1.0-0 (1.9.2+dfsg-1build1) ...
Setting up libboost-program-options1.65.1:amd64 (1.65.1+dfsg-0ubuntu5) ...
Setting up libboost-regex1.65.1:amd64 (1.65.1+dfsg-0ubuntu5) ...
Setting up fastnetmon (1.1.3+dfsg-6build1) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Processing triggers for ureadahead (0.100.0-20) ...
Processing triggers for systemd (237-3ubuntu7) ...
root@ubuntu1804:~# ps aux|grep fastnetmon
root      6724  0.0  0.8 553700  8940 ?        Sl   18:35   0:00 /usr/sbin/fastnetmon —daemonize
root      6879  0.0  0.1  13144  1116 pts/0    S+   18:35   0:00 grep —color=auto fastnetmon

 

Share this post


Link to post
Share on other sites

Добрый вечер!

 

Разумеется, обе (community / advanced) версии могут фиксировать такие атаки. 

Share this post


Link to post
Share on other sites

Павел, не могу понять, FNM анализирует mirroring трафик или netflow будет достаточно?

FNM может детектить с внешней ботнет сети (множество хостов) на мой диапазон ip адресов (множество хостов) тупой syn_flood?

Share this post


Link to post
Share on other sites

Насчет мирроринга и нетфлоу разобрался.

У вас на офф сайте сказано, что комьюнити версия работает с 1г миррорингом, а что будет, если комьюнити версию натравить на 10г интерфейс?

 

Можно немного подробнее про эти фишки:
 

Arbitrary attack detection    
Ability to block only malicious traffic

 

?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now