■一方向だけ当たればいい場合(前面だけなど)
→Cubeオブジェクトに付けたColliderオブジェクトの位置や大きさを調整してください。
(ColliderコンポーネントのSizeやCenterを変えることで設定可能です)
■複数方向の当たり判定を取りたいが、当たった時の処理は同一でいい場合
→Colliderコンポーネントはオブジェクトに複数付与出来ます。
例えばColliderを2つ付け、片方を前面、片方を背面を覆うように位置や大きさを調整すれば、両方の当たり判定が取れます。
ただこの場合、どちらが当たってもCubeに付いたスクリプトのOnCollision系/OnTrigger系メソッドが呼ばれ、どちらが当たったのかの区別は出来ません。
■複数方向の当たり判定を取りたい、当たった時の処理は別々にしたい場合
→Cubeの子オブジェクトとして、当たり判定を取りたい方向の数だけGameObjectを作成します。
子オブジェクトにColliderを1つ付け、位置と大きさを調整。更にOnCollision系/OnTrigger系のメソッドを持つスクリプトを付与します。
(CubeのColliderとOnCollision系/OnTrigger系のメソッドは取り除いておきます)
こうすると衝突が子オブジェクトで発生するので、子のスクリプトから親のスクリプトへ衝突があったことを伝達する(ついでにどの子で衝突が起こったかgameObject.nameなりtagなりで渡す)ことで、当たった位置に応じて別々の当たり判定が取れます。
(もちろん処理がシンプルなら、子オブジェクトのOnCollision系/OnTrigger系メソッド内で処理すればいいかと思います)
■別案:衝突情報から判定する
collision.contactsで当たり判定の位置等が取得出来るので、それがCubeの前面であるかどうか計算することで判定可能です。