본관은 공암(孔巖: 현, 서울특별시 양천구). 자(字)는 수강(壽康). 태조 때삼한공신(三韓功臣)에 봉해진 허선문(許宣文)의 현손이다. 태창승령(太倉丞令)을 지낸 허정(許正)의 아들이며, 어머니는 강릉김씨(江陵金氏)이다. 아들허순(許純)과 정주사(定州使)·합문지후(閤門祗候) 신영린(愼永隣)과 혼인한 딸이 있다.
어려서 아버지를 여의고 몹시 빈곤하게 자랐다. 외고조부인 김긍렴(金兢廉)의 문음으로 벼슬길에 나아가 말단관리로 시작했으나, 공을 쌓아숙종(肅宗)때 철주방어판관(鐵州防禦判官)에 임명되었다.
1109년(예종 4) 구성전투(九城戰鬪)에 중군녹사(中軍錄事)로 병마부사이관진(李冠珍)등과 함께 길주성을 여러 달 동안 고수하고, 중성(重城)을 쌓아 여진족을 물리치는 데 공을 세워 감찰어사에 제수되었다. 또 행영병마판관(行營兵馬判官)이 되어 김의원(金義元) 등과 함께 길주성 밖에서 여진을 쳐서 30여 명을 베고 철갑과 우마를 노획해, 그 공으로 어사잡단(御史雜端)에 승진하였다.
1115년(예종 10)예종(睿宗)이 팔관회(八關會)에 행차하고 돌아와 합문 앞에서 창화(唱和)하고 광대들에게 늦게까지 노래와 춤을 추게 하자, 어사대부 최지(崔贄)와 함께 이를 간언하였다. 1117년(예종 12) 차상서병부시랑(借尙書兵部侍郎)으로 동북면병마사가 된 것을 비롯해 1122년(예종 17)까지 3차에 걸쳐 동북면·서북면의 병마사를 역임하였다. 장기간 동안 북변을 방어한 경험을 살려 왕에게 변방수비의 방책을 건의한 것이 받아들여져 정책으로 채택되었다.
인종(仁宗)초에이자겸(李資謙)· 척준경(拓俊京)이 정권을 잡자 그들에게 아부해 1124년(인종 2)에 동지추밀원사, 다음 해에 지문하성사(知門下省事), 1126년(인종 4)에는 참지정사(參知政事)를 거쳐 중서시랑(中書侍郎)·동중서문하평장사(同中書門下平章事)에까지 올랐다. 그러나 이자겸 등이 실각한 뒤간관(諫官)의 탄핵을 받고 풍주방어사(豐州防禦使)로 좌천되었다.
임기를 마치자 대간의 탄핵이 있었지만 풍주방어사로 재직했을 때의 공로가 인정되어 개부의동삼사((開府儀同三司)·검교태위(校太尉)·호부상서(戶部尙書)로 치사(致仕)하였다.
1144년(인종 22) 83세의 나이로 사망하자, 인종이 특별히 부의를 더하고 조서를 내려 태부(大傅)에 제수하였다.