首页   注册   登录
 hilow 最近的时间轴更新

hilow

V2EX 第 181363 号会员,加入于 2016-07-12 07:18:36 +08:00
hilow 最近回复了
5 天前
回复了 log4geek 创建的主题 Java 被调去了垃圾项目,要不要跑路?
29 天前
回复了 514656282 创建的主题 Java 代码里面有中文,大家觉得怎么样?
有种情况会很恶心。
你的模块给另外一个模块传输的是 protobuf 再内嵌 json 数据,然后这个模块输出日志时,有可能是编码过的 utf8 字符
送币是什么意思?
竟然没有学历要求
可惜在上海
经过 prepare 后的参数,对 mysql 来说,是安全的,可以直接入库
但安全是个大问题,对 mysql 安全的数据,也许在其他地方使用,就会引起注入问题
比如 存入 mysql 中的是 js 代码,那你经过处理直接把这些 文本 用到前端,就可能引起问题
推荐一本书 白帽子讲 web 安全,里面有全面的有关示例
44 天前
回复了 hilow 创建的主题 问与答 Java 中的 AES SHA1PRNG 如何用 golang 实现?
@a7a2 谢了
但我主要疑问不是如何加密,是如何生成加密时所用的 key
java 中 AES SHA1PRNG 的生成逻辑是个黑盒吗?还是有什么标准可以参考?
而且 keyBytes 固定时,在 jdk 1.7 时,这个操作返回的 key,每次都随机;
我更新了 jdk 10 后,返回的 key 才固定下来。真把我搞晕了。

[hi@hi javaapi]$ java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
48 天前
回复了 nikoo 创建的主题 问与答 为什么修改端口号后仍可保持连接?
@Tyanboot 我在#5 说的不对。服务端是用 22 端口建立的连接。
#27 是我更正后的准确说明
49 天前
回复了 nikoo 创建的主题 问与答 为什么修改端口号后仍可保持连接?
server 调用 listen 监听 22 端口的请求
client 调用 connect 连接到 22 端口,此时 client 自动分配一个 port1,并向 server 发送一个 syn 包,表示请求建立新的连接

server 收到 syn 后,调用 accept 接受 client 的连接请求,并向 client 回复一个 syn+ack 包
client 回复 ack 包后,连接正式建立完毕。后续双方发送 psh/ack 包交换数据。直到出现 fin 或 rst 包时,或者连接之间长时间无数据传递,即超时,连接才会关闭。

题目所说防火墙禁用非 22 端口的数据,我猜很大可能,仅仅是允许 22 端口收到 syn 包,建立连接,非 22 端口收到 syn 会被防火墙丢弃。
这个需要你来确认,具体使用的什么防火墙,配置的什么策略。


所以能导致当前 ssh 连接失效断开的情况,有以下几种,
1.sshd 进程关闭,导致 client 收到 fin 或者 rst 包
2.防火墙丢弃 22 端口收到的 psh 或 ack 数据

mario85 所贴链接说明,不会出现第 1 种情况,因为每个已建立的连接是新的进程。ssh 代码应该做了特殊处理,以保证不在重启配置时关闭之前启动的进程。
第二种情况也没有出现,因为防火墙的配置中允许所有端口的 push/ack 包,禁止非 22 端口的 syn 包。



tcp 连接建立过程
https://en.m.wikiversity.org/wiki/Wireshark/TCP

ssh 重启过程,链接由 mario85 提供
https://unix.stackexchange.com/questions/27636/how-does-ssh-connection-survive-a-network-restart

iptables 防火墙使用
https://www.digitalocean.com/community/tutorials/iptables-essentials-common-firewall-rules-and-commands


Allow All Incoming SSH To allow all incoming SSH connections run these commands:

sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
The second command, which allows the outgoing traffic of established SSH connections, is only necessary if the OUTPUT policy is not set to ACCEPT.
49 天前
回复了 nikoo 创建的主题 问与答 为什么修改端口号后仍可保持连接?
我说的有些地方不准确。晚上有空我再补充下。
抱歉
49 天前
回复了 nikoo 创建的主题 问与答 为什么修改端口号后仍可保持连接?
你的问题是 server 端的 port2 是被禁止访问的,为什么 clientIP:port1<------>serverIP:port2 之间能通信?

这个我也得查资料确认下,猜测是因为防火墙禁止的只是发送到 非 22 端口的 syn 数据包吧。
我这就确认下去
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   611 人在线   最高记录 3541   ·  
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 10ms · UTC 21:23 · PVG 05:23 · LAX 14:23 · JFK 17:23
♥ Do have faith in what you're doing.
沪ICP备16043287号-1