RADIUS/TACACS
๐ RADIUS & TACACS+ ์๋ฒ ๊ตฌ์ถ ๋ฐ ์ค์ ๊ฐ์ด๋ ๐
1๏ธโฃ RADIUS & TACACS+๋?
**RADIUS (Remote Authentication Dial-In User Service)**์ **TACACS+ (Terminal Access Controller Access-Control System Plus)**๋ ๋คํธ์ํฌ ์ฅ๋น ๋ฐ ์์คํ ์ **์ฌ์ฉ์ ์ธ์ฆ, ๊ถํ ๋ถ์ฌ ๋ฐ ๊ณ์ ๊ด๋ฆฌ(AAA: Authentication, Authorization, Accounting)**๋ฅผ ์ ๊ณตํ๋ ํ๋กํ ์ฝ์ ๋๋ค.
โ RADIUS์ TACACS+์ ์ฐจ์ด์
ํ๋กํ ์ฝ | ๋ณด์์ฑ | ํฌํธ | ์ํธํ ๋ฐฉ์ | ์ฌ์ฉ์ฒ |
---|---|---|---|---|
RADIUS | โ ์ฌ์ฉ์ ๋น๋ฐ๋ฒํธ๋ง ์ํธํ | UDP 1812, 1813 | PAP, CHAP, EAP | VPN, Wi-Fi ์ธ์ฆ |
TACACS+ | โ ์ ์ฒด ํจํท ์ํธํ | TCP 49 | SSH, Telnet ์ธ์ฆ | ๋คํธ์ํฌ ์ฅ๋น (Cisco ๋ฑ) |
2๏ธโฃ RADIUS ์๋ฒ ์ค์น (Linux ๊ธฐ๋ฐ)
๐น Ubuntu/Debian์์ FreeRADIUS ์ค์น
sudo apt update
sudo apt install freeradius -y
๐น CentOS/RHEL์์ FreeRADIUS ์ค์น
sudo yum install freeradius freeradius-utils -y
์ค์น ํ, ์๋น์ค ํ์ฑํ ๋ฐ ์ํ ํ์ธ
sudo systemctl enable freeradius
sudo systemctl start freeradius
sudo systemctl status freeradius
3๏ธโฃ RADIUS ์๋ฒ ์ค์
RADIUS ์ฃผ์ ์ค์ ํ์ผ์ /etc/freeradius/3.0/
๋๋ ํ ๋ฆฌ์ ์์ต๋๋ค.
๐ 1. ํด๋ผ์ด์ธํธ(๋คํธ์ํฌ ์ฅ๋น) ์ถ๊ฐ
sudo nano /etc/freeradius/3.0/clients.conf
๋ค์ ๋ด์ฉ์ ์ถ๊ฐํ์ฌ RADIUS ํด๋ผ์ด์ธํธ(๋คํธ์ํฌ ์ฅ๋น)๋ฅผ ๋ฑ๋กํฉ๋๋ค.
client router1 {
ipaddr = 192.168.1.1
secret = myradiussecret
}
๐ 2. ์ฌ์ฉ์ ๊ณ์ ์ถ๊ฐ
sudo nano /etc/freeradius/3.0/users
testuser Cleartext-Password := "password123"
Service-Type = Framed-User,
Framed-Protocol = PPP
์ค์ ์ ์ ์ฅํ ํ RADIUS ์๋น์ค๋ฅผ ์ฌ์์ํฉ๋๋ค.
sudo systemctl restart freeradius
4๏ธโฃ TACACS+ ์๋ฒ ์ค์น
๐น Ubuntu/Debian์์ TACACS+ ์ค์น
sudo apt install tacacs+ -y
๐น CentOS/RHEL์์ TACACS+ ์ค์น
sudo yum install tacacs+ -y
์ค์น ํ, ์๋น์ค ํ์ฑํ ๋ฐ ์ํ ํ์ธ
sudo systemctl enable tacacs+
sudo systemctl start tacacs+
sudo systemctl status tacacs+
5๏ธโฃ TACACS+ ์๋ฒ ์ค์
TACACS+ ์ฃผ์ ์ค์ ํ์ผ์ /etc/tacacs+/tacacs.conf
์
๋๋ค.
sudo nano /etc/tacacs+/tacacs.conf
๐ 1. ๊ณต์ ํค(Shared Secret) ์ค์
key = "tacacs_secret"
๐ 2. ์ฌ์ฉ์ ๊ณ์ ์ถ๊ฐ
user = admin {
login = cleartext "adminpassword"
service = exec {
priv-lvl = 15
}
}
์ค์ ์ ์ ์ฅํ ํ TACACS+ ์๋น์ค๋ฅผ ์ฌ์์ํฉ๋๋ค.
sudo systemctl restart tacacs+
6๏ธโฃ ๋ฐฉํ๋ฒฝ ์ค์ (ํ์ํ ๊ฒฝ์ฐ)
โ RADIUS (UDP 1812, 1813) & TACACS+ (TCP 49) ํฌํธ ํ์ฉ
๐น UFW (Ubuntu/Debian)
sudo ufw allow 1812/udp
sudo ufw allow 1813/udp
sudo ufw allow 49/tcp
sudo ufw reload
๐น firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=1812/udp
sudo firewall-cmd --permanent --add-port=1813/udp
sudo firewall-cmd --permanent --add-port=49/tcp
sudo firewall-cmd --reload
7๏ธโฃ RADIUS & TACACS+ ํด๋ผ์ด์ธํธ ์ค์
๐ 1. RADIUS ํด๋ผ์ด์ธํธ(๋คํธ์ํฌ ์ฅ๋น) ์ค์ ์์
Cisco ๋ผ์ฐํฐ์์ RADIUS ์ธ์ฆ ํ์ฑํ
configure terminal
radius-server host 192.168.1.100 key myradiussecret
aaa new-model
aaa authentication login default group radius local
aaa authorization exec default group radius local
exit
๐ 2. TACACS+ ํด๋ผ์ด์ธํธ(๋คํธ์ํฌ ์ฅ๋น) ์ค์ ์์
Cisco ๋ผ์ฐํฐ์์ TACACS+ ์ธ์ฆ ํ์ฑํ
configure terminal
tacacs-server host 192.168.1.100 key tacacs_secret
aaa new-model
aaa authentication login default group tacacs+ local
aaa authorization exec default group tacacs+ local
exit
8๏ธโฃ ๋ก๊ทธ ํ์ธ ๋ฐ ๋ฌธ์ ํด๊ฒฐ
๐ 1. RADIUS ๋ก๊ทธ ํ์ธ
sudo journalctl -u freeradius -f
๐ 2. TACACS+ ๋ก๊ทธ ํ์ธ
sudo tail -f /var/log/tacacs.log
๐ 3. ์ธ์ฆ ํ ์คํธ (RADIUS)
radtest testuser password123 127.0.0.1 0 myradiussecret
๐ 4. ์ธ์ฆ ํ ์คํธ (TACACS+)
echo "adminpassword" | tac_pwd
9๏ธโฃ ๊ฒฐ๋ก ๐
โ
RADIUS์ TACACS+๋ ๋คํธ์ํฌ ๋ฐ ์์คํ
์ธ์ฆ์ ๊ฐํํ๋ ์ค์ํ ํ๋กํ ์ฝ์
๋๋ค.
โ
RADIUS๋ VPN, Wi-Fi ์ธ์ฆ์ ์ฃผ๋ก ์ฌ์ฉ, TACACS+๋ Cisco ๋คํธ์ํฌ ์ฅ๋น ์ธ์ฆ์ ์ต์ ํ๋์ด ์์ต๋๋ค.
โ
๋ณด์์ด ์ค์ํ ํ๊ฒฝ์์๋ TACACS+๋ฅผ, ์ผ๋ฐ์ ์ธ ๋คํธ์ํฌ ์ธ์ฆ ํ๊ฒฝ์์๋ RADIUS๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๐ ์ถ๊ฐ ์๋ฃ
1๏ธโฃ FreeRADIUS ๊ณต์ ๋ฌธ์
2๏ธโฃ TACACS+ ๊ณต์ ๋ฌธ์
3๏ธโฃ Cisco RADIUS & TACACS+ ์ค์ ๊ฐ์ด๋
์ด์ RADIUS & TACACS+ ์๋ฒ๋ ์๋ฒฝํ๊ฒ ์ค์ ํ ์ ์์ด์! ๐ฅ
์ถ๊ฐ์ ์ผ๋ก ์ํ๋ ๊ธฐ๋ฅ์ด ์๋ค๋ฉด ์ธ์ ๋ ์ง ์์ฒญํด ์ฃผ์ธ์. ๐