С 1983 по 1986 год учился в аспирантуре в ВПА им.В.И.Ленина. Доцент. Кандидат исторических наук (диссертация по теме "Партийное руководство противопожарными формированиями Ленинграда в годы Великой Отечественной войны", 1986 год). Доктор юридических наук.
В 1973-1980 годах служил в спецвойсках Министерства внутренних дел СССР, с 1980 по 1992 год преподавал в ВПУ МВД Ленинграда.
Был членом КПСС до 19 августа 1991 года. В марте 1990 года был избран народным депутатом РСФСР по Красносельскому территориальному избирательному округу номер 112. На I съезде в июне 1990 года был избран в Верховный Совет РСФСР.
С февраля 1991 до сентября 1993 года был председателем Комитета Верховного Совета РСФСР по обороне и безопасности. На II съезде народных депутатов в декабре 1990 года вместе с Д.Волкогоновым и С.Шахраем стал одним из организаторов фракции "Левый центр" (с декабря 1992 года - "Левый центр - Сотрудничество").
В декабре 1991 года был назначен начальником управления Министерства безопасности и внутренних дел России по Санкт-Петербургу и Ленинградской области (с января 1992 года - Агентство федеральной безопасности, с 24 января 1992 года - Министерство безопасности России) - заместителем министра безопасности.
В сентябре 1992 года, уйдя из Министерства безопасности, вернулся на постоянную работу в Верховный Совет. 22 сентября 1993 года подал в отставку с поста председателя парламентского Комитета. 24 сентября был назначен первым заместителем министра безопасности. После ликвидации Министерства безопасности и создания ФСБ в декабре 1993 года остался заместителем начальника.
3 марта 1994 года, был назначен начальником ФСБ. 30 ноября 1994 года Указом Президента РФ был включен в Группу руководства действиями по разоружению бандформирований в Чечне. В декабре 1994 - январе 1995 года из штаба в Моздоке непосредственно руководил деятельностью контрразведки в Чечне. 30 июня 1995 года был уволен в связи с событиями в Буденновске (захват заложников чеченскими боевиками Шамиля Басаева).
В ноябре 1995 года был назначен начальником административного департамента аппарата Правительства РФ, в ведении которого находятся силовые структуры. 2 июля 1997 года был назначен министром юстиции РФ, стал членом Совета Безопасности РФ, а с октября 1997 года - председателем Комиссии по федеральной конституциональной безопасности. С ноября 1997 года - член Комиссии по противодействию политическому экстремизму РФ.
В 1997 году активно пытался инициировать очередную реформу спецслужб, с целью увеличить полномочия Минюста РФ. 23 марта 1998 года Указом Президента РФ был освобожден от занимаемой должности в связи с отставкой Правительства.
29 марта 1998 года был назначен исполняющим обязанности министра внутренних дел РФ. 28 апреля 1998 года стал министром внутренних дел РФ. 24 августа 1998 года, в связи с отставкой Правительства РФ, был вновь назначен исполняющим обязанности министра. 11 сентября 1998 года снова стал министром. В апреле 1999 года был назначен первым вице-премьером с сохранением должности МВД, с мая по август 1999 года -премьер-министр РФ.
С 1999 года - председатель Национального антикоррупционного комитета. В декабре 1999 годы был избран депутатом Государственной Думы по Северному округу (Санкт-Петербург), был выдвинут объединением "Яблоко", вошел в состав фракции "Яблоко" и стал членом Комитета по безопасности.
В 2000 году был назначен председателем Счетной палаты РФ.
Генерал-лейтенант.
Женат, имеет сына.