αααααΆααβα’αααβαααβααααΌαβααΆαβαααααβα±ααβαααα½αβαα ααα»αααβααΆβααΈβαααα‘αΆααβααααβαα½αβααβαααβααΆαβααΆαβα αΌαβααααΎαβααΆαβαα βααΆααβαααΆαααΈαβαααααΎβααααβαα½αβααβααΈβαααααβααΈβααααααβαααα»αβαα·αααααβααΆαβααα SSH / RDP / αααααβααα RTFM / spur ααΌα α
ααΎαααααΌαααααΎαααααααΆα VPN αα·ααααααΉα αα·αα α½α ααααααααααΈα§αααααααΆαα½ααα ααΉαααα
α αΎαααΌα ααααα’ααααα·αα αΆαααΆα αααααΎααα αΆααααααΆαα αααΎααααααΆαα½ααααΆαααΈαααααα
α’αααΈαααα’αααααααΌαααΆααααααΆαααααααΊ
"α’αααΈααααααααΆαααΊαα
ααΎα’ααΈαααΊαα·α" ααΆααΆααα·αααΆαα (ααΌααααΈαααα
ααΎ
ααΎαααΉαα’αα»ααααααΆαααααΎααααΆαα Fedora/CentOS ααΆα§ααΆα ααα ααα»ααααααΆαα·αααΆααααα αΆαααααα
spur ααΊαααααααααααΆααα’αααα αΆααααααΎαααααΌααα·αα’αααααααΆααααα»ααααα αΆαααααΌα ααααααΉαααΆαααα·αααααααα»αααααα½αααααΉαααααΈααΆαα
1. αααΆαααΈααα
-
ααα‘αΎαβαααΆαααΈαβαααααΎβαααα
yum/dnf install knock-server
-
ααααααα ααΆααααααααααΆ (α§ααΆα ααααα ααΎ ssh) - /etc/knockd.conf:
[options] UseSyslog interface = enp1s0f0 [SSHopen] sequence = 33333,22222,11111 seq_timeout = 5 tcpflags = syn start_command = iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT cmd_timeout = 3600 stop_command = iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT [SSHclose] sequence = 11111,22222,33333 seq_timeout = 5 tcpflags = syn command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
ααααα "ααΎα" ααααΌαααΆααααααα±αααα·ααααααααααααααααα·αααααΆααααΈ 1 ααααα α’ααααα·ααααααΉα...
-
/etc/sysconfig/iptablesα
... -A INPUT -p tcp -m state --state NEW -m tcp --dport 11111 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22222 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 33333 -j ACCEPT ...
-
αα αα»αα
service iptables restart service knockd start
-
α’αααα’αΆα αααααα RDP αα αααΆαααΈαααααΈαααΌαα·αααα·αααααα·ααα ααΆααααα»α (/etc/knockd.conf; αααα½ααααααα ααα»α αααααΆααααΎααααΈαααααααΆαααααΆαα·ααααα’ααα)α
[RDPopen] sequence = 44444,33333,22222 seq_timeout = 5 tcpflags = syn start_command = iptables -t nat -A PREROUTING -s %IP% -i enp1s0f0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2 cmd_timeout = 3600 stop_command = iptables -t nat -D PREROUTING -s %IP% -i enp1s0f0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2 [RDPclose] sequence = 22222,33333,44444 seq_timeout = 5 tcpflags = syn command = iptables -t nat -D PREROUTING -s %IP% -i enp1s0f0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2
ααΎαααΆαααΆαααΆααααΆαααΆααααααααΎαααΈα’αα·αα·αααα ααΎαααΆαααΈααααααααααΎααΆααααααααΆ
iptables -S
.
2. ααΆαααααΆαα’αααΈαα»ααα½α
knockd.confα
αααΆααΆααααΆαα’αααΈαααααααααΆαααααα (ααα»ααααααααα·αααααΉαααααΌααα) ααα»αααααααααΊααΆαα·ααααααα αααααααΉαααΆαααΌα ααααα’αααααααΌααααα»ααααααααααααα»αα
- αααα
αα αααα»αααααΆαα Fedora/CentOS ααΆααααα α»αααααααααα»ααααααΆαααααααααααΊ 0.63α ααΎα’αααααΆα ααααΆα UDP - ααααΎααααα αα 0.70 α - α
ααα»α
αααααΆαα
αα αααα»αααΆαααααα Fedora/CentOS ααααΆαααΎααααααΆαααααα α’ααααααΆα. αααααααααααααααα’ααα ααΎαα·αααΌα ααααααααΆααΉααα·αααααΎαααΆαααα - α’ααβααα
αα ααΈαααα’αααα’αΆα ααααΎαααΎαααΆαααααΆαα·ααααα’αααα ααΆα αΆαααΆα αααααααΆαααΈααααααααΆααααααααΆαααααααααΆαααααααΆααααΆαααΆααααΆααα’αα - α αΎααααΆαααΈααααααα αααααΉαααΌα (α αΎα 146% ααΉαααααα) α - α
αΆααααααΎα / αααααα / ααΆααααααααΆα
ααααα·αααΎααΆαααΆααααααααΆαα½α αααααΆααααααΆααααααααΆ ααααα·αααΎααΆαααΈα αααααΆαααα start_command+stop_command α
ααααα·αααΎα’αααααααΎαα»α αααααΉααα ααααα ααα»ααααααΉααα·αααααΎαααΆαααα - ααααΌ
ααΆαααααΉααααΈ UDP α’αΆα ααααΌαααΆαααααΎα αα αααα»αααΆαα’αα»αααα αααα»αααΆαααΆα tcp αα·α udp α αΎαα’αα·αα·ααααααΈαααααααΆααΈα’αΆα ααΎαααααΆαααΆαααααΎαααΈααααΆαααα»αααααα αααααΆααα TCP ααΆαααααααα αααα αΆαααΆα α ααα»αααα UDP αα·ααααααΆααΆααα·αααα ααα»αααααααααΊααΆαααα αΆααααααΆαα·αααααααα - ααααΆαα
αα»αααΈαβαααβααααααβαααβααΆ ααααΆααβαα·αβαα½αβαααααααβααααΆ... ααΎβαα½αβαα·ααΆαβαααΆαβαααβαααβααααβααΆ?
α§ααΆα ααααααα
open: 11111,22222,33333
close: 22222,11111,33333
αααααΆαα 11111 ααΆαααΎαα αα α ααΉααααα αΆαααΆαααΆαααααααΆαααα 22222α ααααααΆαααΆααααα αααααΆααααΈααα (22222) ααΆαααΆααααΆααΉαα αΆααααααΎαααααΎαααΆα ααΆααα·ααααα·ααα α αΎαα’αααΈαααΉααααααΆααα αααα’αΆαααααααΎααΆααααααΆααααααααα’αα·αα·αααααααα ααΏααααααα Β©.
iptables
ααααα·αααΎαα αααα»α /etc/sysconfig/iptables αααααΊα
*nat
:PREROUTING ACCEPT [0:0]
ααΆαα·αααΆαα·αααααΆαααΎααα ααΌα ααααααΆααΊα
*filter
:INPUT ACCEPT [0:0]
...
-A INPUT -j REJECT --reject-with icmp-host-prohibited
ααΆααααααααααα
α αΆααααΆααααΈαααααααααα αααΆαααααα α»ααααα αααααααααααααΆαα INPUT ααΎαααΉαααα½αααΆαααΆαααα·αααα
α αΎαααΆααα·αααΆαααα·ααααααααΆααααααΆααΎαα‘αΆααα ααααααααααα
ααΎααααΈαα»αα±ααααΆααααααα
αααα»α iptables α’αααΈαααααααΌααααα
αΌααα»αα’αααΈ (ααΌα
ααα
- ααααΆαααΎα αα ααΎ CentOS / Fedora ααααΌα α αααΆαα ("α’αααΈααααα·αααααΌαααΆαα αΆαααΆααααααΌαααΆαα’αα»ααααΆα") ααΉαααααΌαααΆααααα½αααααααα»α,
- α αΎαααΎαααα αααΆααα α»ααααααα ααα
αααααααα½αααααΆα
*filter
:INPUT DROP [0:0]
...
#-A INPUT -j REJECT --reject-with icmp-host-prohibited
ααΆααΆααα·αααΆαα α’αααα’αΆα ααααΎ REJECT αααα½αα±αα DROP ααα»ααααααΆαα½αααΉαααΈαα·α DROP ααΉαααΆααααααΈαααΆααααααΆαα bots α
3. α’αα·αα·αα
αααααααααααΊαα½αα±ααα αΆααα’αΆαααααααααα»α (ααΆααααααααααααααα»α) αααααΆαααα’αααααααΌαααΆαααααΎααΆααα·αααααΉαααααΈαααααααΆαα½αααα»αααααααααα»αααααααααΆααααΈα§αααααααΆαα½ααααααα
ααΆαααααΆαααα’αα·αα·αααα½αα
ααα½αααααΌαααΆαα
α»ααααααΈαα
ααΎ
αα αααααααΎαααΎαα’αα·αα·αα α’αααααααΌαααααΆααααΆααΆααΆαααααααααΎααααααΆααααααΆααααα ααααααααΆαα ααΆα/α αΆα ααΆαααΆααα»αααααΆαααΆαααααα αα·α 100 ααα αααΆα αΊα αα·ααααααΆααΆααΆαααα ααααααααΆαααΉααααααααΆαααααΆααααααΉαααααΌααα αααααααΉαααααΌαααΈααΈααΆαααααααΆααααααα±αααααααα
α αΎαααΆα ααααααα αα’αα·αα·αα α’αααααααΌαααααΎαααΎαααΆααααααΆααααααααααα½αα―αα α’αααααα αααΎαααα - bots ααΉαααΆααααα αΆα αα·α αα½α ααα - α’αα·αα·ααααΉααα·αααΆααααααα ααΆααααααΆααααα αααΎαααα - α’αα·αα·ααααΉααα·αααααΎααΆααΆααααααα α¬ααΆααΉαααΆααααααααααΆαααα»αααααααα (ααΌαααΎα "αα»ααα½α ") αα·α αα½α ααα - αααα ααααααααΆαααΉαααΆααααααα ααΎα’ααΈαααΊαα·αα
ααΆαα½αααΉα timeout=5s ααΆααααααΆααα=100..500ms ααΊααΆαααααΎαααααΎαααΆαααΆαααααα»α
ααααααααααααα·ααααα·ααΆα Windows
αα·αααΆααΆααααΆαααα αα½αα±ααα’ααααααΎα ααα»ααααΆααααα ααΆαα·αααΆαα·αααααΆαααααααΆαα Google αααααΆα’αα·αα·αααααα αααΆααααΆαααααααΆαααααα·ααΆαααα ααΌα αααα CLI ααΆααααααΆααααααΆαααα TCP - αα·ααααααααΆαααααΌα
ααΆαααααΎαα’αααα’αΆα
ααΆααααα
Linux
α’αααΈααααααααΆαααΊααΆαααααα ααΈαααα
dnf install knock -y
knock -d <delay> <dst_ip> 11111 22222 33333
MacOS
αααααααΆαααΆααααα½ααααα»αααΊααααΌαααα‘αΎαα
αααααΈ homebrewα
brew install knock
α αΎαααΌαα―αααΆαααΆα
αα
αΆαααΆα
ααααααΆααααΆααααααααΆααΌα
ααΆα
#!bin/sh
knock -d <delay> <dst_ip> 11111 22222 33333
ααααααααααααα·ααααα·ααΆα iOS
αααααΎαααααΎααΆαααΊ KnockOnD (α₯ααα·αααααααΈα αΆα) α
ααααααααααααα·ααααα·ααΆα Android
"αααααΎα ααα" αα·ααααααααΆαααΆαα·ααααααααα ααα»ααααααΆααααΎαααΆαα α αΎαα’αααα’αα·ααααααααΊααααΎαααααΆααα
PS markdown on Habre αα·αααΆαααααααααααΆαααααΆαααα ααααααΆαα½α ...
UPDα‘α€: α’ααα»αβα
αααα
UPDα‘α€: αα½αβαααααβααα
ααααα: www.habr.com