专栏首页云计算教程系列如何使用ntopng监控您的网络
原创

如何使用ntopng监控您的网络

ntopng网络监控系统概述

ntop 是最好的网络监控工具之一。ntop是一个网络探测器,它以与top显示进程般类似的方式显示网络使用率。在交互模式中,它显示了用户终端上的网络状态。在网页模式中,它作为网络服务器,创建网络状态的HTML转储文件。它支持NetFlow/sFlowemitter/collector,这是一个基于HTTP的客户端界面,用于创建ntop为中心的监控应用,并使用RRD来持续存储通信数据。

在本教程中,您将在腾讯云CVM上配置和安装ntopng。本教程还将介绍Web管理界面的配置示例和建议。完成教程并部署网络监视器后,您将能够:

  • 监控和分析来自您的腾讯云CVM的流量,包括安全威胁。
  • 创建主机池以根据您自己的标准将连接的设备进行分组。
  • 使用用户界面,查看统计信息,以及进行个性化配置。

开始之前

您需要一台已经设置好可以使用sudo命令的非root账号的Ubuntu服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器

更新您的系统并安装ethtool

sudo apt update && sudo apt upgrade
sudo apt install ethtool

安装ntopng

  1. 打开http://packages.ntop.org/,然后选择要安装ntopng的操作系统。
  2. 按照说明下载.deb.rpm文件并将其安装到您的系统中。

为ntopng 添加系统用户

Ntopng 默认以用户nobody身份运行。对于需要最少访问系统的守护进程,这是一个不错的选择。但是,ntopng会在用户nobody可能无权访问的目录中安装文件。最简单的解决方案是为ntop创建一个新用户:

添加用户ntopng

    useradd -r -s /bin/false ntopng

设置用户ntopng和安装文件/目录的权限,如下所示:

mkdir /var/tmp/ntopng
chown -R ntopng:ntopng /usr/share/ntopng /var/tmp/ntopng
chmod 1770 -R /var/tmp/ntopng
find /usr/share/ntopng -type d -print0 | xargs -0 chmod 744
find /usr/share/ntopng -type f -print0 | xargs -0 chmod 755

禁用TCP分段卸载

替换eth0为主连接接口:

ethtool -K eth0 gro off gso off tso off

验证是否已禁用TCP分段:

ethtool -k eth0 | grep segmentation

tcp-segmentation-offload部分的每一行都应设置为off,如下所示:

tcp-segmentation-offload: off
tx-tcp-segmentation: off
tx-tcp-ecn-segmentation: off
tx-tcp-mangleid-segmentation: off
tx-tcp6-segmentation: off

配置ntopng

配置选项可以在文件中定义,也可以从命令行设置。如果在命令行和文件中指定选项,ntopng将优先处理配置文件中的设置。

使用以下示例为ntopng创建配置文件。替换192.0.2.0为您CVM的公共IP地址。如果需要,请更换eth0主网络接口。从终端运行man ntopng,查看所有可用的配置参数。

1   --user=ntopng
2   --interface=eth0
3   -w=192.0.2.0:3005
4   --community
5   --daemon
6   --dump-flows=logstash # optional
7   --disable-autologout # optional
8   --disable-login=1 # optional

注意注释的选项标志# optional不是必需的。所有需要输入的标志必须后跟一个=和一个值。

配置文件细分

标志

特征

-user

指定用户ntopng将在其下运行。将此标志保留在配置文件之外将默认为nobody。

-interface

ntopng将监控的网络接口。

-w

用于连接管理界面的HTTP地址和端口。端口3005是默认端口,您可以定义任何端口。

-community

许可证ntopng将在下运行。

-daemon

ntopng可以用作转发服务或后台守护程序。

-dump-flows

记录的流量可以与其他服务共享。

-disable-autologout

强制ntopng允许用户保持登录Web界面而不会停用。

-disable-login

1表示禁用密码验证,0表示需要验证。

防火墙规则适用于ntopng 永久链接

Ntopng需要3005端口和3006端口,您需要在防火墙中打开。

UFW

ufw allow 3005:3006/tcp

iptables

iptables -A INPUT -p tcp --match multiport --dports 3005:3006 -j ACCEPT

访问ntopng的Web界面

开启ntopng:

ntopng /etc/ntopng/ntopng.conf

导航到192.0.2.0:3005,替换192.0.2.0为您的域或IP。如果您启用了自动登录,则会将您引导到“欢迎”页面。如果您没有启用自动登录,在弹出的窗口输入username:adminpassword:admin。然后会提示您设置新密码。

创建主机池

如果要通过同一网络对设备进行分组或托管主媒体服务器,则可以使用主机池。此示例使用OpenV**将连接的设备组合在一起(您不需要运行OpenV**)。

  1. Interfaces下拉菜单中,选择主连接接口eth0。在ntop徽标正下方的菜单中,选择类似于3人组的图标。选择“ 管理池”
  2. 单击屏幕最右侧的图标+。为您的池提供一个描述性名称并保存。

  1. 单击“ 未分配的设备”选项卡。这是当前通过CVM传输数据的设备列表(您至少应该看到此处列出的设备)。确定要添加到池中的设备并添加它们。完成后单击“ 保存设置”
  2. 要查看主机池中的数据,您需要将鼠标悬停在“ 主机”下拉列表上,然后选择“ 主机池”。您将在此页面上找到您创建的池名称。点击它。在这里,您将看到池中每个主机的所有当前打开的连接:

注意如果要在单个页面上查看所有主机连接,请在表格上方的过滤选项旁边设置每页显示的行数。

启用警报和域阻止

Ntopng提供了一种简单方便的方法来监控威胁。

警告Ntopng不会取代核心安全功能,例如正确配置的防火墙。。

  1. 在Web界面顶部附近,滚动“设置”并选择“首选项”。单击左侧菜单中的“ 警报 ”。单击“ 启用警报”,然后选择要启用的警报。
  2. 使用顶部菜单栏中的感叹号警告图标。单击“ 警报”。此处记录并显示所有网络警报。由于互联网流量和机器人探测的作用,此页面很快就会网络警报填满。如果您锁定了计算机上除连接所需端口之外的所有端口,ntopng将记录绕过这些端口的所有尝试。 此外,ntopng每晚还会收到由spamhaus.orgdshield.org提供的黑名单主机文件的更新。这些列入黑名单的主机之间的连接将被ntopng完全阻止。虽然这不应被视为完整的安全解决方案,但这是抵御恶意软件和垃圾邮件感染的良好开端。

下一步

现在您已经了解了如何使用ntopng以及对其功能的一些了解,您可能希望进一步探索适合您特定情况的配置。您可以在ntop网站的ntopng产品页面上找到详细信息。使用ntopng是一个不错的选择,但是对于生产环境的服务器,我还是建议您接入比较成熟的安全防护软件,比如腾讯云云镜服务。云镜基于腾讯安全积累的海量威胁数据,利用机器学习为用户提供黑客入侵检测和漏洞风险预警等安全防护服务,主要包括密码破解拦截、异常登录提醒、木马文件查杀、高危漏洞检测等安全功能,解决当前服务器面临的主要网络安全风险,帮助企业构建服务器安全防护体系,防止数据泄露。 更多Linux教程请前往腾讯云+社区学习更多知识。


参考文献:《Diagnostics and Testing》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何在Ubuntu 14.04上安装,配置和部署Rocket.Chat

    Rocket.Chat是一个使用Meteor构建的开源消息应用程序。它支持视频会议,文件共享,语音消息,具有功能齐全的API等。Rocket.Chat非常适合那...

    灬半痴
  • 如何使用LVM快照将MySQL数据库备份到腾讯云COS

    定期数据库备份是防止意外数据丢失事件的关键步骤。设计有效的备份和恢复策略通常需要通过恢复速度,数据完整性和备份覆盖来权衡性能影响,实施成本和数据存储成本。最佳解...

    灬半痴
  • 如何在Ubuntu 14.04上安装和配置PostGIS

    PostGIS是PostgreSQL关系数据库的空间扩展。PostGIS允许您使用几何和地理数据类型存储空间数据,使用空间函数执行空间查询以确定区域,距离,长度...

    灬半痴
  • 页面提高性能利器_懒加载

    用户5521279
  • 设计科学研究过程:生产和展示信息系统研究的模型(CS SE)

    作者设计并演示了在信息系统中进行设计科学(DS)研究的过程,并在两个案例研究中演示了使用该过程进行研究的过程。几位IS研究人员开创了DS研究在IS中接受的先河,...

    刘子蔚
  • 11 并行计算

    但可以读出,fetch只能读第一个数据,但不会把该数据从Channel中删除,但take!会读出后删除。

    猫叔Rex
  • ​【Python】单下划线与双下划线的区别

    1、在交互式解释器中,单下划线“_”代表的是上一条执行语句的结果。如果单下划线前面没有语句执行,交互式解释器将会报单下划线没有定义的错误。也可以对单下划线进行赋...

    小麦苗DBA宝典
  • Python实现的北京积分落户数据分析示例

    本文实例讲述了Python实现的北京积分落户数据分析。分享给大家供大家参考,具体如下:

    砸漏
  • 用python分析了5000部票房,发现赚钱的电影都有这些特征~

    一般电影公司制作一部新电影推向市场时,要想获得成功,通常要了解电影市场趋势,观众喜好的电影类型,电影的发行情况,改编电影和原创电影的收益情况,以及观众喜欢什么样...

    叫我龙总
  • 关于Android Studio封装SDK的那些事儿

    首先SDK是提供给别人调用的工具。所以常见的SDK都是以jar包,so库,aar包等方式导入APP项目中。然后提供一些公开的API供接入方调用。所以在Andro...

    砸漏

扫码关注云+社区

领取腾讯云代金券