반응형

/dev/random

위키의 정의 : 유닉스 계열 운영 체제에서 차단 방식의 유사난수 발생기의 역할을 수행하는 특수 파일이다. 장치 드라이버와 기타 소스로부터 모은 환경적 노이즈로의 접근을 허용한다.


/dev/urandom 도 /dev/random 과 동일한 방식으로 난수를 생성하지만 다른 점은 아래와 같다고 합니다.

urandom이 random보다 난수를 대충만들어서 속도는 더 빠르지만 훌륭한 난수는 되지 못한다. 뭐 대충 이런 내용입니다.

urandom이 예측하기 쉬운 난수가 만들어질 수 있어서 보안에 취약해 질수 있다고는 하지만,

예측하기 쉬운 난수가 만들어지는 OS  환경이라면 random의 경우 매우 느려지거나 아예 락이 걸려서 난수를 생성하지 못할 수 있다고 하니 어떤 녀석을 써야할까요?

If you want random data in a Linux/Unix type OS, the standard way to do so is to use /dev/random or /dev/urandom. These devices are special files. They can be read like normal files and the read data is generated via multiple sources of entropy in the system which provide the randomness.


/dev/random will block after the entropy pool is exhausted. It will remain blocked until additional data has been collected from the sources of entropy that are available. This can slow down random data generation.


/dev/urandom will not block. Instead it will reuse the internal pool to produce more pseudo-random bits.


/dev/urandom is best used when:


You just want a large file with random data for some kind of testing.

You are using the dd command to wipe data off a disk by replacing it with random data.

Almost everywhere else where you don’t have a really good reason to use /dev/random instead.

/dev/random is likely to be the better choice when:


Randomness is critical to the security of cryptography in your application – one-time pads, key generation.


참고 : ora11g jdbc connection reset 


반응형
반응형

리눅스에서 그룹을 생성하려면 다음과 같이 명령어를 사용합니다.


groupadd [그룹명]


특정 사용자를 해당 그룹에 넣으려면 다음과 같이 명령어를 사용합니다.


usermod -g [그룹명] [사용자명]

반응형
반응형

리눅스 이용시 다른 계정으로 명령어를 실행해야하는 경우가 빈번하게 있습니다.

 

이런겨우 su, ssh, sudo 등의 방법이 있는데 저는 sudo를 선호합니다. 이유는 비밀번호를 별도로 사용하지 않을 수 있도록 설정이 가능하기 때문입니다.

 

sudo에 여러가지 기능이 있지만, 일단 user1이 user2 의 권한으로 /abc/def 의 rus.sh 명령어를 실행하는 방법을 알아 보도록 하겠습니다.

 

 

1. root 계정으로 visudo 명령어를 실행하면 sudo 관련 설정이 나옵니다. 여기서 아래 구문을 추가하면 원하는 결과를 얻을 수 있습니다.

 

1
user1    ALL=(user2) NOPASSWD: /abc/def/run.sh

 

 

2. visudo에서 :wq 로 저장하고 닫습니다.

 

3. user1 계정으로 로그인 후 아래 명령어를 실행하면 user2 의 권한으로 /abc/def 의 run.sh 명령어를 실행하게 됩니다.

 

1
sudo -u user2 /abc/def/run.sh

 

------ 아래는 sudo 설정에 관한 참고자료 입니다.

 

 

접근권한 제어

 

1
<user_alias>     <host_alias> = (<runas_alias><cmnd_alias>

 

 

User Alias

 

1
2
3
User_Alias    <name> =  < %LDAP GROUP> and/or < %SYSTEM GROUP > and/or < USER >
#예시
User_Alias     ADMIN =  %admin, %root, andrina
 

 

Host Alias

 

1
2
3
Host_Alias    <name> = < MACHINE or *Pattern*>
#예시
Host_Alias SERVERS = 192.168.1.1, server*

 

 

Runas Alias

 

1
2
3
Runas_Alias    <name> = < %GROUP>
#예시
MAILERS = %mailman, %postfix, cyrus

 

Cmnd Alias

 

1
2
3
4
5
Cmnd_Alias     <name> = <full path to command/script>
#
Cmnd_Alias MAIL = /usr/bin/cyrus/tools/amsmailtool, /usr/bin/cyrus/tools/mkimap, \
            /usr/sbin/postfix-watch, /usr/sbin/postfix, \
            /usr/bin/cyrus/bin/ctl_cyrusdb
 

 

** sudo 이용시 환경변수가 달라서 문제가 발생하는 경우에 아래 내용을 참고하세요.

 

1
2
3
4
#PATH 환경변수 유지
Defaults env_keep=PATH
#PATH 특적사용자 환경변수 유지
Defaults:사용자 env_keep=PATH

 

반응형
반응형

리눅스에서 사용자가 속한 그룹을 확인하려면 다음과 같은 명령어를 이용합니다.


groups : 현재 사용자가 속한 그룹 확인.


groups [사용자 아이디] : [사용자 아이디]가 속한 그룹 확인.


반응형
반응형

iptables는 등록 순서에 영항을 받습니다.



REJECT 을 먼저 등록하고 ACCEPT 를 등록하면 무용지물이 됩니다. 

먼저 등록한 정책이 우선순위가 높습니다.


그래서 REJECT 정책을 가장 마지막에 등록하는 경우가 많은데, 

(REJECT 는 DDOS공격시 문제가 있다고 들어서 저는 기본 policy DROP을 씁니다.)


나중에 추가로 ACCEPT 정책을 추가해야 할 경우 순서를 설정해서 추가할 수 있는 옵션이 있습니다.


아래와 명령어는 1 번째로 정책으로 출발지IP에서 대상포트로 접속할 수 있도록 설정하는 명령어 입니다.


1
iptables -I INPUT 1 -p tcp -s [출발지IP] --dport [대상포트] -j ACCEPT



-A 옵션 대신 -I 옵션을 쓰고 번호를 지정해주면 됩니다.

반응형
반응형

iptables -L 를 통해 목록을 조회한 후 정책 중 하나를 골라서 삭제하고 싶은 경우가 있습니다.


이럴 땐  --line-numbers 옵션을 추가 해서 조회하면 num 번호가 붙어서 보입니다.


1
iptables ---line-numbers



원하는 num 을 골라서 아래 명령어 처럼 사용하시면, 삭제하고 싶은 정책만 골라서 지울 수 있습니다.


1
2
#(1번 정책 지우기)

iptables -D INPUT 1 




반응형
반응형

리눅스에서 사용자를 생성하면 보통 /home/[USERID] 로 홈이 생성되는데,


상황에 따라서 변경해야할 경우가 있습니다.


아래 명령어를 통해서 사용자 홈을 변경할 수 있습니다.



usermod -d [변경할홈dir] [사용자아이디]


1
2
3
#example
 
usermod -/test/abc testuser
cs


반응형
반응형
리눅스를 이용하다 보면 한글이 깨지는 경우가 있습니다.

이럴 때, 아래 명령어로 확인해보시면 현재 사용중인 언어가 나옵니다.

1
echo $LANG



root 권한이 있다면 아래 명령어로 들어가서 LANG 에 설정 된 부분을 수정하면 


1
vi /etc/sysconfig/i18n 



cent os7 은 위치가 다르네요.

1
vi /etc/locale.conf



저는 주로 ko_KR.UTF-8 을 사용하는데 현재까지 별 문제가 없었습니다.

반응형
반응형

리눅스 Ping 정책에 추가로 아래 정책도 추가해 줍니다.


iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

반응형
반응형

iptbables 에서 INPUT 을 DROP 을 기본으로 했을 경우 


아래 DNS 포트를 열어 주어야 합니다.


iptables -I INPUT -p udp --sport 53 -j ACCEPT

iptables -I INPUT -p tcp --sport 53 -j ACCEPT


** OUTPUT 기본은 ACCEPT

반응형

+ Recent posts