首页
站点统计
技术支持
友链
关于我
Search
1
台式电脑DIY配置单之2024.06
1,097 阅读
2
DIY配置单之2024.07
893 阅读
3
苹果笔记本实现用户登录钉钉通知功能
653 阅读
4
麒麟操作系统安装达梦数据库DM8 V8版本
649 阅读
5
《雪中悍刀行》陈望
499 阅读
默认分类
电脑3C
Linux运维
生活杂谈
游戏娱乐
Windows专题
登录
Search
标签搜索
PHP
Linux
麒麟OS
Win11
电脑
腾讯云
阿里云
域名转移
雪中悍刀行
Mac OS
Steam
达梦
SSH
CentOS
SHELL
祝福
Mysql
软考
Zabbix
Redis
清阳
累计撰写
41
篇文章
累计收到
52
条评论
首页
栏目
默认分类
电脑3C
Linux运维
生活杂谈
游戏娱乐
Windows专题
页面
站点统计
技术支持
友链
关于我
搜索到
39
篇与
默认分类
的结果
2024-11-01
CentOS6 ssh 到 CentOS9 报 no hostkey alg 错误【已解决】
CentOS6 ssh 到 CentOS9 报 no hostkey alg 错误【已解决】新安装一台CentOS9的服务器,SSH远程连的时候报错 no hostkey alg原因是:从 RHEL9 的官网文档《1.0.2. Crypto-policies, RHEL core cryptographic components, and protocols(加密策略、RHEL 核心加密组件和协议)》可以看到 SHA-1 已经在 RHEL9 中弃用了!在 RHEL 9 中,用于签名的 SHA-1 用法在 DEFAULT 系统范围的加密策略中受到限制。除 HMAC 外,TLS、DTLS、SSH、IKEv2、DNSSEC 和 Kerberos 协议中不再允许使用 SHA-1。不受 RHEL 系统范围的加密策略控制的单个应用程序在 RHEL 9 中也不再使用 SHA-1 hashes。所以在CentOS中也是一样的情况。解决办法重新启用 SHA-1 来验证现有或第三方加密签名# update-crypto-policies --set DEFAULT:SHA1执行结果如下:{alert type="error"}注意:LEGACY还启用了许多其他不安全的算法。有关详细信息,请参阅 RHEL 9 Security hardening (RHEL 9 安全强化)文档中的 Re-enabling SHA-1 (重新启用 SHA-1)部分。{/alert}
2024年11月01日
308 阅读
0 评论
1 点赞
2024-10-13
PHP版本有效支持和EOL日期
PHP版本有效支持和EOL日期当前 PHP 版本系列的最新有效支持和 EOL 日期。参考自:https://thephp.foundation/blog/2024/10/02/php-core-roundup-19/PHP版本发布日期积极维护直至支持结束时间 PHP 8.12021-11-252023-11-252025-12-31PHP 8.22022-12-082024-12-312026-12-31PHP 8.32023-11-232025-12-312027-12-31PHP 8.42024-11-212026-12-312028-12-31PHP 8.52025-112027-12-312029-12-31
2024年10月13日
79 阅读
0 评论
0 点赞
2024-10-13
win11版本PHP命令行报错:由于找不到vcruntime140.dll 问题 【已解决】
win11版本PHP命令行报错:由于找不到vcruntime140.dll 问题 【已解决】window 11安装php8.3-nfs非线程安全版本,命令行执行php报错:报错:由于找不到vcruntime140.dll,无法继续执行代码解决办法:访问这个网站https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170找到:点击下载,下载链接为:https://aka.ms/vs/17/release/vc_redist.x64.exe下载后,安装。即可解决。
2024年10月13日
55 阅读
0 评论
0 点赞
2024-10-13
腾讯云域名转出到阿里云
腾讯云域名转出到阿里云本文记录了把域名从腾讯云转出到阿里云的操作过程:需求如下:由于在腾讯云下有个域名,但是服务器在阿里云。国内域名需要备案。为了统一管理,需要把域名从腾讯云转移到阿里云,使用阿里云的域名和服务器来统一备案比较方便。需要注意的是,如果域名是在腾讯云新注册的,需要等待60天才行如果新域名注册时间不够60天,在腾讯云控制台操作转移会提示:2024-10-13 13:23:54 星期日等待中。。。
2024年10月13日
17 阅读
0 评论
0 点赞
2024-09-15
iptables连接跟踪状态表conntrack爆满网络故障处理[已解决]
iptables连接跟踪状态表conntrack爆满网络故障处理[已解决]本文记录了Openwrt 软路由,由于iptables连接跟踪状态表conntrack达到最大限制,触发一系列奇怪的网络。从故障现象到排查过程,到优化方案都做了详细的总结首先介绍下公司的网络设备连接方式:{message type="info" content=" 电信出口光猫->软路由openwrt->行为管理(深信服AC)->华为核心交换->二层交换机(有线和无线网络)"/}问题描述:某天接到公司同事反馈 IOS端的 Appstore应用打不开。一开始以为是同事电脑问题。报错如下:故按照管理,重启大法伺候,重启完之后,故障仍在。没多久,又有其他同事陆续范围,MAC笔记本电脑打不开 Appstore,断网重连,重启电脑都不行。看来网络确实有问题。开始排查排查接入点网络先尝试有线和无线,2.4G和5G两个WIFI频段都尝试一次,以上问故障都会出现。初步定位为和WIFI热点无关。应该是上层网络节点出问题。排查路由防火墙设置排查了常规的iptables防火墙,端口转发,行为管理行为策略。发现都正常。路由器tcpdump抓包登录openwrt路由器命令行界面,使用tcpdump -vn 192.168.24.31 抓包debug这里的 192.168.24.31 是其中的一台苹果手机IP,我们用这台手机访问appstore抓包测试。经排查发现打开appstore 这个app时网络数据包异常,从app服务器发来的udp数据包,无法被手机端接收,服务器发来的3次同样的Udp数据包,均没有被手机端接收到。问题就出在这里。那么是什么原因导致的呢?考虑到既然是网络数据包进不来,重置一下网络连接是否有效呢?然后在openwrt上面重载iptables,再测试发现app store可以正常访问了。然而。。。,过了1分钟之后,app store就又无法访问了,一脸懵逼。。。看来这个问题确实跟防火墙有关。防火墙上配置了一系列端口转发规则,都是业务在用的,无法通过关闭Iptables解决。在这里卡了大半天,实在找不到解决办法。并且在这期间app store有时候是能访问的,大部分时间都无法访问。看起来相当不稳定,很奇怪的问题。这里就想着如何追踪iptables工作状态,经过查资料发现。openwrt 网络连接主要和iptables有关,并且记录在 /proc/net/nf_conntrack 中,这个文件中。nf_conntrack详解nf_conntrack(在老版本的 Linux 内核中叫 ip_conntrack)是一个内核模块,用于跟踪一个连接的状态的。连接状态跟踪可以供其他模块使用,最常见的两个使用场景是 iptables 的 nat 的 state 模块。 iptables 的 nat 通过规则来修改目的/源地址,但光修改地址不行,我们还需要能让回来的包能路由到最初的来源主机。这就需要借助 nf_conntrack 来找到原来那个连接的记录才行。而 state 模块则是直接使用 nf_conntrack 里记录的连接的状态来匹配用户定义的相关规则。例如下面这条 INPUT 规则用于放行 80 端口上的状态为 NEW 的连接上的包。iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT。iptables中的状态检测功能是由state选项来实现iptable的/proc/net/nf_conntrack内容详解cat /proc/net/nf_conntrack ipv4 2 tcp 6 8 CLOSE src=115.231.78.3 dst=107.173.34.159 sport=64904 dport=443 src=107.173.34.159 dst=115.231.78.3 sport=443 dport=64904 [ASSURED] mark=0 zone=0 use=2 ipv4 2 tcp 6 119 TIME_WAIT src=115.231.78.3 dst=107.173.34.159 sport=45761 dport=443 src=107.173.34.159 dst=115.231.78.3 sport=443 dport=45761 [ASSURED] mark=0 zone=0 use=2 ipv4 2 tcp 6 6 CLOSE src=115.231.78.3 dst=107.173.34.159 sport=57985 dport=443 src=107.173.34.159 dst=115.231.78.3 sport=443 dport=57985 [ASSURED] mark=0 zone=0 use=2 每一列表达的意思 第一列:网络层协议名字。 第二列:网络层协议号。 第三列:传输层协议名字。 第四列:传输层协议号。 第五列:无后续包进入时无效的秒数,即老化时间。 第六列:不是所有协议都有,连接状态。 其它的列都是通过名字的方式(key与value对)表述,或和呈现标识([UNREPLIED], [ASSURED], …)。一行的不同列可能包含相同的名字(例如src和dst),第一个表示请求方,第二个表示应答方。 呈现标识含义 [ASSURED]: 在两个方面(即请求和响应)方向都看到了流量。 [UNREPLIED]: 尚未在响应方向上看到流量。如果连接跟踪缓存溢出,则首先删除这些连接。 请注意,某些列名仅出现在特定协议中(例如,TCP和UDP的sport和dport,ICMP的type和code)。 仅当内核使用特定选项构建时,才会显示其他列名称(例如mark)。经检查发现,这个文件现在有16000行左右。这个值刚好和当前配置的 net.netfilter.nf_conntrack_max=16000 值接近,并且一直在这个值左右徘徊。查阅资料发现这个值是系统用来记录跟踪所有网络连接状态的表。已经超过了最大值。我们修改并添加一下参数再试试:在 /etc/sysctl.conf 文件中新增以下内容net.netfilter.nf_conntrack_buckets=262144 net.netfilter.nf_conntrack_generic_timeout=600 net.netfilter.nf_conntrack_udp_timeout=30 net.netfilter.nf_conntrack_udp_timeout_stream=180 net.netfilter.nf_conntrack_tcp_timeout_syn_recv=60 net.netfilter.nf_conntrack_tcp_timeout_syn_sent=120 net.netfilter.nf_conntrack_tcp_timeout_time_wait=120然后:sysctl -w net.netfilter.nf_conntrack_buckets=262144 sysctl -w net.netfilter.nf_conntrack_generic_timeout=600 sysctl -w net.netfilter.nf_conntrack_udp_timeout=30 sysctl -w net.netfilter.nf_conntrack_udp_timeout_stream=180 sysctl -w net.netfilter.nf_conntrack_tcp_timeout_syn_recv=60 sysctl -w net.netfilter.nf_conntrack_tcp_timeout_syn_sent=120 sysctl -w net.netfilter.nf_conntrack_tcp_timeout_time_wait=120使之生效。再运行 sysctl -p以防万一。找个业务低峰期重启一下openwrt,重启速度openwrt硬件有关。我们的硬件为inter 10代i7,30秒左右就重启好了。经过2天的观察,发现app store已经完全正常, /proc/net/nf_conntrack 文件记录数也从1.6w,涨到了2w看起来确实生效了。收工。
2024年09月15日
237 阅读
0 评论
0 点赞
2024-09-08
此内容被密码保护
加密文章,请前往内页查看详情
2024年09月08日
42 阅读
0 评论
0 点赞
2024-09-01
Tyepcho开启伪静态并隐藏URL中的index.php
Tyepcho开启伪静态并隐藏URL中的index.phpTyepcho开启伪静态修改网上有很多Typecho开启伪静态,修改/xxx.xxx.com/index.php/xxx.html 为 /xxx.xxx.com/xxx.html 隐藏php后缀的文章,但是大多都有问题,博主经过多次配置,做了一下总结。确保操作正确,能够生效。希望能帮到大家操作过程主要分2步1、修改nginx配置: location / { index index.php index.html index.htm; #原本配置是这样的,会做重定向到index.php #try_files $uri $uri/ /index.php$is_args$args; #修改为下面这一行 try_files $uri $uri/ /$is_args$args; } 然后nginx -t && nginx -s reload 2、修改typecho后台开启伪静态功能如下图:相关安全加固另外教大家如何隐藏nginx,php版本1、隐藏nginx版本只需要在nginx主配置文件nginx.conf中,http字段,添加:server_tokens off; 然后重载nginx。nginx -t && nginx -s reload2、隐藏php版本只需要在php.ini配置文件中,修改 expose_php = Off 为 expose_php = On注意由于是在网页浏览中所以要修改fpm路径下的php.ini,而不是cli路径下的php.ini。然后重启php-fpm
2024年09月01日
73 阅读
0 评论
1 点赞
2024-08-17
Ubuntu22.04配置vsftp服务
Ubuntu22.04配置vsftp服务本文记录了Ubnutu配置基于Vsftp的FTP服务注意本文配置文件和路径仅适用于Ubuntu22.04下的vsftp配置,其他系统请适当变通配置{alert type="info"}(主要是 配置pam认证 部分,不同系统的pam.so库路径不一致){/alert}一、环境系统 软件环境Ubuntu: 22.03Vsftp: 3.0.5ftp 用户这里以用户名: admin, 密码:123456为例ftp上传目录 /data/ftp/adminftp被动模式,监听55554端口,同时允许公网访问本机 55555-55557端口二、配置步骤概要FTP配置过程分为以下几步:安装软件创建必须得目录结构和空的配置文件写入vsftp配置文件修改vsftp pam认证配置文件生成用户账号密码数据库调整ftp目录权限,修正vsftp chroot环境登录测试三、安装软件和创建文件结构apt update apt install vsftpd db-util -y vsftpd -v vsftpd:version 3.0.5 cd /etc/ cp /etc/vsftpd.conf /etc/vsftpd.conf.bak mkdir vsftpd cd vsftpd touch chroot_list ftpusers user_list vuser_passwd.txt mkdir vsftpd_user_conf touch vsftpd_user_conf/admin #这个是ftp用户配置文件四、user配置向配置文件中写入配置cat > ftpusers <<EOF #Users that are not allowed to login via ftp root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody EOF允许登录的ftp用户,主要是写入admin这个ftp用户cat > user_list <<EOF #vsftpd userlist #If userlist_deny=NO, only allow users in this file #If userlist_deny=YES (default), never allow users in this file, and #do not even prompt for a password. #Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers #for users that are denied. #root #bin #daemon #adm #lp #sync #shutdown #halt #mail #news #uucp #operator #games #nobody #gameday-dg admin EOF创建ftp目录 mkdir -p /data/ftp/admin五、用户认证密码文件写入初始账号密码,一会根据这个生成数据库初始源文件cat > vuser_passwd.txt <<EOF admin 123456 EOF生成ftp用户认证所需的数据库文件db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db六、SSL加密配置生成ssl安全连接证书文件 (如果需要开启SSL安全连接的情况下)openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem 在交互式回话框中填入内容如下:CN Shanghai Shanghai gmork gmork Gmork 825943010@qq.com 例如:Country Name (2 letter code) [AU]:CNState or Province Name (full name) [Some-State]:ShanghaiLocality Name (eg, city ) []:Shanghai Organization Name (eg, company) [Internet Widgits Pty Ltd]:gmork Organizational Unit Name (eg, section) []:gmork Common Name (e.g. server FQDN or YOUR name) []:Gmork Email Address []:825943010@qq.com七、配置vsftpd.conf文件写入/etc/vsftpd.conf主配置文件cat > /etc/vsftpd.conf <<EOF local_enable=YES write_enable=YES local_umask=022 user_config_dir=/etc/vsftpd/vsftpd_user_conf dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=NO idle_session_timeout=300 ftpd_banner=Welcome to blah FTP service. chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list ls_recurse_enable=YES listen=YES listen_port=55554 pam_service_name=vsftpd guest_enable=YES guest_username=ftpuser userlist_enable=YES userlist_deny=NO tcp_wrappers=YES use_localtime=YES allow_writeable_chroot=YES #ssl_enable=YES #allow_anon_ssl=NO #force_local_data_ssl=YES #force_local_logins_ssl=YES #ssl_tlsv1=YES #ssl_sslv2=YES #ssl_sslv3=YES #rsa_cert_file=/etc/vsftpd/vsftpd.pem #ssl_ciphers=HIGH #require_ssl_reuse=NO xferlog_enable=YES secure_chroot_dir=/var/run/vsftpd/empty #下面这行很重要,用来解决云服务器服务,客户端连接后报 #425 Security:B爱的IP connection错误的问题。 pasv_promiscuous=yes EOF设置chroot用户内容cat > /etc/vsftpd.user_list <<EOF #vsftpd userlist #If userlist_deny=NO, only allow users in this file #If userlist_deny=YES (default), never allow users in this file, and #do not even prompt for a password. #Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers # for users that are denied. #root #bin #daemon #adm #lp #sync #shutdown #halt #mail #news #uucp #operator #games #nobody #gameday-dg admin EOF八、配置pam认证这里需要注意,由于 pam_userdb.so 在不同架构的系统下路径名略有差异, 可以根据自己的系统来确认 find / -name "pam_userdb.so" 知道到对应的so连接库文件,根据路径和名字把以下的改一下即可: 当前测试过的系统类型有: amd64位系统 x86_64架构文件名为: /usr/lib/x86_64-linux-gnu/security/pam_userdb.so 苹果电脑m1芯片下,linux虚拟机中.so文件路径为: /usr/lib/aarch64-linux-gnu/security/pam_userdb.so #先备份ftp认证配置文件 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak ## 然后写入配置 cat > /etc/pam.d/vsftpd <<EOF auth required /usr/lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd account required /usr/lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd EOF九、设置虚拟ftp用户配置设置虚拟ftp用户名字,权限,ftp工作模式,监听端口,被动模式使用到端口cat > /etc/vsftpd/vsftpd_user_conf/admin << EOF local_root=/data/ftp/admin local_umask=022 pasv_enable=YES pasv_min_port=55555 pasv_max_port=55557 virtual_use_local_privs=YES write_enable=YES EOF十、修改目录权限创建ftp虚拟用户所属的实体账户,用户登录和目录读写授权判断 useradd ftpuser -m -s /usr/sbin/nologin配置ftp上传目录属主chown -R ftpuser.ftpuser /data/ftp 十一、测试和debug测试结果如下图、即配置测试成功十二、报错和解决办法报错1:错误: GnuTLS 错误 -15,位于 gnutls_record_recv: An unexpected TLS packet was received. 错误: 无法读取套接字: ECONNABORTED - 连接中止 错误: 无法连接到服务器解决重新生成证书:报错2useradd ftpuser -m -s /usr/sbin/nologinchown -R ftpuser.ftpuser /data/ftp响应: 500 OOPS: cannot change directory:/nonexistent
2024年08月17日
476 阅读
19 评论
1 点赞
1
2
3
4
5