Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- gns3
- Red Hat
- 오블완
- 티스토리챌린지
- pvst+
- 네트워크
- port aggregation protocol
- STP
- 방화벽
- LACP
- rommon mode
- freeradius
- Ansible
- 네트워크 설계
- stream 9
- SQL
- BPDU
- 네이티브 vlan
- pagp
- Network Design
- ospf
- 연결선 수
- Packet Tracer
- vlan
- centos
- eigrp
- 하프오픈
- 프로그래머스
- Cisco
- junos os
Archives
- Today
- Total
Doctor Pepper
[CentOS] FreeRADIUS 설정 본문
728x90
1. FreeRADIUS 인증 설정
- /etc/raddb/clients.conf : FreeRADIUS 서버에서 클라이언트(네트워크 장비)의 정보를 정의하는 파일이다. 여기서 클라이언트는 FreeRADIUS 서버와 통신하여 인증 및 권한 부여 요청을 보내는 장비를 의미한다.
client 203.230.7.1{ ipaddr = 203.230.7.1 secret = mysecretkey shortname = router1 # nastype = cisco } |
항목 | 설명 |
client | - 클라이언트의 별칭으로 보통 클라이언트의 IP 주소로 설정함 - FreeRADIUS 서버가 클라이언트와 통신할 때 사용할 설정을 정의한다. |
ipaddr | - 클라이언트의 IP 주소를 지정함 - IP 주소는 FreeRADIUS 서버가 인증 요청을 받을 클라이언트를 식별하는 데 사용됨 - 클라이언트에서 보내는 인증 요청의 IP 주소가 여기에 설정된 IP와 일치해야 한다. |
secret | - 클라이언트와 FreeRADIUS 서버 간의 공유 암호(Shard Secret)를 지정함 - 클라이언트와 RADIUS 서버 간에 데이터를 암호화하고 무결성을 검증하기 위해 사용됨 - 클라이언트의 RADIUS 설정에서도 동일한 암호를 설정해야 함 ex) radius-server host 203.230.7.1 auth-port 1812 key shared_secret |
shortname | - 클라이언트를 구별하기 위한 별칭임 - RADIUS 로그와 디버그 출력을 확인할 때 이 별칭이 표시됨. - 관리자가 클라이언트를 식별하기 쉽게 만드는 데 사용됨 |
nastype | - 클라이언트 장비의 유형을 지정함 - cisco는 cisco 네트워크 장비를 의미하며, 특정 벤더의 특화된 동작을 지원함 ∙ other : 기본값, 일반적인 네트워크 장비(ex. cisco) ∙ nas : 네트워크 액세서 서버 ∙ ap : 무선 액세스 포인트 |
- /etc/raddb/users : FreeRADIUS 서버에서 사용자 계정을 정의하고, 해당 사용자에게 특정 권한이나 속성을 부여하기 위해 사용되는 주요 설정 파일이다.
testuser Cleartext-Password := "testpassword" # Service-Type = NAS-Promp-User, # Cisco-AVPair = "shell:priv-lvl = 15" |
항목 | 설명 |
testuser | - RADIUS 인증을 시도하는 사용자의 계정 이름임 - 클라이언트(Cisco 장비 등)에서 RADIUS 서버를 통해 인증할 때 사용하는 사용자 ID임 |
Cleartext-Password | - 사용자의 인증 비밀번호를 설정함 - Cleartext-Password는 일반 텍스트 형태의 비밀번호로 저장되며, RADIUS 서버가 이 비밀번호를 기반으로 클라이언트에서 입력한 비밀번호를 검증함 - 위의 설정에서는 사용자 testuser의 비밀번호가 “password123”으로 설정되어 있음 |
Service-Type | - 사용자가 액세스하려는 서비스 유형을 정의함 - NAS-Prompt-User 값은 네트워크 장비의 명령어 라인 인터페이스(CLI) 액세스를 허용하는 것을 의미함 - 이는 사용자가 라우터나 스위치의 CLI 모드에 접근할 수 있도록 함 ∙ Framed-User : PPP, VPN, 터널링 같은 서비스에 사용 ∙ Administrative-User : 관리자 권한 액세스를 허용 |
Cisco-AVPair | - Cisco 장비에서 사용할 수 있는 Cisco 고유의 속성(Attribute_Value Pair)임 - shell:priv-lvl=15 ∙ 사용자가 Cisco 장비에 로그인했을 때, Privilege Level 15 권한을 부여함 ∙ Privilege Level 15는 Cisco 장비에서 최고 관리자 권한을 의미함 ∙ 사용자는 모든 명령을 실행할 수 있으며, 장비를 완전히 제어할 수 있음 |
- Cisco 장비에서 AAA 설정
# aaa new-model # radius-server host 203.230.7.2 auth-port 1812 acct-port 1813 key mysecretkey # aaa authentication login default group radius local # aaa authorization exec default group radius local # aaa accounting exec default group radius local # test aaa group radius testuser testpassword legacy |
항목 | 설명 |
aaa new-model | - AAA는 인증(Authentication), 권한 부여(Authorization), 과금 및 감사(Accoun- ting)의 약자로, AAA 기능을 활성화함 |
aaa authentication login default group radius local |
- Cisco 장비가 사용자 로그인 시 인증을 수행하는 방식을 정의함 - default : 인증 방식의 기본 방법 세트를 정의함. Telnet, SSH, 콘솔 등 대부분의 로그인 프로세스에 적용됨 - group radius : RADIUS 서버를 사용하여 인증을 시도함. - local : RADIUS 서버를 사용할 수 없거나 실패했을 경우, Cisco 장비의 로컬 사용자 데이터베이스를 사용함 |
aaa authorization exec default group radius local |
- 사용자에게 CLI 또는 기타 서비스를 제공하기 전에 권한을 부여하는 방식을 정의함 - default : 권한 부여에 대한 기본 방법 세트를 정의함. Telnet, SSH, 콘솔 등 대부분의 로그인 프로세스에 적용됨 - group radius : RADIUS 서버를 사용하여 사용자의 권한을 확인함 - local : RADIUS 서버가 응답하지 않을 경우 로컬 데이터베이스로 사용함 |
radius-server host 203.230.7.2 auth-port 1812 key mysecretkey |
- Cisco 장비에서 RADIUS 서버와의 연결을 설정하는 명령어임 - 203.230.7.2 : RADIUS 서버의 IP 주소를 지정함 - auth-port 1812 : RADIUS 프로토콜에서 인증 요청에 사용하는 포트 번호임(기본적으로 UDP 포트 1812를 사용함) - key shared_secret : RADIUS 서버와 Cisco 장비 간 통신을 보호하는 암호화 키임. |
2. FreeRADIUS 인증 실패 시 검증 절차
- Firewalld 상태 확인
sudo systemctl staus firewalld |
- RADIUS 포트 열기
sudo firewall-cmd --add-port=1812/udp --permanent sudo firewall-cmd --add-port=1813/udp --permanent sudo firewall-cmd --reload sudo firewall-cmd --list-ports |
- Iptable 상태 및 RADIUS 포트 허용
sudo iptables -L -v -n # Iptable에 RADIUS 포트 정책 추가 sudo iptables -A INPUT -p udp --dport 1812 -j ACCEPT sudo iptables -A INPUT -p udp --dport 1812 -j ACCEPT # Iptable에 RADIUS 포트 정책 삭제 sudo iptables -D INPUT -p udp --dport 1812 -j ACCEPT sudo iptables -D INPUT -p udp --dport 1812 -j ACCEPT |
- FreeRADIUS clients.conf 파일 확인 및 재시작
sudo nano /etc/raddb/clients.conf # 이전 게시글 참고 sudo systemctl restart radiusd |
- SELinux 상태 확인
sestatus sudo setenforce 0 |
3. FreeRADIUS Password 암호화(MD5)
- 비밀번호(cisco123)를 MD5를 이용하여 암호화 수행
echo -n "cisco123" | md5sum |
- 암호화된 비밀번호를 user 파일에 설정
cisco MD5-Password := "07982c55db2b9985d3391f02e639db9c" |
4. FreeRADIUS 동작 방식
RADIUS 요청 식별 | - 클라이언트(ex. Cisco 라우터 또는 스위치)가 FreeRADIUS 서버로 인증 요청을 보냄 - 요청의 IP 주소가 client.conf 파일의 ipaddr 값과 일치하는지 확인함 |
공유 암호 인증 | - 클라이언트와 FreeRADIUS 서버는 요청을 처리하기 전에 공유 암호(secret)을 확인함 - 공유 암호가 일치하지 않으면 요청은 거부됨 |
로그 기록 | - 요청이 처리되는 동안 로그 파일에는 shortname으로 지정된 별칭이 표시됨 - 이를 통해 관리자는 어떤 클라이언트에서 요청이 들어왔는지 쉽게 확인할 수 있음 |
클라이언트 타입별 동작 | - nastype 값이 Cisco로 설정되었기 때문에 Cisco 장비와 관련된 특화된 RADIUS 동작이 활성화됨. ex. Cisco-specific VSA(Cisco-AVPair)를 처리할 때 유용함 |
728x90
'Linux' 카테고리의 다른 글
[CentOS] FreeRADIUS 개념 및 설치 방법 (1) | 2024.12.24 |
---|---|
[Linux] Linux로 네트워크 구축하기 (1) | 2024.12.22 |
[Linux] VMware로 가상머신 생성하기 (1) | 2024.12.21 |
[Linux] 의존성 Package, 리포지토리 (2) | 2024.12.21 |
[Linux] Red Hat Linux & RHEL 역사 (0) | 2024.12.21 |