Score:0

Iptables: อนุญาต ssh ผ่าน VPN เท่านั้นที่ไม่ทำงาน

ธง us

ฉันต้องอนุญาต ssh ผ่าน VPN (openvpn) โดยใช้ iptables เท่านั้น บริการทั้งหมด (ssh, vpn) อยู่ในเครื่องเดียวกัน กฎปัจจุบันของฉันสำหรับ VPN และ ssh:

# กำหนดนโยบายเริ่มต้น
iptables -P อินพุตลดลง
iptables -P ไปข้างหน้าลดลง
iptables -P เอาต์พุตลดลง

#กฎการล้างข้อมูล
iptables -t แนท -F
iptables -t mangle -F
iptables -F
iptables -X

# อนุญาต localhost
iptables -A INPUT -i $LO -j ยอมรับ
iptables -A OUTPUT -o $LO -j ยอมรับ

# ความปลอดภัย
iptables -A อินพุต -p tcp ! --syn -m conntrack --ctstate NEW -j DROP -m ความคิดเห็น --comment "ส่วน tcp แรกต้องการบิต SYN"

iptables -A INPUT -p tcp --tcp-flags ทั้งหมด -j DROP -m ความคิดเห็น --comment "ปล่อยแพ็กเก็ต XMAS"

iptables -A INPUT -p tcp --tcp-flags ไม่มีทั้งหมด -j DROP -m ความคิดเห็น --comment "ปล่อยแพ็กเก็ต NULL"

iptables -A INPUT -p icmp --icmp-type address-mask-request -j DROP -m comment --comment "drop ICMP smurf attacks"
iptables -A INPUT -p icmp --icmp-type timestamp-request -j DROP
iptables -A INPUT -p icmp --icmp-type การร้องขอเราเตอร์ -j DROP
iptables -A INPUT -p icmp -m limit --limit 2/second -j ยอมรับ

iptables -A INPUT -m conntrack --ctstate INVALID -j DROP -m comment --comment "วางแพ็กเก็ตที่ไม่ถูกต้อง (ไม่ถูกต้อง)"
iptables -A FORWARD -m conntrack --ctstate ไม่ถูกต้อง -j DROP
iptables -A OUTPUT -m conntrack --ctstate ไม่ถูกต้อง -j DROP    

# อนุญาตการรับส่งข้อมูล VPN
iptables -A INPUT -i $WAN -p tcp -m conntrack --ctstate NEW,ESTABLISHED --dport $PORT_OPENVPN -j ACCEPT
iptables -A OUTPUT -o $WAN -p tcp -m conntrack --ctstate ESTABLISHED --sport $PORT_OPENVPN -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o $WAN -j MASQUERADE

iptables -A FORWARD -s 10.8.0.0/24 -o $WAN -j ยอมรับ
iptables -A FORWARD -i $TUN -o $WAN -m conntrack --ctstate RELATED,ESTABLISHED -j ยอมรับ
iptables -A FORWARD -i $WAN -o $TUN -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# อนุญาต SSH
iptables -t nat -I POSTROUTING -p tcp -m tcp --sport $PORT_SSH -o $TUN -j MASQUERADE
iptables -A FORWARD -i $TUN -o $WAN -p tcp --dport $PORT_SSH -j ยอมรับ
iptables -A ไปข้างหน้า -i $WAN -o $TUN -p tcp --sport $PORT_SSH -j ยอมรับ

iptables -A INPUT -p tcp -m tcp --dport $PORT_SSH -j ยอมรับ
iptables -A OUTPUT -p tcp -m tcp --sport $PORT_SSH -j ยอมรับ

แต่ตอนนี้ ssh ใช้งานไม่ได้ทั้งผ่าน vpn หรือไม่มีเลย ผมทำอะไรผิดหรือเปล่า ?

อัปเดต ผลลัพธ์ของ ssh -vv:

OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
debug1: การอ่านข้อมูลการกำหนดค่า .ssh/config
debug2: Solve_canonicalize: ชื่อโฮสต์ <VPS IP ADDRESS HERE> คือที่อยู่
ดีบัก 2: ssh_connect_direct
debug1: การเชื่อมต่อกับพอร์ต <VPS IP ADDRESS HERE> [<VPS IP ADDRESS HERE>] พอร์ต 22
debug1: สร้างการเชื่อมต่อแล้ว
debug1: ไฟล์ข้อมูลประจำตัว .ssh/id_rsa ประเภท -1
debug1: ไฟล์ข้อมูลประจำตัว .ssh/id_rsa-cert ประเภท -1
debug1: ไฟล์ข้อมูลประจำตัว .ssh/id_dsa ประเภท -1
debug1: ไฟล์ข้อมูลประจำตัว .ssh/id_dsa-cert ประเภท -1
debug1: ไฟล์ข้อมูลประจำตัว .ssh/id_ecdsa ประเภท -1
debug1: ไฟล์ข้อมูลประจำตัว .ssh/id_ecdsa-cert ประเภท -1
debug1: ไฟล์ข้อมูลประจำตัว .ssh/id_ed25519 ประเภท -1
debug1: ไฟล์ข้อมูลประจำตัว .ssh/id_ed25519-cert ประเภท -1
debug1: ไฟล์ข้อมูลประจำตัว .ssh/id_xmss ประเภท -1
debug1: ไฟล์ข้อมูลประจำตัว .ssh/id_xmss-cert ประเภท -1
debug1: สตริงเวอร์ชันท้องถิ่น SSH-2.0-OpenSSH_for_Windows_8.1
debug1: โปรโตคอลระยะไกลเวอร์ชัน 2.0, ซอฟต์แวร์ระยะไกลเวอร์ชัน OpenSSH_7.6p1 Ubuntu-4ubuntu0.5
debug1: จับคู่: OpenSSH_7.6p1 Ubuntu-4ubuntu0.5 pat OpenSSH_7.0*,OpenSSH_7.1*,OpenSSH_7.2*,OpenSSH_7.3*,OpenSSH_7.4*,OpenSSH_7.5*,OpenSSH_7.6*,OpenSSH_7 7* เข้ากันได้ 0x04000002
debug2: fd 3 การตั้งค่า O_NONBLOCK
debug1: ตรวจสอบความถูกต้องกับ <VPS IP ADDRESS HERE>:22 เป็น '<LOGIN HERE>'
debug1: ส่ง SSH2_MSG_KEXINIT แล้ว
debug1: ได้รับ SSH2_MSG_KEXINIT แล้ว
debug2: ข้อเสนอ KEXINIT ของลูกค้าในพื้นที่
debug2: อัลกอริทึม KEX: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16 -sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c
debug2: อัลกอริทึมคีย์โฮสต์: [email protected],[email protected],[email protected],rsa- [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384, ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256,ssh-rsa,[email protected],ssh-ed25519
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],hmac [email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],hmac [email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: การบีบอัด ctos: none,[email protected],zlib
debug2: การบีบอัด stoc: none,[email protected],zlib
debug2: ภาษา ctos:
debug2: ภาษา stoc:
debug2: first_kex_follow 0
debug2: สงวนไว้ 0
debug2: ข้อเสนอเพียร์เซิร์ฟเวอร์ KEXINIT
debug2: อัลกอริทึม KEX: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16 -sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1
debug2: อัลกอริทึมคีย์โฮสต์: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],hmac [email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],hmac [email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: การบีบอัด ctos: none,[email protected]
debug2: การบีบอัด stoc: none,[email protected]
debug2: ภาษา ctos:
debug2: ภาษา stoc:
debug2: first_kex_follow 0
debug2: สงวนไว้ 0
debug1: kex: อัลกอริทึม: curve25519-sha256
debug1: kex: อัลกอริทึมคีย์โฮสต์: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: <โดยนัย> การบีบอัด: ไม่มี
debug1: kex: client->server cipher: [email protected] MAC: <implicit> การบีบอัด: ไม่มี
debug1: คาดหวัง SSH2_MSG_KEX_ECDH_REPLY
debug1: รหัสโฮสต์เซิร์ฟเวอร์: ecdsa-sha2-nistp256 SHA256:qUdNYwEs+cvEVkMKTz4RNOObOBsIByhRaehiNvybIi4
debug1: โฮสต์ '<VPS IP ADDRESS HERE>' เป็นที่รู้จักและตรงกับคีย์โฮสต์ ECDSA
debug1: พบคีย์ใน .ssh/known_hosts:3
debug2: set_newkeys: โหมด 1
debug1: คีย์ใหม่หลังจากบล็อก 134217728
debug1: ส่ง SSH2_MSG_NEWKEYS แล้ว
debug1: คาดหวัง SSH2_MSG_NEWKEYS
debug1: ได้รับ SSH2_MSG_NEWKEYS แล้ว
debug2: set_newkeys: โหมด 0
debug1: ป้อนใหม่หลังจากบล็อก 134217728
debug1: pubkey_prepare: ssh_get_authentication_socket: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
debug1: จะพยายามคีย์: .ssh/id_rsa
debug1: จะพยายามคีย์: .ssh/id_dsa
debug1: จะพยายามคีย์: .ssh/id_ecdsa
debug1: จะพยายามคีย์: .ssh/id_ed25519
debug1: จะพยายามคีย์: .ssh/id_xmss
debug2: pubkey_prepare: เสร็จแล้ว
debug1: ได้รับ SSH2_MSG_EXT_INFO แล้ว
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2 -nistp521>
debug2: service_accept: ssh-userauth
debug1: ได้รับ SSH2_MSG_SERVICE_ACCEPT แล้ว
debug1: การรับรองความถูกต้องที่สามารถดำเนินการต่อ: publickey,password
debug1: วิธีการรับรองความถูกต้องถัดไป: publickey
debug1: ลองใช้คีย์ส่วนตัว: .ssh/id_rsa
debug1: ลองใช้รหัสส่วนตัว: .ssh/id_dsa
debug1: ลองใช้รหัสส่วนตัว: .ssh/id_ecdsa
debug1: ลองใช้รหัสส่วนตัว: .ssh/id_ed25519
debug1: ลองใช้คีย์ส่วนตัว: .ssh/id_xmss
debug2: เราไม่ได้ส่งแพ็คเก็ต ปิดการใช้งานเมธอด
debug1: วิธีการรับรองความถูกต้องถัดไป: รหัสผ่าน

debug1: read_passphrase: เปิดไม่ได้ /dev/tty: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว
<เข้าสู่ระบบที่นี่>@<VPS IP ADDRESS HERE> รหัสผ่าน:
debug2: เราส่งแพ็คเก็ตรหัสผ่านแล้ว รอการตอบกลับ
debug1: การรับรองความถูกต้องสำเร็จ (รหัสผ่าน)
รับรองความถูกต้องเป็น <VPS IP ADDRESS HERE> ([<VPS IP ADDRESS HERE>]:22)
debug1: ช่อง 0: ใหม่ [ไคลเอ็นต์เซสชัน]
debug2: ช่อง 0: ส่งเปิด
debug1: ขอ [email protected]
debug1: กำลังเข้าสู่เซสชันแบบโต้ตอบ
debug1: คำมั่นสัญญา: เครือข่าย
debug1: รองรับ ENABLE_VIRTUAL_TERMINAL_INPUT อ่าน VTSequence จากคอนโซล
debug1: รองรับ ENABLE_VIRTUAL_TERMINAL_PROCESSING คอนโซลรองรับการแยกวิเคราะห์ ansi
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug2: channel_input_open_confirmation: ช่อง 0: เริ่มการโทรกลับ
debug2: fd 3 ตั้งค่า TCP_NODELAY
debug2: client_session2_setup: id 0
debug2: ช่อง 0: ขอ pty-req ยืนยัน 1
debug2: ช่อง 0: ขอเชลล์ยืนยัน 1
debug2: channel_input_open_confirmation: ช่อง 0: โทรกลับเสร็จแล้ว
debug2: ช่อง 0: เปิดยืนยัน rwindow 0 rmax 32768
debug2: channel_input_status_confirm: พิมพ์ 99 id 0
debug2: คำขอจัดสรร PTY ได้รับการยอมรับในช่อง 0
debug2: ช่อง 0: rcvd ปรับ 2097152
debug2: channel_input_status_confirm: พิมพ์ 99 id 0
debug2: คำขอเชลล์ได้รับการยอมรับในช่อง 0
Ginnungagap avatar
gu flag
ไม่มีกฎ DROP/REJECT อย่างแน่นอน เราเข้าใจหรือไม่ว่าเชนทั้งหมดเป็นค่าเริ่มต้นหรือเสียง่ายๆ โดยการเพิ่มกฎ NAT
Sergio Ivanuzzo avatar
us flag
@Ginnungagap ขอบคุณสำหรับความคิดเห็น ฉันเพิ่ม iptables config บางส่วนในคำถามของฉัน โปรดแจ้งให้เราทราบหากฉันสามารถเพิ่มข้อมูลเพิ่มเติมได้
Ginnungagap avatar
gu flag
คุณสามารถโพสต์ผลลัพธ์ของความพยายามเชื่อมต่อ SSH ด้วย `ssh -vv` ได้หรือไม่ เนื่องจากเป็นกฎไฟร์วอลล์จึงดูโอเคสำหรับฉัน
Sergio Ivanuzzo avatar
us flag
@Ginnungagap ฉันเชื่อมต่อกับ VPS ผ่าน Putty (win10) และเชื่อมต่อกับ VPN ผ่านไคลเอนต์ openvpn (win10) คุณบอกได้ไหมว่าฉันจะได้ผลลัพธ์ที่ต้องการในกรณีนี้ได้อย่างไร
Ginnungagap avatar
gu flag
ขออภัย ฉันทำไม่ได้ บางทีคนที่เชี่ยวชาญในจักรวาลของไมโครซอฟท์สามารถช่วยได้...
Sergio Ivanuzzo avatar
us flag
@Ginnungagap ขออภัยดูเหมือนว่า cmd (win10) อนุญาตให้ประมวลผลคำสั่งที่คุณโพสต์ ฉันเพิ่มผลลัพธ์ในคำถามข้างต้น ขอดูหน่อยได้ไหม

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา