uname -a가 유용한 식별자를 반환하지 않는 이유

uname -a가 유용한 식별자를 반환하지 않는 이유

uname -a나는 대학 서버에 명령을 입력했고 다음과 같은 결과를 얻었습니다.

2.6.18-274.3.1.el5 #1 SMP Tue Sep 6 20:14:03 EDT 2011 i686 i686 i386 GNU/Linux

서버가 실행 중인 Linux 버전을 숨기려고 합니까? 아니면 그것이 보여주는 코어가 그렇지 않다는 것을 의미합니까? uname -aLinux 시스템에 이것을 입력 하면 Ubuntu를 실행하고 있음이 표시되기 때문 입니다. 보안상의 이유로 비밀을 유지할 의향이 있는지 궁금합니다.

답변1

의 출력은 uname비밀스럽게 설계되지 않았습니다. 유용한 정보를 표시하지 않는 이유는 운영 체제 식별이 아닌 시스템 및 커널 식별을 표시하도록 설계되었기 때문입니다. 커널을 컴파일한 사람이 커널 버전 이름( uname -r) 또는 버전( ) 에 일부 정보를 포함하는 경향이 있기 때문에 Linux 배포판을 대략적으로 추측할 수 있습니다 uname -v. 이를 통해 지원팀에서는 사용자가 공식 커널을 실행하고 있는지, 어떤 커널을 실행하고 있는지 알 수 있습니다. 예를 들어 .el여기서는 RHEL이 사용되었으며 버전에는 컴파일 날짜가 포함되어 있습니다.

아니요POSIX-수준 운영 체제 식별. 대부분의 유닉스는 커널 버전과 운영 체제 버전 간에 일대일 매핑을 갖기 때문입니다. 이는 동일한 커널이 여러 배포판과 심지어 여러 운영 체제 간에 공유되는 Linux의 경우에는 해당되지 않습니다(GNU/X11/아파치/리눅스/TeX/펄/파이썬/FreeCiv, 일반적으로 "Linux" 또는 간단히 "Linux"로 알려져 있지만기계적 인조 인간그리고덜 알려진 기타 시스템).

이것리눅스 표준 라이브러리지정하다lsb_release이 명령은 배포에 대한 정보를 반환합니다. lsb_release -ir또는 lsb_release -d원하는 유통정보를 표시해 보세요.

lsb_release이제 대부분의 Linux 배포판에는 이 명령이 있습니다. 이렇게 하지 않으면 보안 목적이 아닙니다. 배포판을 숨기려고 할 필요가 없습니다. 시스템에서 파일을 볼 수 있다면 다양한 방법으로 알 수 있습니다(설치된 패키지 확인, 시스템 파일 비교). 알려진 값 등). 공격자에게 특히 유용한 유일한 정보는 어떤 보안 취약성이 존재하는지 아는 것입니다. 이는 실제로 릴리스의 기능이 아니라 보안 업데이트가 적용되거나 적용되지 않은 기능입니다(이 역시 한 번에 수행할 수 있음). 다양한 방법 - 취약점을 실행하고 그것이 작동하기를 바라는 것을 포함하여 이를 숨기려고 노력할 필요가 없습니다). 이는 lsb_release아마도 표준화가 부족하기 때문일 것입니다. 각 배포판은 버전 번호를 다르게 저장합니다.

답변2

그들이 Linux 버전을 숨기려고 한다면 정말 끔찍한 일을 하고 있는 것입니다. 이는 아마도 RedHat Enterprise Linux의 커널 버전("el5"에서 제공)을 기반으로 한 것 같습니다.

uname에서 배포 이름을 숨기는 것은 실제로 보안을 향상시키지 않습니다. 특정 버전을 제공하는 /etc/rehat-version 파일이 있을 것입니다.

답변3

음, 분명히 이것은 우분투가 아닙니다.)

CentOS 5.7 32비트인 것 같습니다. 상당히 오래된 커널을 실행하고 있으며 일부 보안 업데이트를 적용해야 합니다.

관련 정보