제목과 관련하여 CVE 넘버는 CVE-2016-5195 이며 보안 취약점을 이용한 권한 상승 이슈
 
현재 해당 내용과 관련하여  Red Hat 에서는 아래의 페이지에서 관련 내용을 진행 중이며
 
아래에 언급된 버전이 영향을 받는다고 합니다. ( RHEL 을 제외한 배포판은 하단 참고 )
 
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
자세한 영향도를 확인하고 싶으시면 아래의 스크립트를 실행해 서 확인이 가능하며
 
해결 방법으로는 커널 패치가 있으며 현재  RHEL6, 7 버전에 대해서만 패치를 제공 ( workaround 없음 )
 
 
그 외 OS 는 아래 참고 
 
ubuntu
 
Debian 
 
Centos 
 

RHEL 을 이용하면서 항상 듣게되는 말?
튜닝좀 해주세요…

뭘 해달란 말인가??? 이 시스템이 어떻게 사용하는지도 모르고… 얼마나 사용하는지도 모르고…
뭘 어떻게 건드려야 될지도 모르거늘???

그럼 어떻게 해야되나?

RHEL6 부터 이런 문제들을 해결하고자
기본적인 몇가지 프로파일을 중심으로 튜닝값을 제시하고 있다.
Link : RHEL with tuned , RHEL6 Performance_Tuning_Guide

“tuned”를 사용하기 위해서는 “tuned” 패키지를 설치하고 “tuned-adm” 명령어를 통해서 조절이 가능하다.

프로파일 종류 :
default

desktop-powersave
server-powersave
laptop-ac-powersave
laptop-battery-powersave
spindown-disk
throughput-performance
latency-performance
enterprise-storage

그 외 RHEL5 에서도 “ktune” 패키지가 존재하지만 RHEL6 만큼의 조절은 불가능 한것으로 보인다.

 

데비안 6 버전이 6.0.7 를 릴리즈 하였습니다.
자세한 내용은 Original Source 에서 확인 하시고 업데이트 하시기 바랍니다.
이제 7.0 버전도 조만간 나올테고…^^;; 힘내세요~~~ 데비안~~~

February 23rd, 2013

The Debian project is pleased to announce the seventh update of its stable distribution
Debian 6.0 (codename squeeze). This update mainly adds corrections for security problems
to the stable release, along with a few adjustments for serious problems. Security advisories
were already published separately and are referenced where available.

Please note that this update does not constitute a new version of Debian 6.0 but only updates
some of the packages included. There is no need to throw away 6.0 CDs or DVDs but only to
update via an up-to-date Debian mirror after an installation, to cause any out of date packages
to be updated.

Those who frequently install updates from security.debian.org won't have to update many packages
and most updates from security.debian.org are included in this update.

New installation media and CD and DVD images containing updated packages will be available
soon at the regular locations.

Upgrading to this revision online is usually done by pointing the aptitude (or apt) package tool
(see the sources.list(5) manual page) to one of Debian's many FTP or HTTP mirrors. A comprehensive
list of mirrors is available at:
http://www.debian.org/mirror/list

Original Source :http://www.debian.org/News/2013/20130223

 

extX FileSystem 들은 일반적으로 사용하는 관계로 많이 알고 있으리라 생각 한다.

resize2fs or resize4fs or ext2online 등등…

그럼??? XFS FileSystem 은 어떻게 Resize 를 할까?

뭐… 크게 다르진 않다.

 

@xfs_growfs 사용 방법?

LVM 확장은 되어 있다는 전제로 XFS Resize 부분만 다루도록 하겠다.

 

1. 기존 정보 확인

#xfs_info /dev/vg_name/lv_name

를 입력하면 XFS FileSystem 으로된 LV 에 대한 정보를 보여 줍니다.

data = bsize=4096 blocks=153600, imaxpct=25

기존 LV 의 blocks 값을 확인.

 

2. Resize 작업

# xfs_growfs /dev/vg_name/lv_name

를 입력하면 XFS FileSystem 으로된 LV 에 대하여 Resizing 을 진행 하면서 변경되는 blocks 값을 보여 줍니다.

data blocks changed from 153600(old) to 307200(new)

 

3. 새로운 정보 확인 #xfs_info /dev/vg_name/lv_name 를 입력하여 1 번과 같이 data ㅂ분의 blocks 값을 확인 한다.

data = bsize=4096 blocks=307200, imaxpct=25

마지막으로 "df" 명령어를 이용하여 확인한 결과가 정상이라면

끝...

 

 

리눅스를 사용하다 보면… 해당 명령어가 어떤 명령어 인지 궁금할때가 있다.

물론 help page 나 man page 를 보면 알수 있겠지만

좀더 간단한 방법으로 확인 해 볼순 없을까?

 

@whatis manpage

WHATIS(1)                     Manual pager utils                     WHATIS(1)

NAME
whatis – display manual page descriptions

SYNOPSIS
whatis  [-dlhvV]  [-r|-w]  [-s section] [-m system[,…]] [-M path] [-L
locale] [-C file] name …

DESCRIPTION
Each manual page has a short description available within  it.   whatis
searches  the  manual  page names and displays the manual page descrip‐
tions of any name matched.

name may contain wildcards (-w) or be a regular expression (-r).  Using
these  options, it may be necessary to quote the name or escape (\) the
special characters to stop the shell from interpreting them.

index databases are used during the search,  and  are  updated  by  the
mandb  program.   Depending  on your installation, this may be run by a
periodic cron job, or may need to be  run  manually  after  new  manual
pages  have  been installed.  To produce an old style text whatis data‐
base from the relative index database, issue the command:

whatis -M manpath -w ‘*’ | sort > manpath/whatis

where manpath is a manual page hierarchy such as /usr/man.

OPTIONS
-d, –debug
Print debugging information.

-v, –verbose
Print verbose warning messages.

-r, –regex
Interpret each name as a regular expression.  If a name  matches
any  part  of  a  page  name, a match will be made.  This option
causes whatis to be somewhat slower due to the nature  of  data‐
base searches.

-w, –wildcard
Interpret  each  name  as a pattern containing shell style wild‐
cards.  For a match to be made, an expanded name must match  the
entire  page  name.   This  option  causes whatis to be somewhat
slower due to the nature of database searches.

-l, –long
Do not trim output to the terminal width.  Normally, output will
be  truncated  to  the terminal width to avoid ugly results from
poorly-written NAME sections.

-s section, –section section
Search only the given manual section.  If section  is  a  simple
section,  for  example  “3”, then the displayed list of descrip‐
tions will include pages in sections “3”, “3perl”, “3x”, and  so
on; while if section has an extension, for example “3perl”, then
the list will only include pages in that exact part of the  man‐
ual section.

-m system[,…], –systems=system[,…]
If  this  system  has  access to other operating system’s manual
page names, they can be accessed using this option.   To  search
NewOS’s manual page names, use the option -m NewOS.

The  system  specified  can  be a combination of comma delimited
operating system names.  To include a search of the native oper‐
ating system’s manual page names, include the system name man in
the argument string.  This  option  will  override  the  $SYSTEM
environment variable.

-M path, –manpath=path
Specify  an alternate set of colon-delimited manual page hierar‐
chies to search.  By default, whatis uses the $MANPATH  environ‐
ment  variable,  unless  it  is empty or unset, in which case it
will determine an appropriate manpath based on your $PATH  envi‐
ronment  variable.   This option overrides the contents of $MAN‐
PATH.

-L locale, –locale=locale
whatis will normally determine your current locale by a call  to
the  C function setlocale(3) which interrogates various environ‐
ment variables, possibly including $LC_MESSAGES and  $LANG.   To
temporarily  override  the  determined value, use this option to
supply a locale string directly to whatis.  Note  that  it  will
not  take  effect  until  the  search for pages actually begins.
Output such as the help message will always be displayed in  the
initially determined locale.

-C file, –config-file=file
Use  this  user  configuration  file  rather than the default of
~/.manpath.

-h, –help
Print a help message and exit.

-V, –version
Display version information.

EXIT STATUS
0      Successful program execution.

1      Usage, syntax or configuration file error.

2      Operational error.

16     Nothing was found that matched the criteria specified.

ENVIRONMENT
SYSTEM If $SYSTEM is set, it will have the same effect  as  if  it  had
been specified as the argument to the -m option.

MANPATH
If $MANPATH is set, its value is interpreted as the colon-delim‐
ited manual page hierarchy search path to use.

MANWIDTH
If $MANWIDTH is set, its value is used  as  the  terminal  width
(see  the  –long option).  If it is not set, the terminal width
will be calculated using an ioctl(2) if available, the value  of
$COLUMNS, or falling back to 80 characters if all else fails.

FILES
/usr/share/man/index.(bt|db|dir|pag)
A traditional global index database cache.

/var/cache/man/index.(bt|db|dir|pag)
An FHS compliant global index database cache.

/usr/share/man/…/whatis
A traditional whatis text database.

SEE ALSO
apropos(1), man(1), mandb(8).

AUTHOR
Wilf. (G.Wilford@ee.surrey.ac.uk).
Fabrizio Polacco (fpolacco@debian.org).
Colin Watson (cjwatson@debian.org).

2.5.7                             2010-02-16                         WHATIS(1)

example)

root@blog:~# whatis ls
ls (1)               – list directory contents
root@blog:~# whatis df
df (1)               – report file system disk space usage
root@blog:~# whatis top
top (1)              – display Linux tasks

 

일전에 RHEL 기반에서 1000 Mbit or gigabit NIC 를 autoneg off 로 manual fix 를 하자는 요청이 들어왔다.

이론적으론 gigabit nic 환경에선 무조건 1000 full 만 지원한다는건 알고 있었지만…

그에 대한… 근거 자료 및 상황에 대한 내용을 알 수 없었다.

그래서…  설정을 해 보았다…

결과는? (RHEL5.4 에서 확인)

### bnx2

#ethtool -s ethX autoneg off speed 1000 duplex full

라고 입력 할경우

Cannot set new settings: Invalid argument
not setting speed

not setting duplex

not setting autoneg

라는 메시지를 뿌리면서 1000 full 로 manual fix 가 되지 않았다.

해당 파라미터를 거부 한다는 내용이다…

 

###intel driver e1000, e1000e, igb 인지는 기억이 안 난다…

#ethtool -s ethX autoneg off speed 1000 duplex full

을 입력하면 특별한 에러내용을 출력하지 않아서…

1000 full manual fix 가 된줄 알았으나…

추 후 ethtool 로 확인해볼 결과 … 그냥 skip 해 버렸으며 여전히 Auto를 유지 하고 있다는걸 알게 되었다.

 

관련 내용 참고 :

————————————————————————————————————————————————————
IEEE 802.3af 표준에 의하면 1000BASE-T에서는 Autonegotiation를 사용해야 된다고 한다.

관련 참고 :

http://standards.ieee.org/reading/ieee/interp/IEEE802.3af-2003interp-6.pdf

http://en.wikipedia.org/wiki/Autonegotiation

https://access.redhat.com/knowledge/solutions/20881

Gigabit Ethernet 하드웨어의 펌웨어 및 드라이버에 따라서 Autonegotiation 을 거부하거나, 무시하기도 한다고 한다.

따라서, 1000Mbit/s 또는 Gigabit nic 환경의  Autonegotiation 은 autoneg off는 권장하지 않으며, on 하여 사용할것을 권고 한다.

————————————————————————————————————————————————————

 

 

데비안 6 버전이 6.0.5 를 릴리즈 하였습니다.

자세한 내용은 Original Source 에서 확인 하시고 업데이트 하시기 바랍니다.

 

May 12th, 2012

The Debian project is pleased to announce the fifth update of its stable distribution Debian 6.0 (codename squeeze). This update mainly adds corrections for security problems to the stable release, along with a few adjustments for serious problems. Security advisories were already published separately and are referenced where available.

Please note that this update does not constitute a new version of Debian 6.0 but only updates some of the packages included. There is no need to throw away 6.0 CDs or DVDs but only to update via an up-to-date Debian mirror after an installation, to cause any out of date packages to be updated.

Those who frequently install updates from security.debian.org won’t have to update many packages and most updates from security.debian.org are included in this update.

.

.

.

Original Source : http://www.debian.org/News/2012/20120512

Linux 에 운영중인 JAVA 프로세스에 대하여 Thread Dump 를 확인해야 되는 경우가 발생된다.

일반적으로

#kill -3 JAVA_PID

or

#jstack -l JAVA_PID

을 하면 Thread Dump 가 실행되며, 따로 log file path or redirection 을 지정하지 않으면 console 에 떨어지게 된다.

그러나 kill -3 JAVA_PID 를 실행하면 console 에 Thread Dump 가 떨어지지 않는 경우가 있는데

이는 start 한 pts/? 넘버와 view 한 pts/? 넘버가 달라서 이거나 해당 java process 가 문제가 있어서 떨어지지 않는게 아닐까 추측을 한다.

그러므로 kill -3 JAVA_PID 로 Thread Dump 를 받아야 하는 경우라면 java process 를 start 할때 redirection 해서 File 형태로 Thread Dump 를 추출하기 바란다.

혹은

#jstack -l JAVA_PID > ./thread_dump

형식으로도 Thread Dump 를 받을 수 있다고 한다.

#### 기타 참고 자료 링크 ####

## jstack
link : http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jstack.html

## kill man page
link : http://linux.die.net/man/2/kill
## kill -3 (  SIGQUIT )
link : http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/Book_LSP/ch06_Signal

## Thread Dump 관련 참고 링크
link : http://demo.initech.com/index.php?document_srl=1965

### Red Hat Knowledgebase 의 JBOSS 관련 Thread Dump 참고 자료 ###
link : https://access.redhat.com/kb/docs/DOC-36483