일반 사용자로 /proc LACP 바인딩 정보를 얻으시겠습니까?

일반 사용자로 /proc LACP 바인딩 정보를 얻으시겠습니까?

일반 사용자로는 볼 수 없습니다.

"자세한 캐스트 lacp pdu"

정보 내용은 다음과 같습니다.

/proc/net/본딩/본드0

루트만 볼 수 있는 것 같습니다.

그런데 일반 사용자는 이 LACP 정보를 어떻게 볼 수 있을까요? 아니면 루트에서만 가능합니까?

답변1

예, 단지뿌리소스에 표시된 대로 사용자, 더 정확하게는 CAP_NET_ADMIN 기능이 있는 프로세스가 이 정보에 액세스할 수 있습니다./proc그리고/sys ~을 위한 다양한 종류 나뉘다 필리핀 제도.

  if (capable(CAP_NET_ADMIN)) {
  if (BOND_MODE(bond) == BOND_MODE_8023AD && capable(CAP_NET_ADMIN)) {

이는 다음으로 인해 발생할 수 있습니다.bonding.txt문서:

3.7 보다 안전한 방식으로 802.3ad 모드에서 LACP 구성


802.3ad 바인딩 모드를 사용할 때 Actor(호스트)와 Partner(스위치)는 LACPDU를 교환합니다. 이러한 LACPDU는 링크 로컬 MAC 주소로 전송되므로 스니핑할 수 없습니다(스위치/브리지는 이러한 주소를 전달하면 안 됨). 그러나 대부분의 값은 쉽게 예측할 수 있거나 단순히 머신의 MAC 주소(동일한 L2의 다른 모든 호스트에 알려짐)입니다.이는 L2 도메인의 다른 컴퓨터가 다른 호스트에서 스위치로 LACPDU 패킷을 스푸핑할 수 있고 스위치의 관점에서 다른 컴퓨터의 집합체에 합류하여 혼란을 야기할 수 있으며 이로 인해 해당 호스트의 수신 트래픽 및/또는 스푸핑의 일부를 수신할 수 있음을 의미합니다. 머신 자체에 대한 트래픽(트래픽의 특정 부분을 성공적으로 종료하는 것이 가능할 수도 있습니다). 이런 일이 발생할 가능성은 거의 없지만 일부 바인딩 매개변수를 구성하면 이러한 가능성을 피할 수 있습니다.

이를 방지하기 위해 나중에 설명하는 단계에 관계없이 해당 시스템의 권한 없는 사용자가 동일한 LAN에 있는 적대적인 시스템으로 정보를 유출할 수 있는 경우 도움이 되지 않습니다.

따라서 올바른 액세스 권한이 있는 작업자 프로세스가 필요할 수 있습니다. 간단히 쉘 스크립트를 생성하여 정보를 검색하고 sudo를 루트로 사용하여 호출할 수 있습니다. 또는 적절한 액세스 권한이 있는 바이너리 실행 파일을 생성하고 CAP_NET_ADMIN 기능을 여기에 연결할 수 있습니다.

chown root:allowedgroup /path/to/helper-binary
chmod u=rwx,g=rx,o=r /path/to/helper-binary
setcap cap_net_admin+ep /path/to/helper-binary
usermod -aG allowedgroup specialuser

또한 항목을 사용하는 것으로 전환하는 것도 고려해야 합니다. 항목을 /sys/class/net/INTERFACE/bonding/사용하는 것보다 구문 분석하기가 더 쉽기 때문입니다 /proc/net/bonding/.바인딩을 (재)구성하는 대체 방법, 와 함께 /sys/class/net/bonding_masters).

관련 정보