Here is the excerpt from the article "Russian phonology" in Wikipedia
Voicing
Russian features general regressive assimilation of voicing and palatalization. In longer clusters, this means that multiple consonants may be soft despite their underlyingly (and orthographically) being hard. The process of voicing assimilation applies across word-boundaries when there is no pause between words. Within a morpheme, voicing is not distinctive before obstruents (except for /v/, and /vʲ/ when followed by a vowel or sonorant). The voicing or devoicing is determined by that of the final obstruent in the sequence: просьба [ˈprɵzʲbə] ('request'), водка [ˈvotkə] ('vodka'). In foreign borrowings, this isn't always the case for /f(ʲ)/, as in Адольф Гитлер ('Adolf Hitler') and граф болеет ('the count is ill'). /v/ and /vʲ/ are unusual in that they seem transparent to voicing assimilation; in the syllable onset, both voiced and voiceless consonants may appear before /v(ʲ)/:
- тварь [tvarʲ]) ('the creature')
- два [dva] ('two')
- световой [s(ʲ)vʲɪtʌˈvɵj] ('of light')
- звезда [z(ʲ)vʲɪˈzda] ('star')
When /v(ʲ)/ precedes and follows obstruents, the voicing of the cluster is governed by that of the final segment (per the rule above) so that voiceless obstruents that precede /v(ʲ)/ are voiced if /v(ʲ)/ is followed by a voiced obstruent (e.g. к вдове [ɡvdʌˈvʲe] 'to the widow') while a voiceless obstruent will devoice all segments (e.g. без впуска [bʲɪs ˈfpuskə] 'without an admission').
/tɕ/, /ts/, and /x/ have voiced allophones ([dʑ], [dz] and [ɣ]) before voiced obstruents, as in дочь бы [ˈdɵdʑ bɨ] ('a daughter would') and плацдарм [pɫʌdzˈdarm] ('bridge-head').
Other than /mʲ/ and /nʲ/, nasals and liquids devoice between voiceless consonants or a voiceless consonant and a pause: контрфорс [ˌkontr̥ˈfors]) ('buttress').