是的,可以进行缓存中毒攻击,是的,可以保护自己。
除了使用 GPG 对包文件进行签名的相当标准做法之外,一些发行版还使用 DNSSEC 来保护为这些文件提供服务的域免受 DNS 欺骗。
请注意下面 dns 答案中的“广告”标志:
$ dig +dnssec security.debian.org.
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> +dnssec security.debian.org.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23375
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 9, AUTHORITY: 4, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;security.debian.org. IN A
;; ANSWER SECTION:
security.debian.org. 300 IN A 212.211.132.250
security.debian.org. 300 IN A 128.31.0.36
security.debian.org. 300 IN A 128.61.240.73
security.debian.org. 300 IN A 128.101.240.212
security.debian.org. 300 IN A 149.20.20.6
security.debian.org. 300 IN A 195.20.242.89
security.debian.org. 300 IN A 200.17.202.197
security.debian.org. 300 IN A 212.211.132.32
security.debian.org. 300 IN RRSIG A 8 3 300 20140827233402 20140728233402 28626 security.debian.org. AF84GPGaVSMwLsTWP0vVJpW6E9r7PL1Pi/LTxGXPUt5x1AxeW8UKJ+wh OiB6tPy91sBRA5GfNofq+P3AhsWt2JGSR/iiN9qq6p6ryU6G5gQeZbYY MYVGDzf3j2z+kUMbsB902L/fPeJzLDxyaJzHPLU8alzs+4bvvKfd4SeA +MyGrckpFkr0Csi2LtRKGA5hJPrxFcHOFeWsY+n/mjAxy8g6SSdYrKVZ 3kk5G9sR1kKSiyHwxFVaIQXR0j1skl9/
;; AUTHORITY SECTION:
security.debian.org. 28800 IN NS geo1.debian.org.
security.debian.org. 28800 IN NS geo2.debian.org.
security.debian.org. 28800 IN NS geo3.debian.org.
security.debian.org. 28800 IN RRSIG NS 8 3 28800 20140827233402 20140728233402 28626 security.debian.org. TpTt53QAgOwwH38oqkfbm4F07j78VthQCzcHezN+N0+fPu0vXiatFMAI 1CBAFkYj/rkYNfv+xhM7OfvNgWMcRoMn9v7UOtMdxUOsjO2lQCVdjMsx TRz9OITY/NZWVD0/hkNXvpBVbsFW+y0JRzEb0xegHdGYHS1A9PVwRlCT 2DJLgkL6mS+RrOfteEDZD80HZZiiQcDLf1CgG6K2s5wNUIwsAzZdFEWC XnCXAguK3PVusvvnHz1i09B9qducyd+8
;; Query time: 2370 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Jul 29 04:00:11 2014
;; MSG SIZE rcvd: 719
默认情况下,debian(和 AFAIK 大多数其他发行版)将需要GPG 签名来匹配。
如果您想在提供包文件的域上利用 DNSSEC 保护,请在本地运行验证缓存名称服务器,例如未绑定或绑定。