AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-507188

Hannes's questions

Martin Hope
Hannes
Asked: 2022-08-14 15:10:20 +0800 CST

使用访问者的 IP 地址显示错误页面的简单安全方法?用蟒蛇?

  • 0

Fail2ban 用于通过reject命令阻止某些模式的用户。有时,特别是当用户在一个有很多用户的 NAT 后面时,他们会无意中被阻止。用户然后写一封电子邮件,然后我要求他的 IP 地址解除阻止(通常电子邮件被转发给我,所以我没有带有他的 IP 地址的邮件标题)。

为了使这一步更容易,我想将他重定向到一个特殊的动态网页,该网页显示其 IP 地址和联系电子邮件。这里有一个例子:

在此处输入图像描述

我想要一个类似的网页。一个简单的解决方案是 php,但这需要安装 php 和一些网络服务器配置。所以最简单的解决方案是一个小型网络服务器,它只提供一个小文本和一个 IP 地址。

我考虑过使用 python,因为已经安装了 Python。我发现这篇文章https://www.anycodings.com/1questions/2464569/how-do-i-get-the-client-ip-address-on-a-python-server但打印了 IP 地址仅在标准输出上并提供文件。

据我所知,要像使用 php 一样简单地使用 python,它需要 Flask 或 Django。然而,对于这个简单的用例来说,这些都是很大的框架,而且尺寸很大。它们也可能意味着一些安全问题。此信息页面也应通过设计确保安全,因此与reject方法相比不会产生任何可能的安全问题。我知道 DOS 更有可能是因为传输的数据比 using 多reject,但是这个页面的大小非常小,所以这没关系。

那么这个任务的简单解决方案是什么?Python?如果是这样,您能否提示我可以搜索一些关键字来完成此任务?还有其他解决方案吗?也许这些比 python 的想法更合适。

php
  • 0 个回答
  • 52 Views
Martin Hope
Hannes
Asked: 2021-07-01 07:38:15 +0800 CST

使用 stunnel 作为带有 STARTTLS 的 SMTP 的 SSL 版本之间的代理

  • 1

我有一个不支持 TLS 1.2 的旧软件。但是 SMTP 服务器只支持 TLS 1.2。

现在我想使用 stunnel 连接到 SMTP 服务器并监听 smtp 访问。我已经有此服务器的有效证书。在配置不同的 TLS 版本之前,我只想测试这个“stunnel 代理”是否正常工作。我使用 Thunderbird 连接到 :587 在 [TLS_proxy_connector] 和 [TLS_proxy_listener] 我有protocol = smtp. 我试图在一个或两个部分中将它们注释掉。但是我立即收到错误或某种超时,Thunderbird 无法发送电子邮件。

这是stunnel配置:

setuid = stunnel4
setgid = stunnel4

foreground = yes
;don't write pid
pid =


[TLS_proxy_connector]
client = yes
accept = 127.0.0.1:53681
protocol = smtp
connect = <mailserver>:587
verify = 2
CApath = /etc/ssl/certs/
checkHost = <mailserver>
;OCSPaia = yes

[TLS_proxy_listener]
accept = 587
protocol = smtp
key = /etc/ssl/private/key.pem
cert = /etc/ssl/certs/cert_.pem
CAfile = /etc/ssl/certs/chain_.pem
connect = 53681

我究竟做错了什么?还有其他更适合这里的工具吗?我知道我可以设置一个自己的邮件服务器,它接受 TLS 1.0 和 1.1 并用作智能主机,但这太过分了,因为我必须关心安全性。当前检查安全性,因为您只能使用有效凭据发送。谢谢你的帮助。

更新:当两个条目都有protocol = smtp. 当对 TLS 版本进行进一步测试时,我将添加更多信息。

proxy smtp ssl ssmtp starttls
  • 1 个回答
  • 1079 Views
Martin Hope
Hannes
Asked: 2021-03-13 01:40:26 +0800 CST

加密 SSH 私钥的密码安全性:如何读取 bcrypt 的整数或成本因子

  • 2

在这里https://security.stackexchange.com/a/52564您可以阅读到较新的 OpenSSH 版本使用 bcrypt 来保护密钥文件。bcrypt 的安全性取决于成本因素,请参阅https://security.stackexchange.com/questions/139721/estimate-the-time-to-crack-passwords-using-bcrypt/201965#201965

根据https://crypto.stackexchange.com/questions/58536/how-does-openssh-use-bcrypt-to-set-ivs/58543#58543,默认的 bcrypt 轮数为 16。这将是一个很好的安全性. 但是如何获得回合数/成本因素?

到目前为止我所做的:密钥看起来像(为了让它更短,这里只有一个弱的 1024 位密钥)

-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABBLF8sO2Q
hcLXI43z96e1hiAAAAEAAAAAEAAACXAAAAB3NzaC1yc2EAAAADAQABAAAAgQC0gBWeZpej
9ILT/59bEb0/lSvXx0WfZqP2lXRDbuY+gluuWyT+REQcVTR2BxSx9F/P20mLTnupzY+XE3
xEu+SIJlwKIAH3fed62+QBzDrPsl9kyfoIGIvi/28ZftqVN/kg0GSOaAqu4Px+vNVX1VKn
PNV5VVCZWL4ZPlGQZ48UJwAAAhCwDkueKT9oq8E0qtD92/4DSAD2eTI7bd6jBGUxugEw85
6xWbRYnFQZdwO2ZCNV0aTHViD1FRKlC9cBHDoSORKcM/9dY9Msy6lZj7Tp5s8r7x2pOrJi
TVRbv5/cI732I+l/vYvssJEhZpeSw4JKh9tyPpifVmzBxqtqwkBrTuLCMqkwLmrcxReFUq
aA/RIZy3L616CJsAvx2ezEc49D6SbJ9i9OlKuv73a1baS4RpMvFzWGLE2NBvvtQpEnJFoL
Kyjz+two4doT6SZ7UtiVGyCtO5WQEoeAgjhkbZzOPtM2AvoV+hNLRIX2/52jOB5A1bNQ0v
qW64aj2YNe8vWfj5xtA/8BlyEG7gwhu+0HgbgMDxw7o/0qVkHM/Hv3YgBTRygsH+8h4wsR
kxA292NOKKaD18tv1j3atR80q0XQVcQH20uX8tSqXtKfDtkUc/EPbFCNp3xQJG/F81USKh
YAmjxEeDkZZ/LkEOEJKvFRCL3gFlH4rqF5/pRk6HmB99xceD4irbazm+BWfPAf5Q0zdB5L
/yei3sqA4G48yRXIkaELtYNEeTYHMp3PGz1b3CP3l+ZGZp6XNaM+sMfdICbI3Zae5bnxKg
VXEE2UMdi7DEXbqEzSlfcIf5QzXHMQJm0ZL+iLoaEmakamAxCKk6jJ+QzHzGADZEIRXrj3
5Nhhd0jsToEMsXmmawt2qxy0cIHET1M=
-----END OPENSSH PRIVATE KEY-----

密码是test

然后让我们解码base64。因此必须删除以'-----'开头的第一行和最后一行

cat key | tail -n +2 | head -n -1 | base64 -d > text.txt

现在打开 text.txt 例如在记事本++ 这显示 在此处输入图像描述

但现在我不知道如何从那里读取roundcount。你能帮忙吗?

security password ssh-keys
  • 2 个回答
  • 287 Views
Martin Hope
Hannes
Asked: 2021-02-23 01:19:45 +0800 CST

Samba 和 luks 一起加密磁盘:尽管 CPU 资源充足,但性能损失巨大,单独 LUKS 和 samba 可以按预期工作

  • 1

设置:使用 luks aes-xts 512 位(256 位 AES 密钥)加密的 SSD,ext4 文件系统

dd 写入性能138 MB/s,CPU 使用率 97-100 %

dd if=/dev/zero of=testfile status=progress bs=32M count=128
4294967296 bytes (4,3 GB, 4,0 GiB) copied, 31 s, 138 MB/s
128+0 Datensätze ein
128+0 Datensätze aus
4294967296 bytes (4,3 GB, 4,0 GiB) copied, 31,0463 s, 138 MB/s

dd 读取性能110 MB/s,CPU 使用率从 > 90 % 开始,然后下降到大约 50-60 %,然后在文件读取结束时再次上升到 > 90 %。

#crop cache before
sudo sh -c "echo 1 > /proc/sys/vm/drop_caches"

现在进行测试:

dd if=testfile of=/dev/null status=progress bs=32M
4261412864 bytes (4,3 GB, 4,0 GiB) copied, 39 s, 109 MB/s
128+0 Datensätze ein
128+0 Datensätze aus
4294967296 bytes (4,3 GB, 4,0 GiB) copied, 39,1345 s, 110 MB/s

现在让我们仔细看看 samba:

在上面基准测试的磁盘上将1 GB 文件写入samba共享大约73 MB/s,CPU 使用率仅为 70% 左右。

从samba共享中读取1 GB 文件的速度仅为64 MB/s左右,CPU 使用率约为 55%。还要看这张图:它开始缓慢,然后速度上升和下降,产生某种波形。

在此处输入图像描述

立即再次复制此文件,当它在缓存中时,它会以112 MB/s 的速度复制,因此应有全 GigabitEthernet 速度。


与未加密的驱动器相比:

dd 写入速度133 MB/s

dd 读取速度207 MB/s

Samba 写入:112 MB/s

Samba 读取速度:112 MB/s


所以单独使用LUKS加密就可以提供足够的速度,单独使用Samba也有足够的速度。结合起来,性能会大幅下降,而仅使用 dd 时仍有大量可用的 CPU 资源可用。

这里有什么问题?为什么在使用 dd 对 samba 进行操作时,CPU 没有完全使用?可以做些什么来使用 smb 和 luks 加密来获得完整的性能/CPU 使用率?

performance samba performance-tuning cpu-usage luks
  • 1 个回答
  • 680 Views
Martin Hope
Hannes
Asked: 2020-02-27 06:02:31 +0800 CST

mdadm raid5 在创建后立即开始恢复

  • 0

只是为了获得一些使用 mdadm 的经验,我已经将一些 HDD 放在一起并尝试了一下。我有 2 250 GB 和一个 500 GB 硬盘。我知道那不是 RAID5 的最佳选择,我总共只能获得 500 GB 的容量。浪费了 250 GB 的 500 GB HDD。但正如我所说,我只是玩了一下。

首先让我们看看磁盘大小:

lsblk /dev/sdb /dev/sdc /dev/sdd
NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb    8:16   0 232.9G  0 disk
sdc    8:32   0 465.8G  0 disk
sdd    8:48   0 232.9G  0 disk

创建 RAID5:

sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd -c 4 --auto md

显示创建的 Raid5 的信息:

cat /proc/mdstat                                     Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd[3] sdc[1] sdb[0]
      488132976 blocks super 1.2 level 5, 4k chunk, algorithm 2 [3/2] [UU_]
      [>....................]  recovery =  0.5% (1354384/244066488) finish=59.7min speed=67719K/sec
      bitmap: 0/2 pages [0KB], 65536KB chunk

unused devices: <none>

显示更多细节:

 sudo mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Wed Feb 26 14:52:54 2020
        Raid Level : raid5
        Array Size : 488132976 (465.52 GiB 499.85 GB)
     Used Dev Size : 244066488 (232.76 GiB 249.92 GB)
      Raid Devices : 3
     Total Devices : 3
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Wed Feb 26 14:57:43 2020
             State : clean, degraded, recovering
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 4K

Consistency Policy : bitmap

    Rebuild Status : 7% complete

              Name : raspberrypi:0  (local to host raspberrypi)
              UUID : 3291b54e:fad8f43b:cc398574:a1845ff9
            Events : 57

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       3       8       48        2      spare rebuilding   /dev/sdd

Dmesg 显示

[ 2462.122882] md/raid:md0: device sdc operational as raid disk 1
[ 2462.122892] md/raid:md0: device sdb operational as raid disk 0
[ 2462.126278] md/raid:md0: raid level 5 active with 2 out of 3 devices, algorithm 2
[ 2462.142439] md0: detected capacity change from 0 to 499848167424
[ 2462.222689] md: recovery of RAID array md0

那么我在创建 RAID5 时做错了什么?我也对mdadm --detail /dev/md0磁盘编号 0、1 和 3 而不是 0、1、2的输出感到困惑

raid mdadm raid5 software-raid
  • 1 个回答
  • 283 Views
Martin Hope
Hannes
Asked: 2019-01-28 07:43:22 +0800 CST

cron 调用的 Sendmail bash 脚本无法从标准输入读取

  • 1

我尝试编写一个从 nullmailer 的地址覆盖的小脚本。Nullmailer 有一个选项“allmailfrom”,您可以将邮件地址放入 /etc/nullmailer/allmailfrom,所有发送的邮件都将此地址作为“Return-Path”,但 From 仍然是发送程序的值,例如 pi@raspberrypi

所以我尝试创建一个小脚本来重写发件人地址。基本上,您将 sendmail 移动到 sendmail-bin 并将创建的脚本命名为 sendmail。它与命令“mail”一起工作,地址被重写。但是使用 cron 它不起作用。STDIN 为空,因此无法通过电子邮件接收到 cron 的输出。系统日志写入

 /usr/sbin/sendmail: line 11: /dev/stdin: permission denied

这里是脚本。

#!/bin/bash
#########################################
#Beginn change here
export NULLMAILER_USER=user
export NULLMAILER_HOST=somedomain.com
#Ende change here
#############################################

export NULLMAILER_FLAGS=ft

stdin=$(</dev/stdin)

optPosition=0 #defaultvalue when not found

while getopts ":f:" from; do
    case $from in
        f) optPosition=$OPTIND
           break
           ;;
    esac
done


arguments=($@)

if (($optPosition != 0)); then #-f Option was used
 arguments[(($optPosition-2))]=$NULLMAILER_USER@$NULLMAILER_HOST
 set -- "${arguments[@]}"
fi



echo "$stdin" | /usr/sbin/sendmail-bin "$@"   

带有 NULLMAILER_HOST 和 NULLMAILER_FLAGS=f 的 NULLMAILER_USER 告诉 nullmailer 将其用作发件人地址。该部分有效,请参阅http://manpages.ubuntu.com/manpages/trusty/man1/nullmailer-inject.1.html

在 crontab 中只是

*/1 * * * * echo test 

当 nullmailer 的原始 sendmail 存在时,“test”就在邮件的正文中,这是它应该的。那么为什么不能从标准输入读取这个 bash 脚本呢?

linux
  • 1 个回答
  • 569 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve