2.5 ๋ธ๋์น ์ถ์ ํ 2.6.0๋ ๋ฐ ํ์ OpenVPN 2 ์ถ์๊ฐ ์ค๋น๋์์ต๋๋ค. OpenVPN XNUMX์ ๋ ํด๋ผ์ด์ธํธ ์์คํ ๊ฐ์ ์ํธํ๋ ์ฐ๊ฒฐ์ ๊ตฌ์ฑํ๊ฑฐ๋ ์ค์ ์ง์ค์ VPN ์๋ฒ๋ฅผ ์ ๊ณตํ ์ ์๋ ๊ฐ์ ์ฌ์ค๋ง ์์ฑ์ฉ ํจํค์ง์ ๋๋ค. ์ฌ๋ฌ ํด๋ผ์ด์ธํธ์ ๋์ ์์ ์ ์ํด. OpenVPN ์ฝ๋๋ GPLvXNUMX ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋๋ฉฐ Debian, Ubuntu, CentOS, RHEL ๋ฐ Windows์ฉ์ผ๋ก ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ๋ฐ์ด๋๋ฆฌ ํจํค์ง๊ฐ ์์ฑ๋ฉ๋๋ค.
์ฃผ์ ํ์ :
- ๋ฌด์ ํ์ ์ฐ๊ฒฐ์ ์ง์ํฉ๋๋ค.
- ovpn-dco ์ปค๋ ๋ชจ๋์ด ํฌํจ๋์ด ์์ด VPN ์ฑ๋ฅ ์๋๋ฅผ ํฌ๊ฒ ๋์ผ ์ ์์ต๋๋ค. ๋ชจ๋ ์ํธํ ์์
, ํจํท ์ฒ๋ฆฌ ๋ฐ ํต์ ์ฑ๋ ๊ด๋ฆฌ๋ฅผ Linux ์ปค๋ ์ธก์ผ๋ก ์ด๋ํ์ฌ ๊ฐ์ํ๋ฅผ ๋ฌ์ฑํฉ๋๋ค. ์ด๋ ์ปจํ
์คํธ ์ ํ๊ณผ ๊ด๋ จ๋ ์ค๋ฒํค๋๋ฅผ ์ ๊ฑฐํ๊ณ ๋ด๋ถ ์ปค๋ API์ ์ง์ ์ก์ธ์คํ์ฌ ์์
์ ์ต์ ํํ ์ ์์ผ๋ฉฐ ์ปค๋ ๊ฐ์ ๋๋ฆฐ ๋ฐ์ดํฐ ์ ์ก์ ์ ๊ฑฐํฉ๋๋ค. ๋ฐ ์ฌ์ฉ์ ๊ณต๊ฐ(์ํธํ, ์ํธ ํด๋
๋ฐ ๋ผ์ฐํ
์ ์ฌ์ฉ์ ๊ณต๊ฐ์ ํธ๋ค๋ฌ๋ก ํธ๋ํฝ์ ๋ณด๋ด์ง ์๊ณ ๋ชจ๋์ ์ํด ์ํ๋จ)
์ํ๋ ํ ์คํธ์์ tun ์ธํฐํ์ด์ค ๊ธฐ๋ฐ ๊ตฌ์ฑ๊ณผ ๋น๊ตํ์ฌ AES-256-GCM ์ํธํ๋ฅผ ์ฌ์ฉํ๋ ํด๋ผ์ด์ธํธ ๋ฐ ์๋ฒ ์ธก ๋ชจ๋์ ์ฌ์ฉํ๋ฉด ์ฒ๋ฆฌ๋์ด 8๋ฐฐ ์ฆ๊ฐํ์ต๋๋ค(370์์ 2950๋ฐฐ ์ฆ๊ฐ). Mbit/s ~ 4Mbit/s). ํด๋ผ์ด์ธํธ ์ธก์์๋ง ๋ชจ๋์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋๊ฐ๋ ํธ๋ํฝ์ ์ฒ๋ฆฌ๋์ด 35๋ฐฐ ์ฆ๊ฐํ์ผ๋ฉฐ ๋ค์ด์ค๋ ํธ๋ํฝ์ ์ฒ๋ฆฌ๋์ ๋ณ๊ฒฝ๋์ง ์์์ต๋๋ค. ์๋ฒ ์ธก์์๋ง ๋ชจ๋์ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋ค์ด์ค๋ ํธ๋ํฝ์ ์ฒ๋ฆฌ๋์ด XNUMX๋ฐฐ, ๋๊ฐ๋ ํธ๋ํฝ์ ๊ฒฝ์ฐ XNUMX% ์ฆ๊ฐํ์ต๋๋ค.
- ์์ฒด ์๋ช ๋ ์ธ์ฆ์๋ก TLS ๋ชจ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ("-peer-fingerprint" ์ต์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ "-ca" ๋ฐ "-capath" ๋งค๊ฐ๋ณ์๋ฅผ ์๋ตํ๊ณ Easy-RSA ๊ธฐ๋ฐ PKI ์๋ฒ ์คํ์ ํผํ ์ ์์ต๋๋ค. ์ ์ฌํ ์ํํธ์จ์ด).
- UDP ์๋ฒ๋ HMAC ๊ธฐ๋ฐ ์ฟ ํค๋ฅผ ์ธ์ ์๋ณ์๋ก ์ฌ์ฉํ๋ ์ฟ ํค ๊ธฐ๋ฐ ์ฐ๊ฒฐ ํ์ ๋ชจ๋๋ฅผ ๊ตฌํํ์ฌ ์๋ฒ๊ฐ ๋ฌด์ํ ๊ฒ์ฆ์ ์ํํ ์ ์๋๋ก ํฉ๋๋ค.
- OpenSSL 3.0 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋น๋์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ต์ OpenSSL ๋ณด์ ์์ค์ ์ ํํ๋ "--tls-cert-profile insecure" ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ธ๋ถ ์ฐ๊ฒฐ ์๋ฅผ ๊ณ์ฐํ๊ณ ํด๋น ๋ชฉ๋ก์ ํ์ํ๋ ์๋ก์ด ์ ์ด ๋ช ๋ น์ธ ์๊ฒฉ ํญ๋ชฉ ์(remote-entry-count) ๋ฐ ์๊ฒฉ ํญ๋ชฉ-๊ฒ(remote-entry-get)์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ํค ๊ณ์ฝ ํ๋ก์ธ์ค ์ค์ OpenVPN ๊ด๋ จ PRF ๋ฉ์ปค๋์ฆ ๋์ EKM(Exported Keying Material, RFC 5705) ๋ฉ์ปค๋์ฆ์ด ํค ์์ฑ ์๋ฃ๋ฅผ ์ป๋ ๋ฐ ์ ํธ๋๋ ๋ฐฉ๋ฒ์ ๋๋ค. EKM์ ์ฌ์ฉํ๋ ค๋ฉด OpenSSL ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ mbed TLS 2.18+๊ฐ ํ์ํฉ๋๋ค.
- FIPS 140-2 ๋ณด์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ์์คํ ์์ OpenVPN์ ์ฌ์ฉํ ์ ์๋๋ก FIPS ๋ชจ๋์์ OpenSSL๊ณผ์ ํธํ์ฑ์ด ์ ๊ณต๋ฉ๋๋ค.
- mlock์ ์ถฉ๋ถํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์ฝ๋์๋์ง ํ์ธํ๋ ๊ฒ์ฌ๋ฅผ ๊ตฌํํฉ๋๋ค. 100MB ๋ฏธ๋ง์ RAM์ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ setrlimit()๊ฐ ํธ์ถ๋์ด ์ ํ์ ๋๋ฆฝ๋๋ค.
- TLS-verify๋ฅผ ์ฌ์ฉํ์ง ์๊ณ SHA256 ํด์ ๊ธฐ๋ฐ ์ง๋ฌธ์ ์ฌ์ฉํ์ฌ ์ธ์ฆ์์ ์ ํจ์ฑ์ด๋ ๋ฐ์ธ๋ฉ์ ํ์ธํ๋ "--peer-fingerprint" ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์คํฌ๋ฆฝํธ์๋ "-auth-user-pass-verify" ์ต์ ์ ์ฌ์ฉํ์ฌ ๊ตฌํ๋ ์ง์ฐ ์ธ์ฆ ์ต์ ์ด ์ ๊ณต๋ฉ๋๋ค. ์ง์ฐ๋ ์ธ์ฆ์ ์ฌ์ฉํ ๋ ๋ณด๋ฅ ์ค์ธ ์ธ์ฆ์ ๋ํด ํด๋ผ์ด์ธํธ์ ์๋ฆฌ๋ ์ง์์ด ์คํฌ๋ฆฝํธ ๋ฐ ํ๋ฌ๊ทธ์ธ์ ์ถ๊ฐ๋์์ต๋๋ค.
- OpenVPN 2.3.x ๋๋ ์ด์ ๋ฒ์ ์ ์คํํ๋ ์ด์ ์๋ฒ์ ์ฐ๊ฒฐํ ์ ์๋๋ก ํธํ์ฑ ๋ชจ๋(-compat-mode)๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- โ--data-ciphersโ ํ๋ผ๋ฏธํฐ๋ฅผ ํตํด ์ ๋ฌ๋ ๋ชฉ๋ก์๋ ์ ๋์ฌ โ?โ๊ฐ ํ์ฉ๋ฉ๋๋ค. SSL ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ง์๋๋ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉ๋๋ ์ ํ์ ์ํธ๋ฅผ ์ ์ํฉ๋๋ค.
- ์ต๋ ์ธ์ ์๊ฐ์ ์ ํํ ์ ์๋ "-session-timeout" ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๊ตฌ์ฑ ํ์ผ์ ์ฌ์ฉํ๋ฉด ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฆ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. .
- ์๋ฒ๊ฐ ์ ์กํ MTU ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํด๋ผ์ด์ธํธ์ MTU๋ฅผ ๋์ ์ผ๋ก ๊ตฌ์ฑํ๋ ๊ธฐ๋ฅ์ด ์ ๊ณต๋ฉ๋๋ค. ์ต๋ MTU ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ํด "โtun-mtu-max" ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค(๊ธฐ๋ณธ๊ฐ์ 1600).
- ์ ์ด ํจํท์ ์ต๋ ํฌ๊ธฐ๋ฅผ ์ ์ํ๊ธฐ ์ํด "--max-packet-size" ๋งค๊ฐ๋ณ์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- inetd๋ฅผ ํตํ OpenVPN ์์ ๋ชจ๋์ ๋ํ ์ง์์ด ์ ๊ฑฐ๋์์ต๋๋ค. ncp-disable ์ต์ ์ด ์ ๊ฑฐ๋์์ต๋๋ค. verify-hash ์ต์ ๊ณผ ์ ์ ํค ๋ชจ๋๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค(TLS๋ง ์ ์ง๋จ). TLS 1.0 ๋ฐ 1.1 ํ๋กํ ์ฝ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค(tls-version-min ๋งค๊ฐ๋ณ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก 1.2๋ก ์ค์ ๋จ). ๋ด์ฅ๋ ์์ฌ ๋์ ์์ฑ๊ธฐ ๊ตฌํ(-prng)์ด ์ ๊ฑฐ๋์์ต๋๋ค. mbed TLS ๋๋ OpenSSL ์ํธํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ PRNG ๊ตฌํ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. PF(ํจํท ํํฐ๋ง) ์ง์์ด ์ค๋จ๋์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์์ถ์ ๋นํ์ฑํ๋์ด ์์ต๋๋ค(--allow-compression=no).
- ๊ธฐ๋ณธ ์ํธ ๋ชฉ๋ก์ CHACHA20-POLY1305๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
์ถ์ฒ : opennet.ru