Police fired tear gas and water cannons today at more than 20,000 demonstrators who took to the streets to protest against controversial internal security laws.