0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

树莓派专用网络服务入门

454398 来源:网络整理 作者:网络整理 2019-12-09 16:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:保留您的Pi已更新!

sudo rpi-update

该命令将自动更新Raspberry Pi的固件,然后要求重新启动。如果您的Pi已经是最新的,则可以继续:

sudo apt-get update

sudo apt-get upgrade

现在,您已经拥有最新,最强大的固件和软件!

步骤2:Pi密码

理想情况下,我们将禁用默认的 pi 帐户,至少要设置您的pi帐户的默认密码。另一个主要的安全保护措施是,大多数用户都启用了SSH(安全套接字共享)和VNC(虚拟网络计算机),以便他们可以远程访问其计算机。我不建议在运行公开的Web服务器时允许网络之外的访问。

步骤3:上网

您有多个设备连接到WiFi路由器,那么如何告诉外界Raspberry Pi的服务位置呢?让我们在路由器制造商的配置工具中熟悉路由器的高级设置。大多数家庭网络使用以下公共IP地址之一作为其Internet网关:

http://192.168.0.1/

http://192.168.1.1/

http://10.0.0.1/

您将需要登录到路由器的配置工具。用户名和密码应在设置时分配。首先,我们需要为Raspberry Pi保留一个IP地址,以便定期使用。通常,路由器将具有DHCP(动态主机配置协议)设置部分,列表和绑定等。RaspberryPi和LAN上的所有其他设备应在此处列出。希望您的路由器将具有一个直观的界面,该界面对于如何将IP地址分配给设备或MAC地址很有用。如果其他所有方法均失败,请查阅制造商的说明。

Web请求的默认端口为80。除非Internet服务提供商不允许端口80,否则您可以保留默认端口。路由器配置的下一步为使路由器将端口80上的所有传入请求转发到Raspberry Pi。通常称为端口转发或端口范围转发。您将需要关联Raspberry Pi的IP地址,以便它将在端口80或您认为最合适的任何端口上接收所有传入请求。最安全的Web服务器是未连接到Internet的服务器;-)其次,我们应该限制apache conf文件中的访问,以仅允许我们的IP和我们已知的IP。您还可以允许Telnet,FTP,SSH,VNC等,但除非您熟悉与此类服务相关的安全隐患,否则我不建议您这样做。

步骤4:为自己获取域名

http://www.YOUR_CUSTOM_DOMAIN.ddns.net

在路由器的高级配置设置中检查DDNS(动态域名服务)设置。大多数路由器将支持以下一项或多项:http://www.dyn.com、http://www.noip.com,其他许多路由器也会在Google上搜索“动态DNS”。该服务将提供注册域名以与您的Internet服务提供商分配给您的动态IP地址关联的功能。通常,当您分配的IP地址更改时,下载或安装的路由器或软件插件会更新动态DNS服务的数据库。

步骤5:通过隐蔽性进行安全性

“在安全工程中,通过隐蔽性进行安全性(或通过隐蔽性进行安全性)是对设计或实现的保密性的依赖,这是为系统或系统组件提供安全性的主要方法。依赖模糊性的系统或组件可能具有理论或实际的安全漏洞,但是其所有者或设计者认为,如果不知道这些缺陷,则足以阻止成功的攻击。安全专家早在1851年就拒绝了这种观点,并建议模糊性永远不应是唯一的安全机制。”

https://en.wikipedia.org/wiki/Security_through_obs.。.

我们经常依靠某种模糊性来确保我们的安全。 “如果他们不知道,他们将无法使用它进入。”普通的家用门锁只有这么多组合,但是我们可以依靠前门的锁,因为我们知道小偷会拥有尝试各种组合或打破常规。但是,在Internet上,谁在监视您的前门,所以小偷无法尝试所有组合?幸运的是,我们的Web服务器具有一个access.log文件,该文件将自动为我们更新和存档。让我们从那里开始,看看是否有人在您的Web服务器上留下了自己的“足迹”。

步骤6:日志潜水

在Raspberry Pi上运行LAMP设置,打开一个终端窗口,然后键入以下内容:

cd /var/log/apache2/

zcat access.log* | awk ‘{print $1}’ | sort -n | uniq -c | sort -nr | head -20

输出应该是两列的列表,其中一列包含计数的条目数,第二列是与每个Web请求关联的IP地址。从反向IP查找中获取最多信息的最简单方法是使用以下命令:

curl ipinfo.io/REPLACE.WITH.IP.ADDRESS.TO.LOOKUP

安装某些工具后,您可以进行一些挖掘,而不必依靠外部Web服务。 Pi默认不包含的内容:

sudo apt-get install geoip-bin

geoiplookup IP.ADDRESS

此处是有关使用geoiplookup的很好的文章。 Pi默认不包括更高级的挖掘:

sudo apt-get install dnsutils

dig -x IP.ADDRESS

该位置似乎可疑吗?尝试对活动进行grepping, zgrep 命令包含压缩文件:

zgrep ‘IP.ADDRESS’ access.log* -1

通过查看从IP地址发出的Web请求,您可以确定活动是否可疑。通常,您会发现这些IP地址来自寻找安全性漏洞的漫游器。您可以手动将IP地址屏蔽到您的黑名单中,也可以全部拒绝并允许选择IP地址。如果尚未安装,则需要安装和设置防火墙。

步骤7:Apache Web服务器

请注意:本文中的代码部分在不同设备上的显示方式有所不同。在移动设备上使用Instructables应用程序时,代码缺少行尾。大多数Web浏览器似乎都可以正常工作。

如果您要在全球范围内提供Web内容,那么您最终将希望采用某种黑名单或排除列表,在其中可以阻止访问特定IP地址您的服务器。但是,如果您想加强安全性并只允许选择一些访问权限,则需要进行一些更改。

cd /etc/apache2

sudo cp apache2.conf apache2.conf.bak sudo vi apache2.conf

OR

sudo nano apache2.conf

向下浏览文件,直到到达允许所有人从外部访问您的Web服务器的本节:

Options Indexes FollowSymLinks

AllowOverride None

Require all granted

AllowOverride 指令设置为 无 ,这意味着我们不会使用.htaccess文件覆盖这些设置。下一个指令 Require 设置为所有已授予,表示允许任何人访问。

请注意:我在日志文件中发现了大量的bot请求,使用phpmyadmin监听了我们的请求,请确保限制访问权限:

Order Deny, Allow

Deny from All

# localhost

Allow from 127.0.0.1

# Local-Area Network

Allow from 192.168.0

接下来,我们可以添加一个我们要保护的目录:

Options Indexes FollowSymLinks

AllowOverride All

AllowOverride 指令设置为 全部 表示我们将使用.htaccess文件覆盖这些设置。我们将在.htaccess文件中的指定目录(本例中为“/var/www/html/hydroMazing/”

)中提供 Require 指令。 # AccessFileName: The name of the file to look for in each directory

# for additional configuration directives. See also the AllowOverride

# directive.

AccessFileName .htaccess

您可以在此处将.htaccess文件的名称更改为更难以猜测的名称。将点保留在开头,因为这意味着隐藏文件。发挥您的想象力!

现在,您可以将.htaccess文件用作白名单或包含列表:

要创建.htaccess(或任何您命名的文件)文件:

cd /var/www/html/mydirectory/ sudo vi .htaccess

OR

sudo nano .htaccess # Allow access to localhost

Require ip 127.0.0.1

# Allow access to my cell phone

Require ip 98.97.34.23

第二个示例是一个示例,请将其更改为您的IP地址,或者Web服务器记录的IP地址。

保存并关闭文件。您可以根据需要添加其他访问权限。

步骤8:让每个人都使用前门

首先,让我们强迫任何来访的人我们的Web服务器使用前门

cd /etc/apache2

sudo cp apache2.conf apache2.conf.bak sudo vi apache2.conf

OR

sudo nano apache2.conf

向下浏览文件,直到到达此部分为止添加针对404和405错误的重定向:

。..

# AccessFileName: The name of the file to look for in each directory

# for additional configuration directives. See also the AllowOverride

# directive.

AccessFileName .htaccess

ErrorDocument 404 /

ErrorDocument 405 /

。..

保存并关闭文件。

设置访问权限列表

cd /var/www/html/ sudo vi .htaccess

# localhost

Require ip 127.0.0.1

保存并关闭文件。

重复您的管理目录

cd /var/www/html/admin/ sudo vi .htaccess

# localhost

Require ip 127.0.0.1

保存并关闭文件。

第9步:允许访问的Web界面

我要与大家分享我为HydroMazing Smart Garden System制作的简单Web界面。

我使用PHP编写了基本界面,用于读取和写入文件,从而使用户可以添加或删除IP地址。从他们的.htaccess文件中下载。

下载文件并解压缩到您的下载目录,然后将其复制到Web服务器的基本目录中部门:

sudo cp -R /home/pi/downloads/*.php /var/www/html/

更改权限:

sudo chmod -R www-data:www-data /var/www/html/* sudo chown -R 755 /var/www/html/*.php

等等!没那么快!

我们应该通过SSL连接保护用户名和密码。

https://hallard.me/enable-ssl-for-apache-server-in- 5分钟/

第10步:筑墙

安装开源防火墙构建器

Pop从Raspberry Pi的桌面打开一个终端,然后键入以下内容:

sudo apt-get install fwbuilder

安装完成后,您将拥有一个新的防火墙构建器GUI的桌面上“菜单/Internet”选项下的“选项”。

添加新防火墙,并将其命名为与服务器相同的名称。

选择“ Web服务器”模板加载默认规则。请注意,默认规则限制您的服务器访问外部Internet。为了允许访问,您需要添加一条规则。添加规则的最简单方法是复制与您的需求相似的现有规则。

步骤11:编译并安装

我们可以通过此接口构建防火墙,但由于没有足够的权限写入文件系统,因此无法安装防火墙。假设您为服务器命名的名称与DDNS名称相同,请在终端窗口的命令行中输入以下内容:

sudo mkdir /etc/fw sudo touch /etc/fw/servername.ddns.net.fw sudo chmod 777 /etc/fw/servername.ddns.net.fw

现在,您应该能够使用防火墙生成器程序来编译和安装防火墙。您可以重新启动apache Web服务器,也可以直接重新启动。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 路由器
    +关注

    关注

    22

    文章

    3931

    浏览量

    120114
  • 树莓派
    +关注

    关注

    122

    文章

    2081

    浏览量

    110749
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于树莓(RaspberryPi)构建高效实时监控系统

    由于树莓体积小、可开发性强等特性,常被用于视频监控场景中,结合 ZeroNews,可实现用户在任意位置都能实时安全得访问视频监控系统。 先决条件:树莓正常连接
    的头像 发表于 09-22 15:14 1590次阅读
    基于<b class='flag-5'>树莓</b><b class='flag-5'>派</b>(RaspberryPi)构建高效实时监控系统

    如何使用树莓与OpenCV实现面部和运动追踪的云台系统?

    大家好,这是一个树莓和OpenCV的连载专题。使用树莓与OpenCV实现姿态估计和面部特征点追踪使用树莓
    的头像 发表于 08-14 17:45 2308次阅读
    如何使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>与OpenCV实现面部和运动追踪的云台系统?

    如何搭建高效的树莓NAS?完整安装与配置指南!

    树莓网络附属存储网络附属存储(NAS)是一种专用设备或系统,它为网络内的数据存储和管理提供了一
    的头像 发表于 08-13 17:45 2161次阅读
    如何搭建高效的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>NAS?完整安装与配置指南!

    零成本建站!使用树莓在家搭建网站:分步指南!

    解释。要在树莓派上搭建网站,你必须安装一个网络服务器来提供页面服务。同时,树莓必须接入互联网,以便访客能够找到你的网站。本文并非技术深度剖
    的头像 发表于 07-29 17:27 951次阅读
    零成本建站!使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>在家搭建网站:分步指南!

    如何在树莓 AI HAT+上进行YOLO姿态估计?

    大家好,接下来会为大家开一个树莓5和YOLO的连载专题。内容包括四个部分:在树莓5上使用YOLO进行物体和动物识别-入门指南在
    的头像 发表于 07-20 20:34 1168次阅读
    如何在<b class='flag-5'>树莓</b><b class='flag-5'>派</b> AI HAT+上进行YOLO姿态估计?

    树莓5上使用YOLO进行物体和动物识别-入门指南

    大家好,接下来会为大家开一个树莓5和YOLO的专题。内容包括四个部分:在树莓5上使用YOLO进行物体和动物识别-入门指南在
    的头像 发表于 07-17 17:16 2284次阅读
    在<b class='flag-5'>树莓</b><b class='flag-5'>派</b>5上使用YOLO进行物体和动物识别-<b class='flag-5'>入门</b>指南

    教你如何手搓一个树莓网络服务器!

    使用树莓的定义和好处网络服务器是指利用HTTP及其他协议进行数据传输,处理通过万维网提交的客户端请求的软硬件组合。网络服务器的主要功能是存储、处理并向客户端(通常是网页浏览器)传送网
    的头像 发表于 07-12 08:23 754次阅读
    教你如何手搓一个<b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>网络服务</b>器!

    20个任何人都能完成的树莓酷炫项目!

    不知道如何利用你买的树莓?这个小设备真的能当台式电脑用吗?能当服务器吗?能当广播电台吗?当然可以!为了帮助你入门,我们精心挑选了这份树莓
    的头像 发表于 07-03 17:10 4699次阅读
    20个任何人都能完成的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>酷炫项目!

    树莓小技巧:无需键盘或显示器,如何通过WiFi设置树莓

    树莓是一款小巧便携的USB供电计算机,可以隐藏起来用于小型项目,如网络服务器或家庭自动化。通常,设置树莓需要键盘和显示器来编辑和查看
    的头像 发表于 06-26 15:41 1818次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>小技巧:无需键盘或显示器,如何通过WiFi设置<b class='flag-5'>树莓</b><b class='flag-5'>派</b>?

    树莓分类器:用树莓识别不同型号的树莓

    在本教程系列的第一部分中,您将学习如何使用树莓AI摄像头来检测不同的树莓型号。本系列由DavidPlowman创建,他是树莓
    的头像 发表于 06-13 16:39 1510次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>分类器:用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>识别不同型号的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>!

    树莓“定居”完全指南:一键设置静态IP,稳定又高效!

    始终能知晓树莓的IP地址。这使得访问在树莓派上运行的服务(如网络服务器、SSH或VNC)更加容易,因为地址不会改变。
    的头像 发表于 05-25 08:32 1737次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>“定居”完全指南:一键设置静态IP,稳定又高效!

    树莓“吉尼斯世界记录”:将树莓的性能发挥到极致的项目!

    树莓是一款功能强大、体积小巧且高度可定制的设备,多年来,我们见证了它被应用于众多领域。无论是将其装入3D打印的经典游戏机外壳,还是简单地将它隐藏起来作为家庭文件服务器,我们都报道过在社区里用
    的头像 发表于 05-22 16:53 1702次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>“吉尼斯世界记录”:将<b class='flag-5'>树莓</b><b class='flag-5'>派</b>的性能发挥到极致的项目!

    树莓 VPN 服务器搭建指南(2025版):守护您的在线隐私!

    VPN服务器(虚拟专用网络服务器)是一种系统,允许设备通过互联网安全地连接到私有网络。它在客户端(如您的笔记本电脑或手机)与服务器之间创建一个加密隧道,保护您的数据免受窃听,并确保隐私
    的头像 发表于 05-16 15:31 4745次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b> VPN <b class='flag-5'>服务</b>器搭建指南(2025版):守护您的在线隐私!

    搭建树莓网络监控系统:顶级工具与技术终极指南!

    树莓网络监控系统是一种经济高效且功能多样的解决方案,可用于监控网络性能、流量及整体运行状况。借助树莓
    的头像 发表于 05-14 15:32 1523次阅读
    搭建<b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>网络</b>监控系统:顶级工具与技术终极指南!

    树莓 Zero 打造的智能漫游车!

    使用PXFMini和树莓Zero打造您自己的自主漫游车。本项目所用组件硬件组件ErleRoboticsPXFmini×1树莓Zero×1树莓
    的头像 发表于 05-13 16:39 1276次阅读
    用 <b class='flag-5'>树莓</b><b class='flag-5'>派</b> Zero 打造的智能漫游车!