scp ์ทจ์•ฝ์  ์ˆ˜์ •์ด ํฌํ•จ๋œ OpenSSH 8.3 ๋ฆด๋ฆฌ์Šค

XNUMX๊ฐœ์›”๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— ์ œ์‹œ๋œ ์„๋ฐฉํ•˜๋‹ค OpenSSH 8.3, SSH 2.0 ๋ฐ SFTP ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์ž‘์—…ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ๋ฐฉํ˜• ํด๋ผ์ด์–ธํŠธ ๋ฐ ์„œ๋ฒ„ ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค.

์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์„œ๋ฒ„๊ฐ€ ์š”์ฒญํ•œ ํŒŒ์ผ ์ด๋ฆ„์ด ์•„๋‹Œ ๋‹ค๋ฅธ ํŒŒ์ผ ์ด๋ฆ„์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๋Š” scp ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๋ณดํ˜ธ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ์˜ ์ทจ์•ฝ์„ฑ, ๊ณต๊ฒฉ์œผ๋กœ ์ธํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋‚˜ glob ๋งˆ์Šคํฌ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. SCP์—์„œ๋Š” ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์— ๋ณด๋‚ผ ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฐ˜ํ™˜๋œ ๊ฐœ์ฒด ์ด๋ฆ„์˜ ์ •ํ™•์„ฑ๋งŒ ํ™•์ธํ•œ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•˜์„ธ์š”. ์‹๋ณ„๋œ ๋ฌธ์ œ์˜ ๋ณธ์งˆ์€ utimes ์‹œ์Šคํ…œ ํ˜ธ์ถœ์ด ์‹คํŒจํ•˜๋ฉด ํŒŒ์ผ ๋‚ด์šฉ์ด ํŒŒ์ผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ํ•ด์„๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์€ ๊ณต๊ฒฉ์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•  ๋•Œ utime ํ˜ธ์ถœ ์‹œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ตฌ์„ฑ(์˜ˆ: utimes๊ฐ€ ๊ธˆ์ง€๋œ ๊ฒฝ์šฐ)์—์„œ scp๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์‚ฌํ•  ๋•Œ ์‚ฌ์šฉ์ž์˜ FS์— ๋‹ค๋ฅธ ํŒŒ์ผ ์ด๋ฆ„ ๋ฐ ๊ธฐํƒ€ ์ฝ˜ํ…์ธ ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SELinux ์ •์ฑ… ๋˜๋Š” ์‹œ์Šคํ…œ ํ˜ธ์ถœ ํ•„ํ„ฐ). ์ผ๋ฐ˜์ ์ธ ๊ตฌ์„ฑ์—์„œ๋Š” utimes ํ˜ธ์ถœ์ด ์‹คํŒจํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์‹ค์ œ ๊ณต๊ฒฉ ๊ฐ€๋Šฅ์„ฑ์€ ์ตœ์†Œํ™”๋œ ๊ฒƒ์œผ๋กœ ์ถ”์ •๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ณต๊ฒฉ์€ ๋ˆˆ์— ๋„์ง€ ์•Š์Šต๋‹ˆ๋‹ค. scp๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์ „์†ก ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • sftp์—์„œ๋Š” ์ด์ „์— ํ—ˆ์šฉ๋˜์—ˆ์ง€๋งŒ ๋ฌด์‹œ๋˜์—ˆ๋˜ ssh ๋ฐ scp์™€ ์œ ์‚ฌํ•˜๊ฒŒ "-1" ์ธ์ˆ˜ ์ฒ˜๋ฆฌ๊ฐ€ ์ค‘์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • sshd์—์„œ IgnoreRhosts๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ด์ œ ์„ธ ๊ฐ€์ง€ ์„ ํƒ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. "yes" - rhosts/shosts ๋ฌด์‹œ, "no" - rhosts/shosts ์กด์ค‘, "shosts-only" - ".shosts"๋Š” ํ—ˆ์šฉํ•˜์ง€๋งŒ ".rhosts"๋Š” ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์ด์ œ Ssh๋Š” Unix ์†Œ์ผ“์„ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” LocalFoward ๋ฐ RemoteForward ์„ค์ •์—์„œ %TOKEN ๋Œ€์ฒด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณต๊ฐœ ํ‚ค๊ฐ€ ์žˆ๋Š” ๋ณ„๋„์˜ ํŒŒ์ผ์ด ์—†๋Š” ๊ฒฝ์šฐ ๊ฐœ์ธ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ํŒŒ์ผ์—์„œ ๊ณต๊ฐœ ํ‚ค๋ฅผ ๋กœ๋“œํ•˜๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์‹œ์Šคํ…œ์—์„œ libcrypto๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์ด์ œ ssh ๋ฐ sshd๋Š” ์„ฑ๋Šฅ์ด ๋’ค๋–จ์–ด์ง€๋Š” ๋‚ด์žฅ ํœด๋Œ€์šฉ ๊ตฌํ˜„ ๋Œ€์‹  ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ chacha20 ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • "ssh-keygen -lQf /path" ๋ช…๋ น์„ ์‹คํ–‰ํ•  ๋•Œ ํ•ด์ง€ ์ธ์ฆ์„œ์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ชฉ๋ก ๋‚ด์šฉ์„ ๋คํ”„ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํœด๋Œ€์šฉ ๋ฒ„์ „์€ SA_RESTART ์˜ต์…˜์ด ํฌํ•จ๋œ ์‹ ํ˜ธ๊ฐ€ select ์ž‘์—…์„ ์ค‘๋‹จํ•˜๋Š” ์‹œ์Šคํ…œ ์ •์˜๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • HP/UX ๋ฐ AIX ์‹œ์Šคํ…œ์˜ ์–ด์…ˆ๋ธ”๋ฆฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ผ๋ถ€ Linux ๊ตฌ์„ฑ์—์„œ seccomp ์ƒŒ๋“œ๋ฐ•์Šค ๊ตฌ์ถ•๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • libfido2 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐ์ง€๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์œผ๋ฉฐ "--with-security-key-builtin" ์˜ต์…˜์œผ๋กœ ๋นŒ๋“œ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

OpenSSH ๊ฐœ๋ฐœ์ž๋“ค์€ SHA-1 ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ž„๋ฐ•ํ•œ ๋ถ„ํ•ด์— ๋Œ€ํ•ด ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฒฝ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ™๋ณด ํŠน์ • ์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•œ ์ถฉ๋Œ ๊ณต๊ฒฉ์˜ ํšจ์œจ์„ฑ(์ถฉ๋Œ ์„ ํƒ ๋น„์šฉ์€ ์•ฝ 45๋‹ฌ๋Ÿฌ๋กœ ์ถ”์‚ฐ๋ฉ๋‹ˆ๋‹ค) ๋‹ค๊ฐ€์˜ค๋Š” ๋ฆด๋ฆฌ์Šค ์ค‘ ํ•˜๋‚˜์—์„œ๋Š” SSH ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์›๋ž˜ RFC์— ์–ธ๊ธ‰๋˜์–ด ์žˆ๊ณ  ์‹ค์ œ๋กœ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๊ณต๊ฐœ ํ‚ค ๋””์ง€ํ„ธ ์„œ๋ช… ์•Œ๊ณ ๋ฆฌ์ฆ˜ "ssh-rsa"๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค(์‚ฌ์šฉ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด). ์‹œ์Šคํ…œ์— ssh-rsa๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ "-oHostKeyAlgorithms=-ssh-rsa" ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ssh๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OpenSSH์—์„œ ์ƒˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์›ํ™œํ•˜๊ฒŒ ์ „ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” UpdateHostKeys ์„ค์ •์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋ณด๋‹ค ์•ˆ์ •์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ž๋™ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์— ๊ถŒ์žฅ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์—๋Š” RFC2 RSA SHA-256 ๊ธฐ๋ฐ˜์˜ rsa-sha512-8332/2(OpenSSH 7.2๋ถ€ํ„ฐ ์ง€์›๋˜๋ฉฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ๋จ), ssh-ed25519(OpenSSH 6.5๋ถ€ํ„ฐ ์ง€์›) ๋ฐ ecdsa-sha2-nistp256/384/521 ๊ธฐ๋ฐ˜์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. RFC5656 ECDSA(OpenSSH 5.7๋ถ€ํ„ฐ ์ง€์›).

๋งˆ์ง€๋ง‰ ๋ฆด๋ฆฌ์Šค๋ถ€ํ„ฐ "ssh-rsa" ๋ฐ "diffie-hellman-group14-sha1"์€ ์ƒˆ ์ธ์ฆ์„œ์— ๋””์ง€ํ„ธ ์„œ๋ช…์„ ํ—ˆ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ •์˜ํ•˜๋Š” CASignatureAlgorithms ๋ชฉ๋ก์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ธ์ฆ์„œ์— SHA-1์„ ์‚ฌ์šฉํ•˜๋ฉด ์ถ”๊ฐ€ ์œ„ํ—˜์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๊ณต๊ฒฉ์ž๋Š” ๊ธฐ์กด ์ธ์ฆ์„œ์— ๋Œ€ํ•œ ์ถฉ๋Œ์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด ๋ฌด์ œํ•œ์ธ ๋ฐ˜๋ฉด ํ˜ธ์ŠคํŠธ ํ‚ค์— ๋Œ€ํ•œ ๊ณต๊ฒฉ ์‹œ๊ฐ„์€ ์—ฐ๊ฒฐ ์‹œ๊ฐ„ ์ดˆ๊ณผ(LoginGraceTime)์— ์˜ํ•ด ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€