๐ง SSH ๋ณด์ ๋ ๋์ ๋ณดํธ๋ฅผ ์ํ 5๊ฐ์ง ์ฌ์ด ํ ๐ก๏ธ
๋ณด์ ์ (Secure Shell)์ ์ฌ์ฉํ์ฌ ์๊ฒฉ ๋ฆฌ๋ ์ค ์์คํ ์ ๊ทผ์ ์์ ์ฑ ๊ฐํ
“`html
5 Ways to Secure SSH on Your Linux System
Iโve been using Secure Shell (SSH) for decades. With this remote login tool, I can rest assured my remote machines accept logins securely and efficiently. At the same time, I also understand nothing is ever 100% secure on any device connected to a network, which is why I always take time to better secure SSH on every computer I use.
๐ Also: The best VPN services (and how to choose the right one for you)
You might be surprised at how easy it is to add a few extra โlayersโ of security. As I highlight below, there are some easy-to-apply tips that will help your Linux desktop and server machine to be a bit more secure, so you can trust theyโre better protected against unwanted logins. Letโs get to work.
1. Install fail2ban: The Protector of Machines ๐ฆธโโ๏ธ
One of the first things you should do (especially on a server) is install fail2ban, which prevents malicious and brute-force login attacks and can also be used to monitor other networking protocols (such as HTTP, SSH, and FTP).
- ์ฑ๊ฐํฌ๋ฅด, ์ ํฅ ๊ธฐ์ ์ํ ๊ตญ๊ฐ ๋ธ๋ก๋๋ฐด๋ ๋คํธ์ํฌ ๊ฐํ ๐ป๐ถ
- ๐ก AT&T ๋๊ท๋ชจ ์ฅ์ ๋ก ๊ณ ๊ฐ๋ค ํต์ ๋๊น
- ๐ ์ฐ์ฃผ ํ์ฌ์์์ ์ฐฝ์๋ ฅ ์์ง, ์ธ์ ๋ด์ดํฐ ํฌ๋ฆฌ์ฝฅํฐ
๐ Also: Do you need antivirus on Linux?
With fail2ban, you create jails, which are configurations that tell the system what to do when certain things happen (such as a failed SSH login attempt). Jail files (typically named jail.local) are housed in /etc/fail2ban/
and might look something like this:
“`
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
findtime = 300
bantime = 28800
ignoreip = 127.0.0.1
“`html
๋ฐ๋น์ ๊ธฐ๋ฐ ์์คํ ์๋ ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ fail2ban์ ์ค์นํ ์ ์์ต๋๋ค:
“`
sudo apt-get install fail2ban -y
ํ๋๋ผ ๊ธฐ๋ฐ ์์คํ ์์๋ ํด๋น ๋ช ๋ น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
sudo dnf install fail2ban -y
2. ๊ธฐ๋ณธ ํฌํธ ๋ณ๊ฒฝํ๊ธฐ: ์๋ฐํ ์์ ๐ต๏ธโโ๏ธ
๊ธฐ๋ณธ์ ์ผ๋ก SSH๋ ์์ ์ฐ๊ฒฐ์ ํฌํธ 22๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ์ฐ๊ฒฐ์ ๋๋ฆฌ ์๋ ค์ ธ ์์ด ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ ์ ์์ต๋๋ค. ์ ์ค์ํ ์์คํ ์์๋ ํญ์ ํฌํธ๋ฅผ 2124์ ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค. ๋ค๋ฅธ ์์คํ ์์ ์ฌ์ฉ๋์ง ์๋ ํฌํธ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
๐ ๋ํ: ์๋ง๋ ์๊ณ ์์ 4๊ฐ์ง ์ค์ํ ๋ณด์ ๋จ๊ณ
ํฌํธ ๊ตฌ์ฑ์ /etc/ssh/sshd_config
ํ์ผ์ ์ค์ ๋๋ฉฐ #Port 22
๋ผ์ธ์ ์์ต๋๋ค.
#
๋ฌธ์๋ฅผ ์ ๊ฑฐํ๊ณ ์ฌ์ฉํ๊ณ ์ถ์ ํฌํธ๋ก 22
๋ฅผ ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค. ๋ณ๊ฒฝ์ ์๋ฃํ ํ SSH๋ฅผ ์ฌ์์ํ๋ ๊ฒ์ ์์ง ๋ง์ธ์:
sudo systemctl restart ssh
ํ๋๋ผ ๊ธฐ๋ฐ ์์คํ ์ ๊ฒฝ์ฐ, ํด๋น ๋ช ๋ น์ด๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ ๋๋ค:
sudo systemctl restart sshd
“`html
3. ๊ณต๋ฐฑ ์ํธ๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์ ์ฐจ๋จ: ๋น์นธ์ด ์๋ ๊ณต๊ฐ ๐
์๋ง ๊ณต๋ฐฑ ์ํธ๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์๋ ์์คํ
์ ์์ ๊ฒ์
๋๋ค๋ง, ์ด ํ์ “๋ฏธ์ํ๋ค” ๋์ “์์ ํ ๊ฒ์ด ์ข๋ค” ๋ฒ์ฃผ์ ์ํฉ๋๋ค. ๊ณต๋ฐฑ ์ํธ๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์๊ฐ ์๋ค๋ฉด ๋์ ํ์์๊ฐ ์ด๋ฅผ ๋ฐ๊ฒฌํ๋ฉด ์ฝ๊ฒ ์ปดํจํฐ์ ์ ์ํ ์ ์์ต๋๋ค. ๊ทธ ์ํฉ์ ๋ฐฉ์งํ๋ ค๋ฉด /etc/ssh/sshd_config
ํ์ผ์ ์ด์ด ๋ค์ ์ค์ ์ฐพ์ผ์ธ์:
“`
#PermitEmptyPasswords no
๊ทธ ์ค์ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝํ์ญ์์ค:
PermitEmptyPasswords no
“`html
ํ์ผ์ ์ ์ฅํ๊ณ ๋ซ์ ๋ค์ SSH๋ฅผ ๋ค์ ์์ํ์ญ์์ค.
4. ํน์ IP ์ฃผ์๋ก ๋ก๊ทธ์ธ ์ ํ: VIP ๋ชฉ๋ก ๐
๋ค๋ฅธ ๋งค์ฐ ํธ๋ฆฌํ ๊ธฐ๋ฅ์ SSH ์ก์ธ์ค๋ฅผ ํน์ IP ์ฃผ์๋ก ์ ํํ๋ ๊ฒ์
๋๋ค. ์๋ฅผ ๋ค์ด ํ ๋ช
๋ง ๊ธฐ๊ณ์ ์ก์ธ์คํด์ผ ํ๋ ๊ฒฝ์ฐ์ด๋ฉฐ ํด๋น ์ฌ์ฉ์์ IP ์ฃผ์๊ฐ 192.168.1.11
์ด๋ผ๋ฉด, /etc/hosts.allow
ํ์ผ์ ์ด์ฉํ์ฌ SSH ์ก์ธ์ค๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ์ด ํ์ผ์ ์ ํธํ๋ ํ
์คํธ ํธ์ง๊ธฐ(์: nano)๋ก ์ด๊ณ ๋ค์ ์ค์ ๋งจ ์๋์ ์ถ๊ฐํ์ญ์์ค:
“`
sshd: 192.168.1.62, 192.168.1.11
Sure! Here is the translated HTML code in Korean, keeping the original information of the src attribute unchanged:
“`html
๋ง์ฝ ํ์ฉํ๊ณ ์ถ์ IP ์ฃผ์๊ฐ ํ๋ ์ด์ ์๋ค๋ฉด, ์ฝค๋ง๋ก ๊ตฌ๋ถํ์ฌ ํ์ํ๋งํผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ๊ฐ ์ฃผ์๋ฅผ ๊ตฌ๋ถํฉ๋๋ค:
“`
sshd: 192.168.1.62, 192.168.1.11, 192.168.1.12, 192.168.1.13, 192.168.1.14
“`html
ํ์ผ์ ์ ์ฅํ๊ณ ๋ซ์ต๋๋ค.
5. Use SSH key authentication: Passkeys Unite ๐โจ
SSH ํค ์ธ์ฆ์ ์ค์์ฑ์ ๊ณผ์ธํ ์ ์์ต๋๋ค. ๋ค๋ฅธ ๊ธฐ์ฌ์์ ์ด๋ฏธ ์ด ๊ธฐ์ ์ด ์ด๋ป๊ฒ ์ค์ ๋๋์ง ๋ณด์ฌ๋๋ ธ์ผ๋, ํด๋น ๊ธฐ์ฌ๋ฅผ ์ฝ๊ณ ์ด ๊ธฐ์ ์ ๊ตฌํํด๋ณด์ธ์. fail2ban๊ณผ ํจ๊ป ์ฌ์ฉ๋๋ SSH ํค ์ธ์ฆ์ ์์น ์๋ SSH ๋ก๊ทธ์ธ์ ๋ฐฉ์งํ๋ ํ๋ฅญํ ๋ฐฉ๋ฒ์ ๋๋ค.
์ฌ๊ธฐ์ ๋ค๋ฃฌ ๊ฒ์ฒ๋ผ – Linux ๋ฐ์คํฌํ ๋ฐ ์๋ฒ ๋ชจ๋์์ SSH๋ฅผ ์์ ํ๊ฒ ๋ณดํธํ๋ ๋ค์ฏ ๊ฐ์ง ์ฌ์ด ๋ฐฉ๋ฒ์ ๋๋ค. SSH์ ‘์์ ’์ด๋ผ๋ ๋จ์ด๊ฐ ๋ค์ด๊ฐ ์๋ค๊ณ ํด์ ๋ฐ๋์ ์์ ํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋์ด์๋ ์ ๋ฉ๋๋ค. ์ฝ๊ฐ์ ์ถ๊ฐ ๊ตฌ์ฑ์ ํตํด SSH ๋ก๊ทธ์ธ์ ์ธํฐ๋ท์ ๋ฐฐํํ๋ฉฐ ์์คํ ์ ์ก์ธ์คํ๋ ค๋ ๋์ ์ฌ์ฉ์๋ค๋ก๋ถํฐ ๋์ฑ ์ ๋ณดํธํ ์ ์์ต๋๋ค.
์ธ์ฉ๋ ์ฐธ๊ณ ๋ฌธํ: 1. Windows 10 ๋ฐ 11์์ ๋ช ๋ น ํ๋กฌํํธ ์ฌ์ฉํ๊ธฐ [2024] 2. ๋คํฌ ์น์ ์์ ํ๊ณ ์์ ํ๊ฒ ์ ์ํ๋ ๋ฐฉ๋ฒ [2024] 3. Deepin 23, ๊ฐ์ฅ ์๋ฆ๋ค์ด Linux ๋ฐ์คํฌํฑ ์ค ํ๋์ ํ์ดํ์ ์ํํ๋ ค๊ณ ํฉ๋๋ค 4. OM Systems OM1 Mark II๋ ๊ฐ์ ๋ ์๋ ์ด์ ์์ ํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค 5. Fedora Linux๋ M1 ๊ธฐ๋ฐ Mac์์ ์คํ๋ฉ๋๋ค โ ํ ๊ฐ์ง ์ ์ธํ๊ณ
์ด ๊ธฐ์ฌ๋ฅผ Linux ์ ํธ๊ฐ์ ๊ณต์ ํด๋ ์ข์ต๋๋ค. ํจ๊ป ์์คํ ์ ์์ ํ๊ฒ ์ ์งํฉ์๋ค! ๐ช๐
๐ข ์ง๋ฌธ ๋ฐ ๋ต๋ณ ์ธ์ : ๊ทํ์ ์๊ฒฌ ๋ค๋ค๋๋ฆฝ๋๋ค ๐โโ๏ธ๐โโ๏ธ
Q: fail2ban์ SSH ๋ณด์์๋ง ์ ์ฉํ๊ฐ์? A: ์๋์, fail2ban์ HTTP ๋ฐ FTP์ ๊ฐ์ ๋ค๋ฅธ ๋คํธ์ํน ํ๋กํ ์ฝ์ ๋ชจ๋ํฐ๋งํ๋ ๋ฐ๋ ์ฌ์ฉํ ์ ์๋ ๋ค์ฌ๋ค๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. ๋ค์ํ ์๋น์ค์ ๋ํ ์ ์์ ์ธ ๋ก๊ทธ์ธ ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๋ ๋ฐ ๊ฐ๋ ฅํ ๋๊ตฌ์ ๋๋ค.
Q: ๊ธฐ๋ณธ SSH ํฌํธ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ ์ด์ ์ ๋ฌด์์ธ๊ฐ์? A: ๊ธฐ๋ณธ SSH ํฌํธ๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์์คํ ์ ์ถ๊ฐ์ ์ธ ๋ํด์ฑ์ ๋ํฉ๋๋ค. ๊ฒฐ๋จ๋ ฅ์๋ ํด์ปค๋ฅผ ๋ง์ง๋ ๋ชปํ์ง๋ง, ์ผ๋ถ ์๋ํ๋ ์ค์บ๋ ๋๊ตฌ๊ฐ ์ง์ ๊ธฐ๊ธฐ๋ฅผ ๋์์ผ๋ก ํ๋ ๊ฒ์ ๋ฐฉ์งํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
Q: SSH ํค ์ธ์ฆ ๋ฐ ๋น๋ฐ๋ฒํธ ๋ก๊ทธ์ธ์ ํจ๊ป ์ฌ์ฉํ ์ ์๋์? A: ๋ค, SSH๋ฅผ ๊ตฌ์ฑํ์ฌ SSH ํค ์ธ์ฆ ๋ฐ ๋น๋ฐ๋ฒํธ ๋ก๊ทธ์ธ์ ๋ชจ๋ ํ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ณด์์ ๊ฐํํ๋ ค๋ฉด SSH ํค ์ธ์ฆ๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ๊ถ์ฅ๋ฉ๋๋ค.
Q: fail2ban์ด ํ์ฑํ๋ ์ํ์์ ์์คํ ์์ ์ธ๋ถ๋ก ์ฐจ๋จ๋๋ฉด ์ด๋ป๊ฒ ๋๋์? A: ์ค์๋ก fail2ban์ ํธ๋ฆฌ๊ฑฐํ๊ณ ์ฐจ๋จ๋๋ฉด, ์ฐจ๋จ ์๊ฐ์ด ๋ง๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๊ฑฐ๋ ์๋์ผ๋ก IP ์ฃผ์๋ฅผ fail2ban ๊ตฌ์ฑ์์ ์ ๊ฑฐํจ์ผ๋ก์จ ์ฌ์ ํ ์ก์ธ์ค๋ฅผ ํ๋ณตํ ์ ์์ต๋๋ค.
Q: ์ด๋ฌํ ํ์ Linux ์์คํ ์๋ง ์ ์ฉ๋๋์? A: ์ด ๊ธฐ์ฌ๋ Linux ๋ฐ์คํฌํ ๋ฐ ์๋ฒ์์ SSH๋ฅผ ์์ ํ๊ฒ ํ๋ ๋ฐ ์ด์ ์ ๋ง์ถ๊ณ ์์ง๋ง, ์ด ํ ์ค ๋ง์ ๊ฒ์ SSH๋ฅผ ์ง์ํ๋ ๋ค๋ฅธ ์ด์ ์ฒด์ ์ธ BSD ๋ฐ macOS์๋ ์ ์ฉํ ์ ์์ต๋๋ค.
SSH ์ฐ๊ฒฐ์ ๋ณดํธํ๋ ๊ฒ์ ์ง์์ ์ธ ์ฌ์ ์ ๋๋ค. ์ ๊ทน์ ์ผ๋ก ๋์ํ์ฌ ์์ ์ ์ ์งํ์ธ์! ๐ก๏ธโจ
๐ ๊ธฐ์ฌ๊ฐ ๋ง์์ ๋์ จ๋ค๋ฉด ์น๊ตฌ๋ค๊ณผ ๊ณต์ ํ์ธ์!
“`