Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

August 25, 2016

TCP/IP NETWORKING MANAGEMENT

  • /etc/hosts, /etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-ethX
  • ifconfig, ifconfig ethX up, ifconfig ethX down, ifup ethX, ifdown ethX
  • IP aliasing
  • ping –c –a x.x.x.x
  • IP classes :
  • A – 10.0.0.0 to 10.255.255.255
  • B – 172.16.0.0 to 172.31.255.255
  • C – 192.168.0.0 to 192.168.255.255
  • Subnetting and subnet masks
  • CIDR: Classless Inter-Domain Routing
  • TCP/IP layers –
  • Applications – FTP, HTTP, SSH. EU-Apps
  • Transport [TCP,UDP] – Delivery of data to apps. Uses segments.
  • Network [IP,ICMP] – Basic comm, H/W, routing. Uses packets.
  • Link [ARP, DevDrvrs] – NW H/W, devdrvs. Uses frames.
  • Physical – Copper Wires, physical medium, cables, Ethernet, Optical fibres, FDDI, ATM, IPX/SPX, Token ring
  • MTU and fragmentation
  • 6-byte MAC addresses and "http://www.iana.org/assignments/ethernet-numbers for the first 3 bytes.
  • 4-byte quad-dot, IP addrs, virtual Loopback addr,Ports, /etc/services, sockets, Privileged and Well-known ports
  • Address types –
  • Unicast – addrs that refer to a single host [NIC actually]
  • Multicast – addrs that identify a group of hosts [224 to 239] Good for videoconferencing
  • Broadcast – addrs that include all the hosts on the local network
  • Routing – Routing Tables, ICMP redirects
  • Static routing
  • /etc/sysconfig/static-routes : eth0 net 192.168.0.20 netmask 255.255.255.0 gw 192.168.0.10
  • netstat -r, netstat –rn
  • The destination is a NW address
  • The gateway must be a host address of a m/c which specifies that pkts must be sent to it to reach the destination address.
  • Gateway is the default route
  • Configuring static routes
  • route add –net 192.168.0.10 netmask 255.255.255.0 gw 192.168.0.10 eth1
  • route add default gw 192.168.0.10 eth0
  • /etc/sysconfig/network : GATEWAY=x.x.x.x and the default route
  • Local DNS and name resolution : and /etc/host.conf, /etc/nsswitch.conf
  • Dynamic routing – routed, gated
  • ICMP redirects
  • ARP – The Addr resolution protocol
  • mii-tool – Configuring autonegotiation and other media-specific options

  • Network Interfaces Config tools :
  • netconfig
  • netconf
  • netcfg
  • redhat-config-network
  • neat
  • neat-tui
  • neat-control
  • redhat-config-network-cmd
  • redhat-config-network-druid

June 24, 2016

Rsync – Công cụ đồng bộ dữ liệu hiệu quả

Rsync (Remote Sync) là một công cụ dùng để sao chép và đồng bộ file/thư mục được dùng rất phổ biến. Với sự trợ giúp của rsync, bạn có thể đồng bộ dữ liệu trên local hoặc giữa các server với nhau một cách dễ dàng.
rsync

I. Tính năng nổi bật của Rsync

  • Rsync hỗ trợ copy giữ nguyên thông số của files/folder như Symbolic links, Permissions, TimeStamp, Owner và Group.
  • Rsync nhanh hơn scp vì Rsync sử dụng giao thức remote-update, chỉ transfer những dữ liệu thay đổi mà thôi.
  • Rsync tiết kiệm băng thông do sử dụng phương pháp nén và giải nén khi transfer.
  • Rsync không yêu cầu quyền super-user.

II. Cài đặt Rsync

Rsync được cài đặt dễ dàng với một dòng lệnh:
– Trên Red Hat/CentOS
yum install rsync
– Trên Debian/Ubuntu
apt-get install rsysnc

III. Sử dụng Rsync

Câu lệnh căn bản của rsync:
rsync options source destination
Trong đó:
  • Source: dữ liệu nguồn
  • Destination: dữ liệu đích
  • Options: một số tùy chọn thêm
Các tham số cần biết khi dùng Rsync
  • -v: hiển thị trạng thái kết quả
  • -r: copy dữ liệu recursively, nhưng không đảm bảo thông số của file và thư mục
  • -a: cho phép copy dữ liệu recursively, đồng thời giữ nguyên được tất cả các thông số của thư mục và file
  • -z: nén dữ liệu khi transfer, tiết kiệm băng thông tuy nhiên tốn thêm một chút thời gian
  • -h: human-readable, output kết quả dễ đọc
  • --delete: xóa dữ liệu ở destination nếu source không tồn tại dữ liệu đó.
  • --exclude: loại trừ ra những dữ liệu không muốn truyền đi, nếu bạn cần loại ra nhiều file hoặc folder ở nhiều đường dẫn khác nhau thì mỗi cái bạn phải thêm --excludetương ứng.
Rsync không tự động chạy nên thường được dùng kết hợp với crontab. Tiếp theo mình sẽ giới thiệu một số ví dụ thường dùng với Rsync và kết thúc bài là script mình dùng để tự động backup toàn bộ VPS hàng ngày.
Khi lần đầu chạy rsync, toàn bộ dữ liệu nguồn sẽ được copy đến server đích, từ lần chạy sau trở đi chỉ những dữ liệu chưa được copy mới được transfer – đây là quá trình đồng bộ dữ liệu. Do đó, bạn có thể hiểu rsync thực hiện việc copy hoặc đồng bộ đều đúng. Trong bài viết mình sẽ sử dụng duy nhất khái niệm Copy cho ngắn gọn nhé.

1. Copy file và thư mục trên local

Copy file trên local
[root@hocvps]# rsync -zvh backup.tar /tmp/backups/

created directory /tmp/backups

backup.tar

sent 14.71M bytes  received 31 bytes  3.27M bytes/sec

total size is 16.18M  speedup is 1.10
Ví dụ trên copy file backup.tar sang thư mục /tmp/backups/ trên cùng một máy. Như bạn thấy thư mục đích chưa có nên rsync tự động tạo trước khi copy.
Copy thư mục trên local
[root@hocvps]# rsync -avzh /root/rpmpkgs /tmp/backups/

sending incremental file list

rpmpkgs/

rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm

rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm

rpmpkgs/nagios-3.5.0.tar.gz

rpmpkgs/nagios-plugins-1.4.16.tar.gz

sent 4.99M bytes  received 92 bytes  3.33M bytes/sec

total size is 4.99M  speedup is 1.00
Câu lệnh trên copy toàn bộ file từ thư mục /root/rpmpkgs đến thư mục /tmp/backups/ trên cùng một máy.

2. Copy file và thư mục giữa các server

Copy thư mục từ Local lên Remote Server
[root@hocvps]# rsync -avz rpmpkgs/ root@192.168.0.101:/home/

root@192.168.0.101's password:

sending incremental file list

./

httpd-2.2.3-82.el5.centos.i386.rpm

mod_ssl-2.2.3-82.el5.centos.i386.rpm

nagios-3.5.0.tar.gz

nagios-plugins-1.4.16.tar.gz

sent 4993369 bytes  received 91 bytes  399476.80 bytes/sec

total size is 4991313  speedup is 1.00
Lệnh trên copy thư mục rpmpkgs từ Local lên Remote Server có IP 192.168.0.101, lưu ở thư mục/home/
Copy thư mục từ Remote Server về Local
[root@hocvps]# rsync -avzh root@192.168.0.100:/home/tarunika/rpmpkgs /tmp/myrpms

root@192.168.0.100's password:

receiving incremental file list

created directory /tmp/myrpms

rpmpkgs/

rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm

rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm

rpmpkgs/nagios-3.5.0.tar.gz

rpmpkgs/nagios-plugins-1.4.16.tar.gz

sent 91 bytes  received 4.99M bytes  322.16K bytes/sec

total size is 4.99M  speedup is 1.00
Lệnh trên sẽ copy dữ liệu ở thư mục /home/tarunika/rpmpkgs trên Remote Server 192.168.0.100về máy Local lưu ở thư mục /tmp/myrpms

3. Rsync qua SSH

Với Rsync, bạn có thể transfer qua giao thức SSH, qua đó dữ liệu được bảo mật an toàn hơn.
Copy file từ Remote Server về Local Server qua SSH
Để xác định giao thức sẽ sử dụng với rsync, bạn cần thêm tùy chọn -e cùng với tên giao thức, ở đây là ssh.
[root@hocvps]# rsync -avzhe ssh root@192.168.0.100:/root/install.log /tmp/

root@192.168.0.100's password:

receiving incremental file list

install.log

sent 30 bytes  received 8.12K bytes  1.48K bytes/sec

total size is 30.74K  speedup is 3.77
Lệnh trên copy file /root/install.log trên Remote Server 192.168.0.100 về thư mục /tmp/ trên máy Local.
Copy file từ Local lên Remote Server qua SSH
[root@hocvps]# rsync -avzhe ssh backup.tar root@192.168.0.100:/backups/

root@192.168.0.100's password:

sending incremental file list

backup.tar

sent 14.71M bytes  received 31 bytes  1.28M bytes/sec

total size is 16.18M  speedup is 1.10

4. Hiển thị tiến trình trong khi transfer dữ liệu với rsync

Để hiển thị tiến độ transfer dữ liệu, bạn có thể sử dụng tùy chọn --progress
[root@hocvps]# rsync -avzhe ssh --progress /home/rpmpkgs root@192.168.0.100:/root/rpmpkgs

root@192.168.0.100's password:

sending incremental file list

created directory /root/rpmpkgs

rpmpkgs/

rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm

           1.02M 100%        2.72MB/s        0:00:00 (xfer#1, to-check=3/5)

rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm

          99.04K 100%  241.19kB/s        0:00:00 (xfer#2, to-check=2/5)

rpmpkgs/nagios-3.5.0.tar.gz

           1.79M 100%        1.56MB/s        0:00:01 (xfer#3, to-check=1/5)

rpmpkgs/nagios-plugins-1.4.16.tar.gz

           2.09M 100%        1.47MB/s        0:00:01 (xfer#4, to-check=0/5)

sent 4.99M bytes  received 92 bytes  475.56K bytes/sec

total size is 4.99M  speedup is 1.00

5. Sử dụng tùy chọn –include và –exclude

Hai tùy chọn này cho phép chúng ta thêm hoặc bớt file hoặc thư mục trong quá trình đồng bộ dữ liệu.
[root@hocvps]# rsync -avze ssh --include 'R*' --exclude '*' root@192.168.0.101:/var/lib/rpm/ /root/rpm

root@192.168.0.101's password:

receiving incremental file list

created directory /root/rpm

./

Requirename

Requireversion

sent 67 bytes  received 167289 bytes  7438.04 bytes/sec

total size is 434176  speedup is 2.59
Ở ví dụ trên, Rsync include toàn bộ những file hoặc thư mục có tên bắt đầu bởi ký tự ‘R’ và exclude toàn bộ những file hoặc thư mục còn lại.

6. Sử dụng tùy chọn –delete

Nếu muốn xóa một file hoặc thư mục không có ở thư mục nguồn, mà lại xuất hiện ở thư mục đích trong quá trình transfer, bạn hãy sử dụng tùy chọn --delete.
[root@hocvps]#  touch test.txt
[root@hocvps]# rsync -avz --delete root@192.168.0.100:/var/lib/rpm/ .
Password:
receiving file list ... done
deleting test.txt
./
sent 26 bytes  received 390 bytes  48.94 bytes/sec
total size is 45305958  speedup is 108908.55
Server đích đã có file test.txt, trong quá trình đồng bộ với option --delete, file sẽ bị xóa.

7. Giới hạn dung lượng tối đa của file được đồng bộ

Để giới hạn những file lớn được đồng bộ, bạn có thể sử dụng option --max-size
[root@hocvps]# rsync -avzhe ssh --max-size='200k' /var/lib/rpm/ root@192.168.0.100:/root/tmprpm

root@192.168.0.100's password:

sending incremental file list

created directory /root/tmprpm

./

Conflictname

Group

Installtid

Name

Provideversion

Pubkeys

Requireversion

Sha1header

Sigmd5

Triggername

__db.001

sent 189.79K bytes  received 224 bytes  13.10K bytes/sec

total size is 38.08M  speedup is 200.43

8. Tự động xóa dữ liệu nguồn sau khi đồng bộ thành công

Để rsync tự động xóa dữ liệu sau khi đồng bộ lên server đích thành công, bạn có thể sử dụng lựa chọn --remove-source-files
[root@hocvps]# rsync --remove-source-files -zvh backup.tar /tmp/backups/

backup.tar

sent 14.71M bytes  received 31 bytes  4.20M bytes/sec

total size is 16.18M  speedup is 1.10

[root@hocvps]# ll backup.tar

ls: backup.tar: No such file or directory

9. Chạy thử nghiệm Rsync

Nếu bạn không chắc câu lệnh có thực hiện chính xác những gì mong muốn hay không, hãy thêm tùy chọn --dry-run.
Rsync lúc này sẽ không thay đổi gì dữ liệu cả mà chỉ show output mà thôi. Nếu mọi thứ hoạt động ổn, hãy bỏ tùy chọn --dry-run ra khỏi câu lệnh.
root@hocvps]# rsync --dry-run --remove-source-files -zvh backup.tar /tmp/backups/

backup.tar

sent 35 bytes  received 15 bytes  100.00 bytes/sec

total size is 16.18M  speedup is 323584.00 (DRY RUN)

10. Giới hạn bandwidth

[root@hocvps]# rsync --bwlimit=100 -avzhe ssh  /var/lib/rpm/  root@192.168.0.100:/root/tmprpm/
root@192.168.0.100's password:
sending incremental file list
sent 324 bytes  received 12 bytes  61.09 bytes/sec
total size is 38.08M  speedup is 113347.05

IV. Tổng kết

Ứng dụng của Rsync có rất nhiều, bạn có thể đồng bộ hóa file giữa các thư mục, giữa các server qua đó backup server sang một server khác hoặc synchronize real time. Tùy nhu cầu mà bạn hãy ứng dụng Rsync cho hiệu quả.
Chúc bạn thành công.
nguồn : http://hocvps.com/rsync/

January 21, 2016

Tìm kiếm mã độc trên server hosting linux

Những biểu hiện thường gặp server hosing đang chứa mã độc là thực hiện gửi spam mail, brute force ssh, DOS… tới server khác. Thông thường bạn sẽ nhận được cảnh báo này từ nhà cung câp dịch vụ server, vps… Sau đây là một số thủ thuật giúp bạn nhanh chóng phát hiện tài khoản nào đang bị hacker kiểm soát.
1 Kiểm tra bằng lệnh top
Trên server hosting sẽ có nhiều tài khoản chạy đồng thời. Tài khoản bị tấn công thường xuất hiện liên tục ở những hàng đầu khi gõ lệnh top. Ở cột command sẽ xuất hiện những lệnh thường gặp như perl, python, host, mail…
Hình bên trên cho biết tài khoản noithat đang chạy các tiến trình perl
2 Kiêm tra file log apache
Các tài khoản hosting chữa mã độc thường được hacker điều khiển bằng cách gửi POST request tới website.

Một tài khoản đang bị tấn công thông qua đường dẫn http://domain.com/wp-content/themes/saladmag/css/general19.php


3 Tìm kiếm các file nghi vấn khác trên tài khoản user. 
Tìm kiếm các file mới được up lên.
# cd /home/noithat/public_html
# find . -name “*.php” -mtime -14


Tìm kiếm các script có khả năng chữa mã độc.
# find . -type f -name ‘*.php’ | xargs egrep -i “(mail|fsockopen|pfsockopen|stream_socket_client|exec|system|passthru|base64_decode) *\(”


4 Tìm kiếm mã độc thông qua những email đang gửi spam
Các tài khoản bị tấn công đa phần sẽ thực hiện gửi spam mail. Do đó việc kiểm tra script đang gửi spam mail sẽ tìm ra được vị trí mã nguồn bị tấn công.

nguồn: http://hotrovps.info/linux/tim-kiem-ma-doc-tren-server-hosting-linux.html

January 8, 2016

Troubleshoot Network Manager, Apache, Wireless... in Linux

Today's Blog is all about networking stuffs and I will be covering following points:
  1. Know your Network Controller Device with lspci
  2. Display all interfaces which are currently available, even if down with ifconfig
  3. Enable the service networking 
  4. Enable Apache server
  5. Then Enable Network Manager with network-manager
  6. Then  Enable your WiFi with nmcli nm

AND REMEMBER ALL THESE THINGS WILL BE DONE WITH OUR TERMINAL THIS IS WHY LINUX IS SO COOL...


Then we are all set to run the internet.And now we are some basic troubleshooter about networking, though networking is a huge this would be the first step. Not actually first first step in networking is always theory The Basics of Networking, but we are not dealing with it today. So lets begin

1. In order to know  the hardware devices assembled in your laptop open your TERMINALCTRL+ALT+T and then type lspci .
This displays all the hardware devices  like PCI BRIDGE, SATA controller, SMBus, USB Controller, Audio Device assembled in your laptop / computer. 



My Network controller is:
02:00.0 Network controller: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter (rev 01)

2. So now we need to know the interfaces that are available in our UBUNTU.  To see this typeifconfig in the terminal and you will see the output like this :

3. To access the internet first your hardware device should be activated, In order to do so type 
sudo service networking  and press tab twice which displays  arguments like:
 force-reload       reload        restart       start         stop
Perform any you need.

4.  To enable apache server in terminal type:

      sudo service apache2 start

5.  Now enable the network manager. In order to do so in terminal type:
    
     sudo service network-manager start 

6. Now First view the available connecting points Wireless point or Ethernet. To view the available wifi points in terminal type
    
     sudo nmcli con list



This displays the available devices With its UID and SSID.
Now to enable the wifi in terminal type:

      Sudo nmcli con up SSID or the UID

You can manipulate these basic networking commands and  triubleshoot on your own.

source: http://www.techjhola.com/2015/05/troubleshoot-basic-networking-wifi.html