검색결과 리스트
2010/01에 해당되는 글 13건
- 2010/01/29 cyban.exe 파일에 대한 대처법
- 2010/01/26 rsync 사용하기
- 2010/01/26 ssh 와 ftp 접속이 느릴때 (ftp_login 등등)
- 2010/01/25 ssh2_connect 함수를 사용해 원격서버에 파일올리기
- 2010/01/25 mysqldump 사용하여 백업 및 복구
글
Dev/windows 2010/01/29 09:15cyban.exe 파일에 대한 대처법
cyban.exe 는 게임계정탈취 악성코드로
C:\autorun.inf
C:\32bbi0.exe
C:\9tb8f.exe
C:\Windows\System32\cyban.exe
C:\Windows\System32\zoorfat.exe
C:\Windows\System32\cyban0.dll
C:\Windows\System32\ieban0.dll
C:\Windows\System32\zorie0.dll
C:\Windows\System32\zorie1.dll
C:\Windows\System32\zormn0.dll
C:\Windows\System32\zormn1.dll
이 경로 안에 보통 숨어있다.
또한 D:\ 드라이브의 루트폴더에도 존재하므로 모두 삭제 해 주어야 한다.
그리고 중요한것은 시작프그램에도 등록된다는것이다. 시작 -> 실행 -> msconifg 를 실행하면 다이얼로그가 나오고
시작프로그램탭에서 cyban 이라고 되어있는것을 해지 해 주고 재부팅한다.
이 스파이웨어는 V3에서도 검색이 되긴하지만.. 조금 늦게 잡는경향이 있으며, 모두다 삭제 해 주지는 못하는것 같다.
threatexpert.com 에 가면 이 스파이웨어의 정체를 더 정확하게 알 수 있다.
개발자들의 PC에 감염되면 혹시 ftp정보나 shell 정보를 탈취당할 수 있으니 조심하도록 하자.
트랙백
댓글
글
Dev/linux 2010/01/26 10:48rsync 사용하기
1. apt-get install rsync 명령을 통해 rsync를 설치해준다.
2. apt-get install xinetd 명령을 통해 xinetd를 설치해준다.
3. /etc/xinetd/rsync 파일을 다음과 같이 추가한다. (이 파일이 없다면 새로 생성해주기 바란다.)
2. apt-get install xinetd 명령을 통해 xinetd를 설치해준다.
3. /etc/xinetd/rsync 파일을 다음과 같이 추가한다. (이 파일이 없다면 새로 생성해주기 바란다.)
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
4. /etc/init.d/xinetd restart를 통해 재시작해준다.
5. /etc/rsyncd.conf 파일을 다음과 같이 추가한다.
[Destination]path : 공유할 디렉토리
path = /home/destination
comment = server
uid = nobody
gid = nobody
use chroot = yes
read only = yes
host allow = 192.168.0.3
max connection = 1
timeout 300
각자의 내용에 맞게 수정한다.
comment : 설명
uid : 접근할 user id
gid : 접근할 group id
use chroot : chroot를 사용할지 여부, 특별한 이유가 없는 이상 꼭 사용할 것
read only : 읽기만 가능할 것인지, 백업의 피 대상이므로 yes로 설정
host allow : 접근 가능한 호스트 설정. 백업서버만 접근 가능하도록 설정
max connection : 최대 몇개의 커넥션을 연결할 수 있는지 설정
timeout : 타임아웃 시간 설정
6. 다음 명령을 통해 끌어온다.
rsync -avz 서버IP::Destination 백업받을위치
퍼미션 에러가 난다면 적절히 uid와 gid를 수정해서 백업대상 폴더의 권한을 획득할 수 있도록 해준다.
트랙백
댓글
글
Dev/php 2010/01/26 10:12ssh 와 ftp 접속이 느릴때 (ftp_login 등등)
작업을 하다보면 php의 ftp_connect, ftp_login 을 이용해서 파일을 원격서버에 저장 및 삭제할 경우가 종종있다.
이럴때 서버셋팅에 의해서 느린경우가 발생하는데 이 경우에는 방화벽 등등의 설정때문일수도 있지만,
최우선적으로 체크 해봐야 할것은
/etc/hosts 파일에 상대방의 서버가 등록되어있는지를 확인 해 봐야한다.
#> cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
222.222.222.1 lux1.domain.com lux1
222.222.222.2 lux2.domain.com lux2
222.222.222.3 lux3.domain.com lux3
222.222.222.4 lux4.domain.com lux4
222.222.222.5 lux5.domain.com lux5
위와같이 등록 해 주어야 ftp, ssh 의 접속속도가 빨라진다.
예를들어 1번 서버에서 PHP의 upload.php 소스상에 ftp_connect 를 실행하여 2번 서버에 파일을 올릴때 무지하게 느리다면 위와같이 해 보면 해결할 수 있다.
이는 hosts 파일에서 최우선적으로 접속해야 할 호스트를 찾기 때문이다.
단) ssh2를 이용하여 22번 포트를 사용한다면 다른방법을 찾아봐야한다. 블로그를 검색 해 보면 나온다.
트랙백
댓글
글
Dev/php 2010/01/25 16:19ssh2_connect 함수를 사용해 원격서버에 파일올리기
<?
# 설정
$host = 222.222.222.222";
$connect_id = "ididid";
$connect_pw = "pwpwpw";
class SFTPConnection
{
private $connection;
private $sftp;
public function __construct($host, $port=22)
{
$this->connection = @ssh2_connect($host, $port);
if (! $this->connection)
throw new Exception("Could not connect to $host on port $port.");
}
public function login($username, $password)
{
if (! @ssh2_auth_password($this->connection, $username, $password))
throw new Exception("Could not authenticate with username $username " .
"and password $password.");
$this->sftp = @ssh2_sftp($this->connection);
if (! $this->sftp)
throw new Exception("Could not initialize SFTP subsystem.");
}
public function uploadFile($local_file, $remote_file)
{
$sftp = $this->sftp;
$stream = @fopen("ssh2.sftp://$sftp$remote_file", 'w');
if (! $stream)
throw new Exception("Could not open file: $remote_file");
$data_to_send = @file_get_contents($local_file);
if ($data_to_send === false)
throw new Exception("Could not open local file: $local_file.");
if (@fwrite($stream, $data_to_send) === false)
throw new Exception("Could not send data from file: $local_file.");
@fclose($stream);
}
}
$sftp = new SFTPConnection($host, 22);
$sftp->login($connect_id, $connect_pw);
//$sftp->uploadFile("/tmp/to_be_sent", "/tmp/to_be_received");
$sftp->uploadFile($tmp_file , $randumid);
?>
원격지 서버의 ftp 프로그램이 secure ftp(22번포트사용) 일 경우에는 ftp_connect () 함수를 이용할 수 없다.
따라서 ssh2_connect() 함수를 이용해야 하는데 이 함수를 사용하기 위해서는 openssl(lib), libssh2, php_ssh2 를 아파치에 설치해야 한다.
# 설정
$host = 222.222.222.222";
$connect_id = "ididid";
$connect_pw = "pwpwpw";
class SFTPConnection
{
private $connection;
private $sftp;
public function __construct($host, $port=22)
{
$this->connection = @ssh2_connect($host, $port);
if (! $this->connection)
throw new Exception("Could not connect to $host on port $port.");
}
public function login($username, $password)
{
if (! @ssh2_auth_password($this->connection, $username, $password))
throw new Exception("Could not authenticate with username $username " .
"and password $password.");
$this->sftp = @ssh2_sftp($this->connection);
if (! $this->sftp)
throw new Exception("Could not initialize SFTP subsystem.");
}
public function uploadFile($local_file, $remote_file)
{
$sftp = $this->sftp;
$stream = @fopen("ssh2.sftp://$sftp$remote_file", 'w');
if (! $stream)
throw new Exception("Could not open file: $remote_file");
$data_to_send = @file_get_contents($local_file);
if ($data_to_send === false)
throw new Exception("Could not open local file: $local_file.");
if (@fwrite($stream, $data_to_send) === false)
throw new Exception("Could not send data from file: $local_file.");
@fclose($stream);
}
}
$sftp = new SFTPConnection($host, 22);
$sftp->login($connect_id, $connect_pw);
//$sftp->uploadFile("/tmp/to_be_sent", "/tmp/to_be_received");
$sftp->uploadFile($tmp_file , $randumid);
?>
원격지 서버의 ftp 프로그램이 secure ftp(22번포트사용) 일 경우에는 ftp_connect () 함수를 이용할 수 없다.
따라서 ssh2_connect() 함수를 이용해야 하는데 이 함수를 사용하기 위해서는 openssl(lib), libssh2, php_ssh2 를 아파치에 설치해야 한다.
트랙백
댓글
글
Dev/php 2010/01/25 10:06mysqldump 사용하여 백업 및 복구
1. 덤프뜨기
$> mysqldump -u[사용자아이디] -p 데이터베이스명 [테이블명] > 저장될 파일명
예) mysqldump -ukamkami -p mydatabase > kamkami.pe.kr.sql
이렇게 하면 디비(mydatabase)를 몽땅 덤프를 뜨게된다.
테이블만 덤프를 뜨고 싶다면
예) mysqldump -ukamkami -p mydatabase member_table > kamkami.pe.kr.member_table.sql
이렇게 하면 테이블만 덤프를 뜰 수 있다.
2. 복구하기
덤프 파일을 가지고 복구를 하는 방법도 간단하다.
$> mysql -u[사용자아이디] -p [디비명] < 덤프파일명
예) mysql -ukamkami -p < kamkami.pe.kr.sql
예) mysql -ukamkami -p mydatabase < kamkami.pe.kr.member_table.sql
1.특정 db의 특정 table에서 원하는 값만 덤프받기
>> edu라는 디비에 a,b,c라는 테이블이 있다. 여기서 a라는 테이블에서 no가 7번이상이고 10번
이하인 값만 덤프를 받고자 한다. 어떻게 하겠는가?
여기서 사용되는 옵션은 -w 이다.그럼 위 질문의 sql문은 아래와 같다
mysqldump -u mysql_admin -p edu a -w'no=>7 and no=<10' > edu_a_cond.sql
위와같이 하면 no가 7~10번까지가 덤프될것이다.
위에서 조건문은 -w 다음에 싱글쿼테이션으로 묶어준다. sql에서 사용하는 조건문이 다 될듯싶
다. 모두 테스트를 해보진 않았다.
2.디비 스키마(Schema)만 백업받기
>>초기에 작성해 놓은 테이블 스키마가 없을때 어떻게 하겠는가?
만약 하나의 테이블이라면 desc 해서 일일이 다 삽질을 하면 되것지만 만약 테이블이 100개라
면 ..크억...이럴때 사용하는 mysqldump옵션이 있습니다.
-d 입니다.
!.edu라는 디비의 모든 테이블 스키마를 백업받으려면
mysqldump -u mysql_admin -p -d edu > edu_db.sql
!.edu라는 디비의 a라는 테이블 스키마를 백업받으려면
$> mysqldump -u[사용자아이디] -p 데이터베이스명 [테이블명] > 저장될 파일명
예) mysqldump -ukamkami -p mydatabase > kamkami.pe.kr.sql
이렇게 하면 디비(mydatabase)를 몽땅 덤프를 뜨게된다.
테이블만 덤프를 뜨고 싶다면
예) mysqldump -ukamkami -p mydatabase member_table > kamkami.pe.kr.member_table.sql
이렇게 하면 테이블만 덤프를 뜰 수 있다.
2. 복구하기
덤프 파일을 가지고 복구를 하는 방법도 간단하다.
$> mysql -u[사용자아이디] -p [디비명] < 덤프파일명
예) mysql -ukamkami -p < kamkami.pe.kr.sql
예) mysql -ukamkami -p mydatabase < kamkami.pe.kr.member_table.sql
1.특정 db의 특정 table에서 원하는 값만 덤프받기
>> edu라는 디비에 a,b,c라는 테이블이 있다. 여기서 a라는 테이블에서 no가 7번이상이고 10번
이하인 값만 덤프를 받고자 한다. 어떻게 하겠는가?
여기서 사용되는 옵션은 -w 이다.그럼 위 질문의 sql문은 아래와 같다
mysqldump -u mysql_admin -p edu a -w'no=>7 and no=<10' > edu_a_cond.sql
위와같이 하면 no가 7~10번까지가 덤프될것이다.
위에서 조건문은 -w 다음에 싱글쿼테이션으로 묶어준다. sql에서 사용하는 조건문이 다 될듯싶
다. 모두 테스트를 해보진 않았다.
2.디비 스키마(Schema)만 백업받기
>>초기에 작성해 놓은 테이블 스키마가 없을때 어떻게 하겠는가?
만약 하나의 테이블이라면 desc 해서 일일이 다 삽질을 하면 되것지만 만약 테이블이 100개라
면 ..크억...이럴때 사용하는 mysqldump옵션이 있습니다.
-d 입니다.
!.edu라는 디비의 모든 테이블 스키마를 백업받으려면
mysqldump -u mysql_admin -p -d edu > edu_db.sql
!.edu라는 디비의 a라는 테이블 스키마를 백업받으려면
RECENT COMMENT