Metalinks provide a way for yum to protect against (maliciously or accidentally) stale mirrors from being used by clients.
MirrorManager deployed for Fedora 10 has the ability to produce Metalinks. Yum in Fedora 10 has the ability to use Metalinks.
- Name: Matt Domsch, James Antill
- Targeted release: Fedora 11
- Last updated: 2008-11-15
- Percentage of completion: 85%
|MirrorManager produces metalinks||100|
|Yum groks metalinks||100|
|mirrors.fedoraproject.org serves https||100|
|yum uses https and validates https certificates||25||yum (urlgrabber) can use https, but does not yet validate https certs.|
Benefit to Fedora
Securely provide the mirrorlist, and only point users to known current and accurate mirrors. Protect against man-in-the-middle attacks while providing mirrorlists to clients. Protect against maliciously stale mirrors serving content with known security bugs which have already been fixed and releases updated, but the stale mirror chooses not to serve such.
Yum, MirrorManager, python-urlgrabber updates.
Enable metalinks in yum repo files. See MirrorManager. Will wish to do this in rawhide early in Fedora 11 process for fedora-release, however any Fedora user can do this on Fedora 9 or Fedora 10 now (as it's forwards and backwards compatible).
In your /etc/yum.repos.d/fedora*.repo files, comment out the mirrorlist lines:
and add a similar metalink line, replacing mirrorlist with metalink and http with https:
Should be identical to today with mirrorlist configuration, but more secure.
However the "mirrorlist" you get from metalink is now tied directly to the repo. metadata, so if your mirror doesn't sync often enough (within 1 week, by default) ... or MirrorManager doesn't update the metalink data before a mirror gets it's data. Then the repo. can become unusable (as the data is considered not valid).
Also this is very likely to be the first time that most people have used yum/yumex/PK/etc. with anything on HTTPS.
python-urlgrabber to handle https cert validation from trusted certificate authorities.
Ship w/ https enabled, recognizing this deficiency.
Ship w/ plain http based metalink.
Worst case remove the metalink configuration and thus. continue as F10 and earlier, not using metalinks.