来源:https://github.com/EmersonElectricCo/fsf/blob/master/docs/INSTALL.md
一、安装指南
下面的步骤说明是在Ubuntu服务器14.04.3和CentOS 7上测试的。
二、需要包
安装以下所需的软件包。完成此步骤后,对于任何平台,其余的安装都是相同的。
1、Ubuntu
sudo apt-get install autoconf dh-autoreconf python-dev libpython2.7-stdlib python-pip libffi-dev ssdeep upx unrar libfuzzy-dev unzip wget vim libssl-dev net-tools cabextract
2、CentOS
sudo yum install autoconf python-devel automake wget vim libtool openssl openssl-devel net-tools
开启EPEL repo
sudo yum install epel-release
开启 RPMForge repo
wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
rpm -Uvh rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
获取剩下的包
sudo yum install python-argparse python-pip ssdeep-devel libffi-devel unrar upx unzip cabextract
3、安装Yara
确保你得到最新和最伟大的版本的Yara…
wget https://github.com/plusvic/yara/archive/v3.4.0.tar.gz
tar -xvzf v3.4.0.tar.gz
cd yara-3.4.0/
./bootstrap.sh
./configure
make
sudo make install
Python Yara模块安装。
cd yara-python/
python setup.py build
sudo python setup.py install
确保可以找到这些新库。
sudo vim /etc/ld.so.conf.d/yara.conf
添加行/usr/local/lib
重新加载必要的库。
sudo ldconfig
4、安装JQ
最新的JQ软件包,设置正确的perms并将其移动到已知路径:
wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 -O jq
chmod 755 jq
sudo mv jq /usr/local/bin/
5、Python模块
使用pip安装以下Python模块。
sudo easy_install -U setuptools
sudo pip install czipfile pefile hachoir-parser hachoir-core hachoir-regex hachoir-metadata hachoir-subfile ConcurrentLogHandler pypdf2 xmltodict rarfile ssdeep pylzma oletools pyasn1_modules pyasn1 pyelftools javatools requests
注意:确保pefile至少是pefile-1.2.10-139版本。在一些发行版上安装了后一个版本,这意味着您需要从源代码构建。要做到这一点,只需遵循下面的说明…
wget https://github.com/erocarrera/pefile/files/192316/pefile-2016.3.28.tar.gz
tar -xvzf pefile-2016.3.28.tar.gz
cd pefile-2016.3.28
python setup.py build
sudo python setup.py install
为 python2安装macholibre .
git clone https://github.com/aaronst/macholibre.git
git checkout python2
cd macholibre
python setup.py build
python setup.py install
6、安装FSF
检索master的最新版本。
cd ~
wget https://github.com/EmersonElectricCo/fsf/archive/master.zip
unzip master.zip
vim fsf-master/fsf-server/conf/config.py
将YARA_PATH指向指向rules.yara的完整路径,在我们的例子中是/home/_username_/fsf-master/fsf-server/yara/rules.yara。
启动守护进程。
cd fsf-master/fsf-server
./main.py start
检查netstat -na | grep 5800如何在本地托管它,默认情况下它是127.0.0.1,但有时需要更改,如下所示:)
netstat -na | grep 5800
tcp 0 0 127.0.1.1:5800 0.0.0.0:* LISTEN
如果需要,在客户端配置中更改IP_ADDRESS。
vim ../fsf-client/conf/config.py
最后,测试一下!
cd ../fsf-client/
./fsf_client.py ~/fsf-master/docs/Test.zip
得到所有子对象!
./fsf_client.py ~/fsf-master/docs/Test.zip --full
如果使用--full,应该会得到一堆漂亮的JSON和一堆子对象。
问题?Check out /tmp/daemon.log和or /tmp/db .log。
成功?太棒了!如果您有任何想法或希望贡献模块或Yara签名,请分享!
6、额外的东西
大规模扫描的用户可能希望在部署中考虑某种程度的日志循环。下面是一个使用logrotate的简单示例。
创建以下文件/etc/logrotate-d/scanner, put具有以下配置选项…
compress
copytruncate
/YOUR/LOG/PATH/*.log {
weekly
create 0664 YOUR_USER YOUR_GROUP
rotate 5
}
上面的代码将每周压缩目录中的日志文件。它将为您提供的用户和组分配权限,日志将在五周后轮流关闭。copytruncate选项对于确保像daemon.log这样的日志在循环之后继续记录数据非常重要。