본문 바로가기

사는 이야기/펌킨도서관

L4/L7 스위치의 ACL 기능의 존재 이유

L4/L7 스위치의 보안성을 평가할 중요 항목으로 보는 하나가 바로 ACL(Access Control List)입니다. 


ACL 기능은 여러 곳에서 쓰이죠. 보안 장비, 운영체제, 데이터베이스 등에서 중요 보안 기능으로 채택하고 있습니다. 네트워크 장비도 마찬가지입니다. 


그렇다면 L4/L7 스위치에서 ACL 설정이 필요할까? 가장 일반적인 상황을 가정해보죠. 장비를 처음 설치할 아무 생각 없이 네트워크에 연결하면? 순간 공인 IP 타고 수많은 위협 시도가 들어옵니다. 온라인에서 쉽게 구할 있는 툴을 쓰는 아마추어(?) 공격자에 의한 무차별 대입 공격이 주로 들어옵니다. 


이런 유형의 공격이 들어오면 비밀번호 규칙에 따라 이상 잘못된 입력을 결과로 시스템에 접속하지 못하는 불상사가 일어날 있습니다. 그래서 오프라인 상태에서 콘솔로 연결해 설정을 마치고 나서 네트워크에 연결하죠. 


이때 하는 설정 하나가 ACL입니다. 접근 제어는 IP 주소, 포트, 프로토콜별로 지정할 있습니다. ACL 규칙을 정하는 것은 어렵지 않습니다. 가령 장비로 ssh 전송은 허용하고 수신은 차단 하거나, telnet 전송은 허용하고 수신은 차단 하거나, https 전송은 허용하고 수신은 차단하는 등의 조건을 설정한 다음 이를 정책에 반영하면 됩니다. 


ACL 규칙에 따라 패킷의 송수신이 설정에 맞게 통제되는지를 ping 명령을 통해 ACL 정책에 따라 조건에 해당하는 패킷이 DROP 되는지 확인하면 됩니다. 



이쯤에서 방화벽에서도 차단하는데 L4/L7 스위치에서 ACL 설정을 하는 이유가 무엇인가? 궁금할 것입니다. 이유는 방화벽 정책을 우회하는 트래픽이 있기 때문입니다. 실제로 설치 작업을 이상한 로그가 찍히는 경우가 가끔 있습니다. 


다른 이유로 원격 접속의 보안성 강화도 있습니다. 방화벽 관계자에게 요청해 원격 관리나 유지보수 목적으로 특정 출발지 주소의 접속을 허용해 달라고 있습니다. 여기에 추가 안전장치로 L4/L7에서 ACL 걸어 두면 나쁠 없겠죠?