Tips
ubuntu系统配置相关Blog:
环境配置
ubuntu :Ubuntu Server 20.04 LTS 64bit x86架构
物理机:macOS Monterey. M1,2020
snort版本:snort3-3.1.31.0
更新系统软件源
1 | sudo apt-get update && sudo apt-get dist-upgrade -y |
更正时间
1 | sudo dpkg-reconfigure tzdata |
安装依赖包
1 | sudo apt-get install -y build-essential autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cpputest libsqlite3-dev libtool uuid-dev git autoconf bison flex libcmocka-dev libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool |
安装snort DAQ
在官网下载资源包
下载并安装最新版本的 Snort DAQ
(数据采集库)
snort 3.0 libdaq-v3.0.8.tar.gz
上传文件到ubuntu服务器
1 | scp /path/local_filename username@servername:/path |
安装文件上传,下载(Windows)
1 apt-get install lrzszssh远程时,上传用rz命令,敲rz回车选你要上传的文件
下载用“sz 文件路径”回车,选保存的位置
新建一个snort专用文件夹,将以后snort的内容都放在这个文件夹
1
2 mkdir snortSourceFile
mv libdaq-3.0.8 snortSourceFile
编译安装
1 | cd libdaq-3.0.8 |
报错:error: cannot find input file: `api/Makefile.in’
1 | aclocal |
1 | ./bootstrap |
编译成功
1 | sudo make & make install |
安装snort 3.0
本机下载snort后,上传到服务器
1 | scp /path/local_filename username@servername:/path |
将上传的文件解压,并移至snort文件夹
1 | tar -zxvf snort3-3.1.31.0.tar.gz |
依赖库安装
1 | sudo apt-get install libpcre3-dev |
设置路径
1 | vim ~/.bashrc |
写入
1 | export my_path=/usr/local 设置安装路径 |
1 | source ~/.bashrc |
编译
1 | cd snortSourceFile |
修复链接
1 | sudo ldconfig |
测试是否安装成功
1 | snort -V |
用默认配置文件测试snort
1 | snort -c /usr/local/etc/snort/snort.lua |
能够成功运行
创建用户环境
1 | sudo groupadd snort |
参数说明:
-r:创建一个系统账户
-s:用户登录后使用的shell名称(默认值不填写,这样系统会指定预设的登入shell,根据/etc/default/useradd预设值)【sbin/nologin 代表这个用户无法使用bash或其他shell来登陆系统,即使给了密码也不行,但是可以使用系统资源。只是不能登陆主机而已。】
-g:group名称【添加到snort组下】
-c:comment,注释说明栏
检查是否添加成功
检查是否添加组成功
1 | cat /etc/group |
检查snort组下面用户是否添加成功
1 | id snort |
创建snort目录
1 | sudo mkdir /etc/snort |
创建规则文件
1 | sudo touch /etc/snort/rules/iplists/black_list.rules |
创建日志目录
1 | sudo mkdir /var/log/snort |
加权限
1 | sudo chmod -R 775 /etc/snort |
775权限:
root有读、写、执行权限
组用户有读、写、执行权限
其他用户有读、执行权限
读取权限 r=4。写入权限 w=2。执行权限 x=1
第一个数字 :拥有者权限(root,文件所有者)
第二个数字 :组用户权限(与文件所有者属于同一个用户组)
第三个数字 :其他用户权限
修改文件所属用户及用户组
1 | sudo chown -R snort:snort /etc/snort |
将这些文件的所属修改为之前创建的snort组里面的snort用户
查看文件所属
ls -l <file>
第一列含义:
第一个字母含义:
第一个字母d:意味着内容是目录或文件
如果第一个是
-
:意味着它的内容是文件 第一个是l:意味着内容是链接文件
后面的内容是文件所属
(对应着三个数字权限775)
前三个字母是文件拥有者权限
中间三个是文件所有组权限
后三个是其他人访问文件的权限
第二列含义:多少链接指向这个文件
第三列含义:谁是这个文件/文件夹的所有者
第四列含义:谁是这个文件/文件夹所有组
第五列含义:这个文件/文件夹的以字节为单位的大小。目录的大小总是4096字节
第六列含义:文件最后修改时间
第七列含义:文件名或目录名
附录:snort 文件部署
已经设置的安装路径 export my_path=/usr/local
snort安装包所在路径、相关文档
1 | cd /home/ubuntu/snortSourceFile |
- doc:snort的一些说明文档所在文件夹
snort规则文件、配置文件
1 | cd /etc/snort |
snort日志文件
1 | cd /var/log/snort |
snort运行
1 | /usr/local/bin/snort |
/usr/sbin
创建守护进程【守护进程是在后台运行的进程,用于执行特定的系统任务。很多守护进程在系统引导的时候启动,并且一直运行到系统关闭。】
一个关于路径的小tips
安装路径是在
/usr/local/etc/snort
,里面存有默认的配置文件在
/etc/snort
这个文件内,有和/usr/local/etc/snort
相同的东西。用户在编写规则的时候,会在/etc/snort
里面添加rules文件夹,进行规则编写。所以我的理解,规则编写的逻辑是:
/etc/snort
是复刻了原本安装时默认的配置,在此基础上,进行用户的规则编写。不要在原路径上去修改原配置。不过也可能是我,不小心安装了两次,分别在不同的路径【手动狗头】
参考文章
snort给出的官方安装文档:snort3-3.1.31.0/README.md