For plain canvas bag, you could add some salt or white vinegar into water when you first wash which could prevent fading. Before cleaning, remove the accessories.
Then, let the bag soak in water for about 30 minutes. Wash it with clean water.
If there are stains, you have to clean the stains at first. Add some detergent on it, and then brush it. Then, you could settle to clean the whole bag. After cleaning, turn the inside out and let it dry in cool place.
If there are leather materials, soak washing is forbidden for canvas bag. You could add some detergent on bag and brush slightly the bag along the lines. In general, cleaning the dust with small brush is enough. Sometime, you could iron the bag in order to keep its shape.
It is recommended to clean bag with neutral detergent, like shampoo or dish detergent. First, drop some detergent in water. Then, let it soak in water for 10-30 minutes. Brush the bag and wash it. If there are stains that are difficult to clean, you could go to the gas station to buy petroleum ether which is a good cleaner.