首页
About Me
推荐
weibo
github
Search
1
linuxea:gitlab-ci之docker镜像质量品质报告
49,451 阅读
2
linuxea:如何复现查看docker run参数命令
23,046 阅读
3
Graylog收集文件日志实例
18,582 阅读
4
linuxea:jenkins+pipeline+gitlab+ansible快速安装配置(1)
18,275 阅读
5
git+jenkins发布和回滚示例
18,181 阅读
ops
Openvpn
Sys Basics
rsync
Mail
NFS
Other
Network
HeartBeat
server 08
Code
Awk
Shell
Python
Golang
virtualization
KVM
Docker
openstack
Xen
kubernetes
kubernetes-cni
Service Mesh
Data
Mariadb
PostgreSQL
MongoDB
Redis
MQ
Ceph
TimescaleDB
kafka
surveillance system
zabbix
ELK Stack/logs
Open-Falcon
Prometheus
victoriaMetrics
Web
apache
Tomcat
Nginx
自动化
Puppet
Ansible
saltstack
Proxy
HAproxy
Lvs
varnish
更多
互联咨询
最后的净土
软件交付
持续集成
gitops
devops
登录
Search
标签搜索
kubernetes
docker
zabbix
Golang
mariadb
持续集成工具
白话容器
elk
linux基础
nginx
dockerfile
Gitlab-ci/cd
最后的净土
基础命令
gitops
jenkins
docker-compose
Istio
haproxy
saltstack
marksugar
累计撰写
690
篇文章
累计收到
139
条评论
首页
栏目
ops
Openvpn
Sys Basics
rsync
Mail
NFS
Other
Network
HeartBeat
server 08
Code
Awk
Shell
Python
Golang
virtualization
KVM
Docker
openstack
Xen
kubernetes
kubernetes-cni
Service Mesh
Data
Mariadb
PostgreSQL
MongoDB
Redis
MQ
Ceph
TimescaleDB
kafka
surveillance system
zabbix
ELK Stack/logs
Open-Falcon
Prometheus
victoriaMetrics
Web
apache
Tomcat
Nginx
自动化
Puppet
Ansible
saltstack
Proxy
HAproxy
Lvs
varnish
更多
互联咨询
最后的净土
软件交付
持续集成
gitops
devops
页面
About Me
推荐
weibo
github
搜索到
122
篇与
的结果
2022-06-15
linuxea:curl常用命令
curl常用命令time_connect : 建立到服务器的 TCP 连接所用的时间time_starttransfer: 在发出请求之后,Web 服务器返回数据的第一个字节所用的时间time_total: 完成请求所用的时间在 发出请求之后,Web 服务器处理请求并开始发回数据所用的时间是(time_starttransfer)1.044 - (time_connect)0.244 = 0.8 秒客户机从服务器下载数据所用的时间是(time_total)2.672 - (time_starttransfer)1.044 = 1.682 秒指定特定主机IP地址访问网站 curl -x 61.1315.169.105:80 http://www.baidu.com curl -x 61.1315.169.125:80 http://www.baidu.com网页响应时间curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "http://www.linuxea.com" time_connect: 0.009 time_starttransfer: 0.357 time_total: 0.358状态返回码curl -s -w %{http_code} "http://www.baidu.com"完成请求所用的时间curl -o /dev/null -s -w '%{time_total}' http://www.linuxea.com 0.456或者如下curl -o /dev/null -s -w "%{http_code}\n%{time_connect}\n%{time_starttransfer}\n%{time_total}" http://www.baidu.com 200 0.038 0.071 0.071文件创建一个新文件 curl-format.txt,然后粘贴: time_namelookup: %{time_namelookup}s\n time_connect: %{time_connect}s\n time_appconnect: %{time_appconnect}s\n time_pretransfer: %{time_pretransfer}s\n time_redirect: %{time_redirect}s\n time_starttransfer: %{time_starttransfer}s\n ----------\n time_total: %{time_total}s\n发出请求: curl -w "@curl-format.txt" -o /dev/null -s "http://wordpress.com/"或者在 Windows 上,它是... curl -w "@curl-format.txt" -o NUL -s "http://wordpress.com/"这是做什么的:-w "@curl-format.txt"告诉 cURL 使用我们的格式文件-o /dev/null将请求的输出重定向到 /dev/null-s 告诉 cURL 不要显示进度表"http://wordpress.com/"是我们请求的 URL。如果您的 URL 具有“&”查询字符串参数,请特别使用引号输出 time_namelookup: 0.001s time_connect: 0.037s time_appconnect: 0.000s time_pretransfer: 0.037s time_redirect: 0.000s time_starttransfer: 0.092s ---------- time_total: 0.164s制作 Linux/Mac 快捷方式(别名)alias curltime="curl -w \"@$HOME/.curl-format.txt\" -o /dev/null -s "然后你可以简单地调用...curltime wordpress.org
2022年06月15日
1,726 阅读
0 评论
0 点赞
2022-04-19
linuxea:winsw安装windows程序开机启动服务
在windows下也有需要开机启动的需求,而一些程序被打包后是没有做开机启动服务的。但是可以放在开机启动中或者计划任务中被不断的监制。这样的话就需要手动编写脚本完成。而更有友好的方式是将应用程序作为windown服务进行包装和管理,而在github上winsw项目致力于解决这个问题。要使用WinSw,至少需要三个文件WinSW.exe可执行程序NAME-service.xml 配置文件注明停止或者启动的参数和路径NAME-service.exe.config配置文件主要用做禁用对应用程序的 CAS 发布者策略的检查示例如下:nginx下载后,将WinSW-x64.exe放置当前目录,修改为nginx-service.exePS C:\nginx-1.21.1\nginx-1.21.1> dir 目录: C:\nginx-1.21.1\nginx-1.21.1 Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2021/8/31 16:04 conf d----- 2021/8/31 16:04 contrib d----- 2021/8/31 16:04 docs d----- 2021/8/31 16:04 html d----- 2021/8/31 16:05 logs d----- 2021/8/31 16:05 temp -a---- 2021/8/31 16:26 17462251 nginx-service.exe ------ 2021/7/6 17:42 3752448 nginx.exe创建nginx-service.xml,内容如下<service> <id>nginx</id> <name>Nginx Service</name> <description>High Performance Nginx Service</description> <logpath>C:\nginx-1.21.1\nginx-1.21.1\logs</logpath> <log mode="roll-by-size"> <sizeThreshold>10240</sizeThreshold> <keepFiles>8</keepFiles> </log> <executable>C:\nginx-1.21.1\nginx-1.21.1\nginx.exe</executable> <startarguments>-p C:\nginx-1.21.1\nginx-1.21.1</startarguments> <stopexecutable>C:\nginx-1.21.1\nginx-1.21.1\nginx.exe</stopexecutable> <stoparguments>-p C:\nginx-1.21.1\nginx-1.21.1 -s stop</stoparguments> </service>创建nginx-service.exe.config文件,内容如下<configuration> <startup> <supportedRuntime version="v2.0.50727" /> <supportedRuntime version="v4.0" /> </startup> <runtime> <generatePublisherEvidence enabled="false"/> </runtime> </configuration>目录如下PS C:\nginx-1.21.1\nginx-1.21.1> dir 目录: C:\nginx-1.21.1\nginx-1.21.1 Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2021/8/31 16:04 conf d----- 2021/8/31 16:04 contrib d----- 2021/8/31 16:04 docs d----- 2021/8/31 16:04 html d----- 2021/8/31 16:44 logs d----- 2021/8/31 16:05 temp -a---- 2021/8/31 16:26 17462251 nginx-service.exe -a---- 2021/8/31 16:37 266 nginx-service.exe.config -a---- 2021/8/31 16:36 650 nginx-service.xml ------ 2021/7/6 17:42 3752448 nginx.exe安装服务PS C:\nginx-1.21.1\nginx-1.21.1> .\nginx-service.exe install 2021-08-31 16:37:39,775 INFO - Installing service 'Nginx Service (nginx)'... 2021-08-31 16:37:39,811 INFO - Service 'Nginx Service (nginx)' was installed successfully.启动服务即可二进制程序go二进制传参数package main import ( "fmt" "net/http" "flag" ) func main() { var src string flag.StringVar(&src, "src", "", "source file") flag.Parse() flag.Usage() http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, you've requested: %s,src=%s\n", r.URL.Path,src) }) http.ListenAndServe(":81", nil) }PS C:\Users\super\Desktop\mybook\windows-autostart\test> go build而后开始制作将WinSW-x64.exe放置当前目录,修改为web-flag-service.exeweb-flag-server.exe.config<configuration> <startup> <supportedRuntime version="v2.0.50727" /> <supportedRuntime version="v4.0" /> </startup> <runtime> <generatePublisherEvidence enabled="false"/> </runtime> </configuration>web-flag-service.xml <startarguments>-src "/data/wwwroot"</startarguments>的-src "/data/wwwroot"为参数<service> <id>web-flag</id> <name>web-flag</name> <description>This go test , name: web-flag</description> <logpath>C:\test\logs</logpath> <log mode="roll-by-size"> <sizeThreshold>10240</sizeThreshold> <keepFiles>8</keepFiles> </log> <executable>C:\test\web-flag.exe</executable> <startarguments>-src "/data/wwwroot"</startarguments> <stopexecutable>C:\test\web-flag.exe</stopexecutable> <stoparguments>-p C:\test</stoparguments> </service>最终的准备文件如下PS C:\test> dir 目录: C:\test Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2021/8/31 18:06 logs -a---- 2021/8/31 16:37 266 web-flag-server.exe.config -a---- 2021/8/31 16:26 17462251 web-flag-service.exe -a---- 2021/8/31 18:13 550 web-flag-service.xml -a---- 2021/8/31 18:10 6003712 web-flag.exe安装PS C:\test> .\web-flag-service.exe install 2021-08-31 18:03:23,199 INFO - Installing service 'web-flag (web-flag)'... 2021-08-31 18:03:23,286 INFO - Service 'web-flag (web-flag)' was installed successfully.启动即可参考generatePublisherEvidencewinsw
2022年04月19日
1,816 阅读
0 评论
0 点赞
2022-04-17
linuxea:windows快速构建丝滑的ftpserver上传和下载
在windows中,可以使用smb来挂载目录,上篇linux上如何优雅的挂载windows smb有所记录,但是并非每个环境都会让你使用共享文件的协议,通常在一个注重安全的环境内,udp的这几个端口会被不由分说的禁用掉。因此就需要另外一个传输方式,比如ftp。通常,FPT作为server端被部署在linux环境下,但是有时候会被windows需要。也就是说需要在windows下部署ftp。但是类似与此类软件居多,如:serv-u, wftpserver,xlightftpd等。但是这些都太重,现在使用ftp server绿色版本搭建简易的ftp通道http://learning.happymmall.com/ftpserver/而后将ftp放行到防火墙端口当我们在linux上用ftp传输的时候不一定能否符合预期ftp是非常原始的传输工具,使用ftp客户端意味着你要手动创建一些目录或者,压缩你将传输的文件夹变成一个包或者一个文件。因此我们使用ncftp,你可以下载也可以使用yum安装ncftp参数-u:指定登录FTP服务器时使用的用户名; -p:指定登录FTP服务器时使用的密码; -P:如果FTP服务器没有使用默认的TCP协议的21端口,则使用此选项指定FTP服务器的端口号。 -m:在传之前尝试在目录位置创建目录(用于传目录的情况) -R:递规传子目录上传FTP将会在远程服务器创建FTP目录,test目录将会推送到FTP目录下ncftpput -u test -p test -P 21 -m -R 172.16.100.19 FTP ~/test/*下载ncftpget -u test -p test -P 21 -d ~/1.txt -R 172.16.100.19 . /FTPRush/test2而在windows客户端你可以使用一些支持ftp断点续传的工具,比如:FileZilla,sftp参考linux上如何优雅的挂载windows smb
2022年04月17日
1,692 阅读
0 评论
0 点赞
2022-04-17
linuxea:linux上如何优雅的挂载windows smb
在一些极端情况下,需要将一些备份推送到windows,或者从windows拉取到linux,假设没有吝啬的安全策略下,默认是可以的。但是这不安全,通常情况下,采用ftp更保险。但鉴于在内网运行,此操作可以被尝试。如果想尝试fpt,可以参考快速构建丝滑的ftpserver上传和下载首要条件创建用户mark创建组bakcupwindows 10windows10 运行appwiz.cpl -> 启动或关闭windows功能 -> 勾选SMB1.0/CIFS文件共享支持和SMB直通windws 2008windows 2008 r2添加nfs1,添加功能功能添加,下一步直到安装完成2,添加角色功能角色,下一步直到安装完成3,开启server服务重启服务器电脑。开始共享当我们安装了上面的角色和功能后,创建一个新的文件夹配置共享linux共享mount -t cifs //10.112.118.135/hainan_backups /data/Remotely_backup_data -o username=mark,password=DVjZTIwNDUzN,rwwindows server 20121.安装smb1, windows server的添加角色和功能向导,如下,选中"件服务器资源管理器"下一步直至安装结束。完证完成后重启服务器2.共享位置配置打开服务器管理 -> 文件和存储服务 -> 共享 -> 新建共享-> SMB共享-高级 在共享位置中选择输入自定义路径在E盘创建一个backups目录,并选中3.权限在权限中选择自定义权限并删除删除完成,选择添加按钮。这里添加一个mark用户,也可以是一个组因为是备份文件存放,我们需要对目录写入如法炮制,添加backup组而后修改共享权限报错Windows server 2012R2 设置文件共享目录报错:无法连接到C$管理共享已验证文件夹xxx在计算机xxx上是否存在Windows Remote Management(WinRM)查看端口PS C:\Users\Administrator> netstat -ano | findstr "445" TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4 TCP 192.168.29.27:57523 192.168.29.27:445 SYN_SENT 4 TCP [::]:445 [::]:0 LISTENING 4 TCP [fe80::dddf:c37a:79c6:afa6%12]:57532 [fe80::dddf:c37a:79c6:afa6%12]:445 SYN_SENT 4如果telnet不通0,检查下“网络和共享中心”→“高级共享设置”里有没有启用网络发现,有没有启用文件和打印机共享1,检查网卡连接是否勾选Microsoft网络客户端和Microsoft网络的文件和打印机共享2,运行输入“regedit”并点击确定以进入注册表编辑器。导航到这个位置(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System),在右边空白处右击新建->DWORD(32位)值(D),将它命名为LocalAccountTokenFilterPolicy并且将它的数值数据改为1。重启您的计算机,然后检查问题是否解决。3,运行gpedit.msc,在“本地组策略编辑器”中选择“本地计算机策略”→计算机配置→Windows设置→安全设置→IP安全策略,在本地计算机。然后在右侧双击“新IP安全策略”,删掉“新IP筛选器列表”。检查服务是否开启Function Discovery Provider HostSSDP DiscoveryUPnP Device HostLanmanServer(server开启)白名单确保tcp 139和445已经放行UDP 137,138TCP 139,445,1354.挂载安装依赖cifs-utils 的包 cifs-utils avahi-libs cups-libs gnutls keyutils libldb libtalloc libtdb libtevent libwbclient nettle samba-client-libs samba-common samba-common-libs trousersyum localinstall *.rpm挂载mount -t cifs -o username=mark,password=DVjZTIwNDUzNm //10.100.163.119/backups /data/Remotely_backup_datamount -t cifs -o username=mark,password=DVjZTIwNDUzNm,vers=1.0 //10.100.163.119/backups /data/Remotely_backup_dataNov 3 11:08:44 localhost kernel: No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.Nov 3 11:08:44 localhost kernel: Status code returned 0xc000006d STATUS_LOGON_FAILURENov 3 11:08:44 localhost kernel: CIFS VFS: Send error in SessSetup = -13Nov 3 11:08:44 localhost kernel: CIFS VFS: cifs_mount failed w/return code = -13查看[root@linuxea.com /home/sxxzx2019/smb]# ll /data/Remotely_backup_data/ 总用量 1 drwxr-xr-x 2 root root 0 7月 19 14:20 1 -rwxr-xr-x 1 root root 25 7月 19 13:59 test.txt.txt已经可以使用其他?https://www.tuxera.com/community/open-source-ntfs-3g/ https://github.com/tuxera/ntfs-3g/releases $ command tar xf ntfs-3g_ntfsprogs-2017.3.23.tgz cd ntfs-3g_ntfsprogs-2017.3.23 ./configure make make install mount -o username=mark//10.100.163.119/backups共享目录即可创建用户mark创建目录backups安全组权限共享文件权限123安装SMBmount error(112): Host is down Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)开启smb检测Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol Disable-WindowsOptionalFeature -Online -FeatureName SMB1ProtocolSMB 服务器上 SMBv1检测Get-SmbServerConfiguration | Select EnableSMB1ProtocolPS C:\Users\Administrator> Get-SmbServerConfiguration | Select EnableSMB1Protocol EnableSMB1Protocol ------------------ True禁用Set-SmbServerConfiguration -EnableSMB1Protocol $false启用Set-SmbServerConfiguration -EnableSMB1Protocol $trueSMB 服务器上 SMB v2/v3检测:Get-SmbServerConfiguration | Select EnableSMB2Protocol禁用:Set-SmbServerConfiguration -EnableSMB2Protocol $false启用:Set-SmbServerConfiguration -EnableSMB2Protocol $true1PS C:\Users\Administrator> Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol Path : Online : True Restart Needed : FalsePS C:\Users\Administrator> Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol Feature Name : SMB1Protocol Display Name : SMB 1.0/CIFS 文件共享支持 Description : 支持 SMB 1.0/CIFS 文件共享协议和计算机浏览器协议。 Restart Required : Possible State : Enabled Custom Properties : ServerComponent\Description : 支持 SMB 1.0/CIFS 文件共享协议和计算机浏览器协议。 ServerComponent\DisplayName : SMB 1.0/CIFS 文件共享支持 ServerComponent\Id : 487 ServerComponent\Type : Feature ServerComponent\UniqueName : FS-SMB1 ServerComponent\Deploys\Update\Name : SMB1Protocol参考如何在 Windows 中检测、启用和禁用 SMBv1、SMBv2 和 SMBv3[[mount.cifs: mount error(112): Host is down]](https://serverfault.com/questions/830817/mount-cifs-mount-error112-host-is-down)what port or ports are used for File sharing in windows?Windows Server 2012 关闭445 135 139等端口安全设置快速构建丝滑的ftpserver上传和下载
2022年04月17日
1,809 阅读
0 评论
0 点赞
2022-04-02
linuxea:centos7.9使用trojan加速拉取代码
我们经常使用github或者其他的仓库,特别慢的时候,可以使用其他的浏览器插件来解决。但是,假设你已经购买了trojan,并且想在linux上使用,就可以考虑如下办法首先,在trojan下载一个版本即可,而后参考trojan的方式将配置文件导入到config.json中现在你有一个已经在页面生成好的配置文件,而后修改验证修改verify和verify_hostname为false,这在trojan的github上并没有得到解决,于是我们就不验证即可 "ssl": { "verify": false, "verify_hostname": false, "cert": "",直接运行起来~/trojan-1.15]# ./trojan -c config.json Welcome to trojan 1.15.1 [2022-04-02 11:38:01] [WARN] trojan service (client) started at 127.0.0.1:1080而后配置一个privoxyyum install privoxy -y添加配置文件listen-address 127.0.0.1:1081 toggle 0 show-on-task-bar 0 activity-animation 0 forward-socks5 / 127.0.0.1:1080 . hide-console并启动systemctl start privoxy.serviceexport http_proxy=http://localhost:1081/ export https_proxy=http://localhost:1081/打开一下谷歌# curl -o /dev/null -s -w "%{http_code}" www.google.com && echo 200返回追踪下日志# ./trojan -c config.json Welcome to trojan 1.15.1 [2022-04-02 11:38:01] [WARN] trojan service (client) started at 127.0.0.1:1080 [2022-04-02 11:39:21] [INFO] 127.0.0.1:42136 requested connection to www.google.com:80 [2022-04-02 11:39:22] [INFO] 127.0.0.1:42136 disconnected, 14790 bytes received, 78 bytes sent, lasted for 1 seconds [2022-04-02 11:39:37] [INFO] 127.0.0.1:42302 requested connection to www.google.com:80 [2022-04-02 11:39:57] [ERROR] 127.0.0.1:42302 cannot resolve remote server hostname de1-1.nigirocloud.com: Host not found (authoritative) [2022-04-02 11:39:57] [INFO] 127.0.0.1:42302 disconnected, 0 bytes received, 78 bytes sent, lasted for 20 seconds [2022-04-02 11:40:54] [INFO] 127.0.0.1:43156 requested connection to www.google.com:80 [2022-04-02 11:41:04] [ERROR] 127.0.0.1:43156 cannot resolve remote server hostname de1-1.nigirocloud.com: Host not found (authoritative) [2022-04-02 11:41:04] [INFO] 127.0.0.1:43156 disconnected, 0 bytes received, 78 bytes sent, lasted for 10 seconds [2022-04-02 11:41:14] [INFO] 127.0.0.1:43380 requested connection to www.google.com:80 [2022-04-02 11:41:15] [INFO] 127.0.0.1:43380 disconnected, 14783 bytes received, 78 bytes sent, lasted for 1 seconds [2022-04-02 11:41:32] [INFO] 127.0.0.1:43596 requested connection to www.google.com:80 [2022-04-02 11:41:33] [INFO] 127.0.0.1:43596 disconnected, 14806 bytes received, 78 bytes sent, lasted for 1 seconds [2022-04-02 11:41:35] [INFO] 127.0.0.1:43626 requested connection to www.google.com:80 [2022-04-02 11:41:41] [INFO] 127.0.0.1:43626 disconnected, 14805 bytes received, 78 bytes sent, lasted for 6 seconds [2022-04-02 11:41:44] [INFO] 127.0.0.1:43734 requested connection to www.google.com:80 [2022-04-02 11:41:45] [INFO] 127.0.0.1:43734 disconnected, 14823 bytes received, 78 bytes sent, lasted for 1 seconds [2022-04-02 11:41:51] [INFO] 127.0.0.1:43830 requested connection to www.google.com:80 [2022-04-02 11:41:52] [INFO] 127.0.0.1:43830 disconnected, 14759 bytes received, 78 bytes sent, lasted for 1 seconds现在就可以发起http的请求
2022年04月02日
2,126 阅读
0 评论
0 点赞
2022-03-15
linuxea:openssl和openssh[CVE-2021-3711]修复
修复了 SM2 解密缓冲区溢出。[CVE-2021-3711])Changes between 1.1.1k and 1.1.1l [24 Aug 2021] Fixed an SM2 Decryption Buffer Overflow. In order to decrypt SM2 encrypted data an application is expected to call the API function EVP_PKEY_decrypt(). Typically an application will call this function twice. The first time, on entry, the "out" parameter can be NULL and, on exit, the "outlen" parameter is populated with the buffer size required to hold the decrypted plaintext. The application can then allocate a sufficiently sized buffer and call EVP_PKEY_decrypt() again, but this time passing a non-NULL value for the "out" parameter. A bug in the implementation of the SM2 decryption code means that the calculation of the buffer size required to hold the plaintext returned by the first call to EVP_PKEY_decrypt() can be smaller than the actual size required by the second call. This can lead to a buffer overflow when EVP_PKEY_decrypt() is called by the application a second time with a buffer that is too small. A malicious attacker who is able present SM2 content for decryption to an application could cause attacker chosen data to overflow the buffer by up to a maximum of 62 bytes altering the contents of other data held after the buffer, possibly changing application behaviour or causing the application to crash. The location of the buffer is application dependent but is typically heap allocated. ([CVE-2021-3711]) Matt Caswell1.1.1m 避免两次加载动态引擎。Changes between 1.1.1l and 1.1.1m [xx XXX xxxx] Avoid loading of a dynamic engine twice. Bernd Edlinger Prioritise DANE TLSA issuer certs over peer certs Viktor Dukhovni Fixed random API for MacOS prior to 10.12 These MacOS versions don't support the CommonCrypto APIs Lenny Primakopenssl小版本,比如修复什么小bug,单并不影响稳定性是按照字母顺序进行排版本比如: 1.1.1l到1.1.1m,我门可以查看他的历史版本,最新的版本已经升级到3.0.1依赖包,也可以用做离线使用yum install -y gcc gcc-c++ autoconf automake zlib zlib-devel pcre-devel pam-devel openssl openssl-devel openssl-libs lrzszhttps://www.openssl.org/source/snapshot/opensslrpmrpm包下载: https://github.com/philyuchkoff/openssl-RPM-Builder/releasesrpm -e --justdb --nodeps openssl-libs rpm -e --justdb --nodeps openssl-1:1.0.2k rpm -ivvh openssl-1.1.1m-1.el7.x86_64.rpm --nodeps openssl version推荐编译安装openssl-1.1.1lhttps://www.openssl.org/source/openssl-1.1.1l.tar.gz https://www.openssl.org/source/snapshot/openssl-1.1.1-stable-SNAP-20220120.tar.gz mv /usr/bin/openssl{,.bak} mv /usr/include/openssl{,.bak} cd /usr/local/openssl-1.1.1m/ ./config shared && make && make installopenssl-1.1.1mhttps://www.openssl.org/source/openssl-1.1.1m.tar.gzwget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1m.tar.gz tar xf openssl-1.1.1m.tar.gz -C /usr/local/ mv /usr/bin/openssl{,.bak} mv /usr/include/openssl{,.bak} cd /usr/local/openssl-1.1.1m ./config shared && make && make install链接ll /usr/local/bin/openssl ll -d /usr/local/include/openssl/ ln -s /usr/local/bin/openssl /usr/bin/openssl ln -s /usr/local/include/openssl/ /usr/include/openssl ll /usr/bin/openssl ll -d /usr/include/openssl echo "/usr/local/lib64" >> /etc/ld.so.conf /sbin/ldconfig openssl version openssl version -aopenssh安装依赖包yum install -y gcc gcc-c++ autoconf automake zlib zlib-devel pcre-devel pam-devel openssl openssl-devel openssl-libs配置必要的编译选项mv /etc/ssh{,.bak} mkdir /usr/local/openssh curl -Lk https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.7p1.tar.gz |tar xz -C ./ cd openssh-8.7p1/ ./configure --prefix=/usr/local/openssh \ --sysconfdir=/etc/ssh \ --with-openssl-includes=/usr/local/include \ --with-ssl-dir=/usr/local/lib64 \ --with-zlib \ --with-md5-passwords \ --with-pam && \ make && \ make install简单的配置下sshdecho "UseDNS no" >> /etc/ssh/sshd_config echo "Port 6789" >> /etc/ssh/sshd_config echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config mv /usr/sbin/sshd{,.bak} mv /usr/bin/ssh{,.bak} mv /usr/bin/ssh-keygen{,.bak} ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh ln -s /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen ln -s /usr/local/openssh/sbin/sshd /usr/sbin/sshd ssh -V配置开机启动systemctl disable sshd --now mv /usr/lib/systemd/system/sshd.service{,.bak} systemctl daemon-reload \cp -a contrib/redhat/sshd.init /etc/init.d/sshd \cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam chkconfig --add sshd systemctl enable sshd --now systemctl start sshd ssh -V
2022年03月15日
1,553 阅读
0 评论
1 点赞
2022-02-23
linuxea:docker-compose vsftpd 3.0.3快速配置
VSFTPD 代表“非常安全的 FTP 守护程序”,是一个 GPL 许可的 UNIX 系统 FTP 服务器。它是根据 GNU 通用公共许可证获得许可的。它支持 IPv6 和 SSL。vsftpd 支持显式(自 2.0.0 起)和隐式(自 2.1.0 起)FTPS。vsftpd 是 Ubuntu、CentOS、Fedora、NimbleX、Slackware 和 RHEL Linux 发行版中的默认 FTP 服务器。它安全且速度极快。它是稳定的。VSFTPD 是一个成熟且值得信赖的解决方案,它通过 PAM(可插入身份验证模块)支持虚拟用户。虚拟用户是在 /etc/passwd 和 /etc/shadow 文件中不作为系统上的真实登录存在的用户登录。因此,虚拟用户可以比真实用户更安全,因为被入侵的帐户只能使用 FTP 服务器,但不能登录系统使用其他服务,例如 SSH 或 SMTP。2011 年 7 月,发现可从主站点下载的 VSFTPD 版本 2.3.4 已被入侵。登录受感染的 vsftpd-2.3.4 服务器的用户可能会发出“:)”笑脸作为用户名,并在端口 6200 上获得命令 shell。这不是 VSFTPD 中的安全漏洞问题,而是有人上传了包含后门的不同版本的 VSFTPD。从那时起,该网站被移至 Google App Engine。特征尽管出于速度和安全性的目的很小,但使用 vsftpd 可以实现许多更复杂的 FTP 设置!vsftpd 可以处理:虚拟 IP 配置虚拟用户独立或 inetd 操作强大的每用户可配置性带宽限制每源 IP 可配置性每源 IP 限制docker我们使用的是 markhobson/vsftpd:3.0.3的docker镜像这个 Docker 容器实现了一个 vsftpd 服务器,具有以下特性:Centos 8 基础镜像。vsftpd 3.0虚拟用户被动模式记录到文件或 STDOUT。支持的环境变量如下:环境变量此图像使用环境变量来允许在运行时配置一些参数:变量名:FTP_USER默认值:管理员接受的值:任何字符串。避免使用空格和特殊字符。说明:默认 FTP 帐户的用户名。如果在运行时没有通过FTP_USER环境变量指定admin,默认会使用。变量名:FTP_PASS默认值:随机字符串。接受的值:任何字符串。说明:如果不通过 指定默认FTP账号的密码,FTP_PASS会自动生成一个16个字符的随机字符串。你可以通过容器日志获取该值。变量名:PASV_ADDRESS默认值:Docker 主机 IP / 主机名。接受的值:任何 IPv4 地址或主机名(请参阅 PASV_ADDRESS_RESOLVE)。说明:如果你不指定要在被动模式下使用的 IP 地址,则将使用 Docker 主机的路由 IP 地址。请记住,这可能是本地地址。变量名:PASV_ADDR_RESOLVE默认值:否接受的值:<NO|YES>说明:如果你想在 PASV_ADDRESS 选项中使用主机名(而不是 IP 地址),请设置为 YES。变量名:PASV_ENABLE默认值:是接受的值:<NO|YES>说明:如果要禁止 PASV 方法获取数据连接,请设置为 NO。变量名:PASV_MIN_PORT默认值:21100接受的值:任何有效的端口号。说明:这将用作被动模式端口范围的下限。请记住使用docker -p参数发布你的端口。变量名:PASV_MAX_PORT默认值:21110接受的值:任何有效的端口号。说明:这将用作被动模式端口范围的上限。启动具有大量已发布端口的容器将需要更长的时间。变量名:XFERLOG_STD_FORMAT默认值:否接受的值:<NO|YES>说明:如果你希望传输日志文件以标准 xferlog 格式写入,请设置为 YES。变量名:LOG_STDOUT默认值:空字符串。接受的值:任何要启用的字符串、空字符串或未定义为禁用。说明:通过STDOUT输出vsftpd日志,以便通过容器日志访问。变量名:FILE_OPEN_MODE默认值:0666接受的值:文件系统权限。描述:创建上传文件的权限。Umasks 应用在这个值之上。如果你希望上传的文件可执行,你可能希望更改为 0777。变量名:LOCAL_UMASK默认值:077接受的值:文件系统权限。说明:为本地用户设置的用于文件创建的 umask 的值。笔记!如果要指定八进制值,请记住“0”前缀,否则该值将被视为以 10 为底的整数!变量名:REVERSE_LOOKUP_ENABLE默认值:是接受的值:<NO|YES>说明:如果你想避免名称服务器不响应反向查找的性能问题,请设置为 NO。变量名:PASV_PROMISCUOUS默认值:否接受的值:<NO|YES>说明:如果要禁用 PASV 安全检查以确保数据连接来自与控制连接相同的 IP 地址,请设置为 YES。仅当你知道自己在做什么时才启用!唯一合法的用途是某种形式的安全隧道方案,或者可能是为了促进 FXP 支持。变量名:PORT_PROMISCUOUS默认值:否接受的值:<NO|YES>说明:如果要禁用 PORT 安全检查以确保传出数据连接只能连接到客户端,请设置为 YES。仅当你知道自己在做什么时才启用!对此的合法用途是促进 FXP 支持。变量名:SSL_ENABLE默认值:否接受值:YES 或 NO。说明:如果要启用 SSL 加密,请设置为 YES - 制作 FTPS 服务器。变量名:TLS_CERT默认值:cert.pem接受的值:任何字符串表示文件名的扩展名说明:应位于/etc/vsftpd/cert/容器中的证书文件名。变量名:TLS_KEY默认值:key.pem接受的值:任何字符串表示文件名的扩展名描述:应该位于/etc/vsftpd/cert/容器中的密钥文件名。暴露的端口和卷该图像暴露了端口20和21. 此外,导出三个卷:/home/vsftpd,包含用户主目录,/var/log/vsftpd,用于存储日志和/etc/vsftpd/cert,为容器提供 SSL 证书。在主机和容器 ( /home/vsftpd) 之间共享主目录时,所有者用户 ID 和组 ID 应分别为 14 和 50。这对应于容器上的 ftp 用户和 ftp 组,但可能与主机上的其他内容匹配。docker-compose ftpversion: '2.4' services: rabbitmq: image: markhobson/vsftpd:3.0.3 container_name: vsftpd restart: always hostname: "vsftp" network_mode: "host" environment: - FTP_USER=marksugar - FTP_PASS=linuxea - PASV_ADDRESS=IPADRESS #- PASV_ADDR_RESOLVE=YES - PASV_MIN_PORT=21100 - PASV_MAX_PORT=21110 - FASV_MAX_PER_IP=20000 - FASV_MAX_CLIENTS=200000 #- FILE_OPEN_MODE=0666 #- LOCAL_UMASK=077 #- REVERSE_LOOKUP_ENABLE=NO volumes: - /data/vsftp:/home/vsftpd mem_limit: 2048m而后runing起来docker-compose -f vsftpd.yaml up -dftp客户端工具对于客户端工具可以考虑sftp和FileZilla,更推荐FileZilla我们需要注意下字符集传输,一般默认即可,特殊情况需要修改字符集的情况,特别是中文的时候filezillasftp断点续传
2022年02月23日
2,181 阅读
0 评论
0 点赞
1
2
...
18