원래 방어사는 당(唐)나라에서 안사(安史)의 난(亂) 이후 군사적인 절도사 체제의 지방제도를 실시했을 때 두어진 것이다. 고려는 995년(성종 14) 지방세력의 통제강화와 국방력의 강화를 위해 시행되었다.
983년의 12목(牧)을 개편해 절도사를 두고, 이보다 작은 주·군(州·郡)에 도단련사(都團練使)·단련사·자사(刺史)·방어사를 설치한 것이 처음이다.
방어사가 설치된 지역은 관내도(關內道)에 염주(塩州 : 황해도 연안)·안주(安州 : 지금의 재령)·봉주(鳳州 : 지금의 봉산)·신주(信州 : 지금의 신천)·평주(平州 : 지금의 평산)·동주(洞州 : 지금의 서흥)·곡주(谷州 : 지금의 곡산), 삭방도(朔方道)에 고주(高州 : 강원도 고성)·용주(湧州 : 함경남도 덕원)·문주(文州 : 지금의 문천) 등이다.
패서도(浿西道)에 운주(雲州 : 지금의 평안북도 운산)·연주(延州 : 황해도 연산)·박주(博州 : 평안북도 박천)·가주(嘉州 : 박천군 가산)·무주(撫州 : 지금의 영변)·순주(順州 : 평안남도 순천)·태주(泰州 : 평안북도 태천)·은주(殷州 : 평안남도 순천군 은산)·숙주(肅州 : 지금의 숙천) 등이다.
그러나 패서도의 경우, 태주는 광종 21년(970), 순주·은주·숙주·가주는 성종 2년(983)에 방어사의 존재가 이미 나타난다. 방어사가 임명된 지역은 대체로 예성강, 원산만 이북이므로 국방과 아주 밀접한 관계가 있다.
1005년(목종 8)에 도단련사·단련사·자사 등을 혁파했을 때, 관내도의 방어사는 대부분 혁파되었지만 동·서북계에는 단련사만이 폐지되고 방어사는 대부분 그대로 남는다.
그 뒤 1018년(현종 9)에는 서해도에서 5개 방어사 주를 폐지하는 반면, 북계에는 8개 방어사 주를 신설하고, 경상도 지역에 울주·예주·금주·양주 등 4개 방어사 주를 신설하였다. 양계 지역에서는 그 뒤 계속해서 방어사가 증가해 갔다.