新聞中心
了解 Linux NAT 類型檢測的方法

專注于為中小企業(yè)提供成都網站制作、網站設計、外貿網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)聞喜免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網行業(yè)人才,有力地推動了上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現(xiàn)規(guī)模擴充和轉變。
Linux NAT(Network Address Translation)是一種網絡地址轉換技術,將不同的 IP 地址轉換為另一組 IP 地址,以實現(xiàn)互聯(lián)網和局域網之間的通信。Linux NAT 分為三種類型,包括 Full Cone NAT、Restricted Cone NAT 和 Port Restricted Cone NAT。這篇文章將深入探討 Linux NAT 類型檢測的方法,幫助讀者更好地了解 Linux NAT 技術,從而提高網絡管理的效率和安全性。
一、什么是 Linux NAT?
在介紹 Linux NAT 類型檢測之前,我們需要了解什么是 Linux NAT 以及它的工作原理。Linux NAT 是一種廣泛使用的網絡地址轉換技術,用于將私有 IP 地址轉換成全局 IP 地址。私有 IP 地址是指在內部網絡中被使用的 IP 地址,而全局 IP 地址是指在互聯(lián)網上被使用的IP地址。
當內部網絡的主機通過 NAT 設備連接到外部網絡時,其 IP 地址和端口號會被 NAT 設備轉換成一個全局唯一的 IP 地址和端口號。這個過程被稱為地址轉換。當內部網絡的主機向外部網絡發(fā)送請求時,其請求首先傳送到 NAT 設備,NAT 設備則將請求發(fā)送到外部網絡。當外部網絡服務器響應時,響應數(shù)據(jù)將返回 NAT 設備,然后再轉發(fā)到內部網絡的主機。這個過程被稱為端口轉換。
二、三種類型的 Linux NAT
1. Full Cone NAT
Full Cone NAT 是最基本的 NAT 類型。它會將內部網絡主機發(fā)送的所有請求映射到 NAT 設備的全局 IP 地址和端口號上,從而可以實現(xiàn)內部網絡主機和外部網絡的雙向通信。如果外部網絡服務器在 NAT 設備端口上有一個映射,則它可以向該端口發(fā)送數(shù)據(jù)包,數(shù)據(jù)包將被 NAT 設備轉換并發(fā)送到內部網絡的主機。
2. Restricted Cone NAT
Restricted Cone NAT 也稱為 IP-restricted NAT,它將所有的請求映射到 NAT 設備的全局 IP 地址和端口號上,但是它只會接受來自與內部網絡主機最初通信的單個 IP 地址的響應。如果外部網絡服務器不在 NAT 設備端口上有一個映射,則它不能向該端口發(fā)送數(shù)據(jù)包。
3. Port Restricted Cone NAT
Port Restricted Cone NAT 也稱為 IP-port-restricted NAT,它與 Restricted Cone NAT 類似,但只允許來自特定端口的數(shù)據(jù)流通過 NAT 設備。這可以保證特定服務端口的數(shù)據(jù)流僅被發(fā)送到相應服務器端口上的相應應用程序。
三、Linux NAT 類型檢測的方法
Linux NAT 檢測是一種方法,用于檢測當前 Linux 操作系統(tǒng)所使用的 NAT 類型。以下是一些方法:
1. 使用 STUN 服務器
STUN(Session Traversal Utilities for NAT)服務器是一種專門用于 NAT 檢測的服務器??梢允褂?UNIX 系統(tǒng)上的 NAT 離線客戶端來測試 NAT 類型。這個客戶端可以從 NAT 表上向 STUN 服務器發(fā)送一條信息。 STUN 服務器然后將此信息以反回之前的方式發(fā)送回到 NAT 表中,以測量NAT通過此信息返回的時間。
2. 使用 UPnP
UPnP(Universal Plug and Play)是一種協(xié)議,允許設備自動發(fā)現(xiàn)和配置自己的網絡連接。Linux NAT 默認情況下啟用 UPnP,可以通過 UPnP 將數(shù)據(jù)包路由到局域網主機。通過檢查 UPnP 能否正常工作,可以檢測 NAT 設備的類型。
3. 使用 socket API
Linux NAT 類型檢測也可以使用 socket API。在使用 socket API 的同時,可以檢查 Linux 內核版本。內核版本 2.4.20 和 2.6.x 之間的 Linux NAT 通常是 Full Cone NAT,同時也支持 Port Restricted Cone NAT。
4. 使用 NAT Slipstreaming
NAT Slipstreaming 是一種攻擊技術,可繞過 NAT 設備,將數(shù)據(jù)包路由到內部網絡主機上。該攻擊利用 NAT 設備的“端口轉發(fā)”功能創(chuàng)建一個映射(打開一個端口),以允許從外部網絡連接到內部網絡。檢測 NAT Slipstreaming 技術可以檢測 NAT 設備的類型。
四、
Linux NAT 技術是一種常用的網絡地址轉換技術,用于實現(xiàn)內部網絡主機和外部網絡之間的通信。本文深入探討了 Linux NAT 的工作原理和三種類型,包括 Full Cone NAT、Restricted Cone NAT 和 Port Restricted Cone NAT。同時介紹了 Linux NAT 類型檢測的四種方法,包括使用 STUN 服務器、UPnP、socket API 以及 NAT Slipstreaming。熟練掌握這些方法可以幫助管理員更好地管理和保護內部網絡安全。
成都網站建設公司-創(chuàng)新互聯(lián),建站經驗豐富以策略為先導10多年以來專注數(shù)字化網站建設,提供企業(yè)網站建設,高端網站設計,響應式網站制作,設計師量身打造品牌風格,熱線:028-86922220linux下怎么抓nat的數(shù)據(jù)包
1. 配置IP地址
1.1 正確配置學校分配的IP使能正嫌兄常上網
1) 按學校分配的IP地址配置好Linux主機
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
| DEVICE=eth0 |
| BOOTPROTO=none |
| HWADDR=00:1E:90:13:E0:25 |
| IPADDR=10.3.10.19 |
| NETMASK=255.255.255.0 |
| GATEWAY=10.3.10.254 |
| ONBOOT=yes |
| TYPE=Ethernet |
| DNS1=211.64.120.2 |
| DEFROUTE=yes |
| DOMAIN=168.96.1.1 |
2) 重起網卡
# servie network restart
note: 經過以上的配置, Linux主機應該能夠正常上網了!
1.2 新增eth0別名設備eth0:0
# cat /etc/sysconfig/network-scripts/ifcfg-eth0:0
| # eth0:0 必須要用”括起來: ‘eth0:0’ |
| DEVICE=’eth0:0′ |
| ONBOOT=yes |
| BOOTPROTO=static |
| IPADDR=192.168.50.1 |
| NETMASK=255.255.255.0 |
| USERCTL=no |
1.3 配置后 查看一下是否配置成功:
# ifconfig
| eth0 Link encap:Ethernet HWaddr 00:1E:90:13:E0:25 |
| inet addr:10.3.10.19 Bcast:10.3.10.255 Mask:255.255.255.0 |
| inet6 addr: fe80::21e:90ff:fe13:e025/64 Scope:Link |
| UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 |
| RX packets:errors:0 dropped:0 overruns:0 frame:0 |
| TX packets:errors:0 dropped:0 overruns:0 carrier:0 |
| collisions:0 txqueuelen:1000 |
| RX bytes:(128.5 MiB) TX bytes:(53.4 MiB) |
| Interrupt:27 Base address:0xa000 |
| eth0:0 Link encap:Ethernet HWaddr 00:1E:90:13:E0:25 |
| inet addr:192.168.50.1 Bcast:192.168.50.255 Mask:255.255.255.0 |
| UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 |
| Interrupt:27 Base address:0xa000 |
2. 配置路由
由于在配置網卡接口時悶譽, 已自動配置一定的路由, 所以我們只需查看一下其信息, 驗證其
是否已經被正確配置:
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.50.0 * 255.255.255.0 Ueth0
10.3.10.0 * 255.255.255.0 Ueth0
link-local * 255.255.0.0 Ueth0
default 10.3.10.254 0.0.0.0 UGeth0
3. 配置NAT
1) 新建nat.sh腳本文件并保存在 /usr/local/nat/ 目錄下:
# cat /usr/local/nat/nat.sh
| #!/bin/bash |
| # 0. 設定你的參數(shù)值 |
| EXIF=’eth0′ # 這個是對外的網卡接口, 可能是’ppp0’等 |
| EXNET=’192.168.50.0/芹罩襲24′ # 這個是對內的網段 |
| # 底下如無需要, 請不要改動了! |
| # 1. 啟動routing等 |
| echo 1 > /proc/sys/net/ipv4/ip_forward |
| /in/iptables -F |
| /in/iptables -X |
| /in/iptables -Z |
| /in/iptables -F -t nat |
| /in/iptables -X -t nat |
| /in/iptables -Z -t nat |
| /in/iptables -P INPUT ACCEPT |
| /in/iptables -P OUTPUT ACCEPT |
| /in/iptables -P FORWARD ACCEPT |
| /in/iptables -t nat -P PREROUTING ACCEPT |
| /in/iptables -t nat -P POSTROUTING ACCEPT |
| /in/iptables -t nat -P OUTPUT ACCEPT |
| # 2. 載入模組 |
| /in/modprobe ip_tables 2> /dev/null |
| /in/modprobe ip_nat_ftp 2> /dev/null |
| /in/modprobe ip_nat_irc 2> /dev/null |
| /in/modprobe ip_conntrack 2> /dev/null |
| /in/modprobe ip_conntrack_ftp 2> /dev/null |
| /in/modprobe ip_conntrack_irc 2> /dev/null |
| # 3. 啟動ip偽裝 |
| /in/iptables -t nat -A POSTROUTING -o $EXIF -s $EXNET -j MASQUERADE |
2) 增加可執(zhí)行權限
# chmod +x /usr/local/nat/nat.sh
4. 大功告成
1) Linux主機配置完成, 現(xiàn)在只需重新啟動一下剛才的配置:
# servie network restart
# /usr/local/nat/nat.sh
2) 為了使得開機即可運行, 可在 /etc/rc.d/rc.local 文件加入相應的命令:
# echo “/usr/local/nat/nat.sh” >> /etc/rc.d/rc.local
5. 配置客戶機(可以是windows或linux等其它系統(tǒng))
1. network 設定需要為: 192.168.50.0
2. broadcast 設定需要為: 192.168.50.255
3. netmask 設定需要為 255.255.255.0
4. IP 設定需要為 192.168.50.1 ~ 192.168.50.254 之一, 且『不能重復』
5. Gateway 或者要設定為你的 Linux 的對內 IP , 以我的例子來說, 就是
192.168.50.1
6. DNS 的設定: 這個最容易出錯了, DNS 設定需要是 ISP 給你的 DNS
IP, 如果不知道的話, 可以填入 168.95.1.1 或者是
139.175.10.20 這一個 SeedNet 的 DNS 即可!千萬不要設定為 192.168.1.2
Linux NAT 配置???
Linux安全配置步驟簡述
一、磁盤分區(qū)
1、如果是新安裝系統(tǒng),對磁盤分區(qū)應考慮安全性:
1)根目錄(/)、用戶目錄(/home)、臨時目錄(/tmp)和/var目錄應分開到不同的磁盤分區(qū);
2)以上各目錄所在分區(qū)的磁盤空間大小應充分考慮,避免因某些原因造成分區(qū)空間用完而導致系統(tǒng)崩潰;
2、對于/tmp和/var目錄所在分區(qū),大多數(shù)情況下不需要有suid屬性的程序,所以應為這些分區(qū)添加nosuid屬性;
方法一:修改/etc/fstab文件,添加nosuid屬性字。例如:
/dev/hda2 /tmp ext2 exec,dev,nosuid,rw 0 0
^^^^^^
方法二:如果對/etc/fstab文件操作不熟,建議通過linuxconf程序來修改。
* 運行l(wèi)inuxconf程序;
* 選擇”File systems”下的”Access local drive”;
* 選擇需要修改屬性的磁盤分區(qū);
* 選擇”No setuid programs allowed”選項;
* 根據(jù)需要選擇其它可選項;
* 正常退出。裂?。ㄒ话銜崾局匦耺ount該分區(qū))
二、安裝
1、對于非測試主機,不應安裝過多的軟件包。這樣可以降低因軟件包而導致出現(xiàn)安全漏洞的可能性。
2、對于非測試主機,在選擇主機啟動服務時不應選擇非必需的服務。例如routed、ypbind等。
三、安全配置與增強
內核升級。起碼要升級至2.2.16以上版本。
GNU libc共享庫升級。(警告:如果沒有經驗,不可輕易嘗試??蓵壕?。)
關閉危險的網絡服務。echo、chargen、shell、login、finger、NFS、RPC等
關閉非必需的網絡服務。talk、ntalk、pop-2等
常見網絡服務安全配置與升級
確保網絡服務所使用版本為當前最新和最安全的版本。
取消匿名FTP訪問
去除非必需的suid程序
使用tcpwrapper
使用ipchains防火墻
日志系統(tǒng)syslogd
一些細節(jié):
1.操作系統(tǒng)內部的log file是檢測是否有網絡入侵的重要線索,當然這個假定你的logfile不被侵入者所破壞,如果你有臺服務器用專線直接連到Internet上,這意味著你的IP地址是永久固定的地址,你會發(fā)現(xiàn)有很多人對你的系統(tǒng)做telnet/ftp登錄嘗試,試著運行#more /var/log/secure | grep refused 去檢查。
2. 限制具有SUID權限標志的程序數(shù)量,具有該權限標志的程序以root身份運行,是一個潛在的安全漏洞,當然,有些程序是必須要具有該標志的,象passwd程序。
3.BIOS安全。設置BIOS密碼且修改引導次序禁止從軟盤啟動系統(tǒng)。
4. 用戶口令。用戶口令是Linux安全的一個最基本的起點,很多人使用的用戶口令就是簡單的‘password’,這等于給侵入者敞開了大門,雖然從理論上說沒有不能確解的用戶口令,只要有足夠的時間和資源可以利用。比較好的用戶口令是鎮(zhèn)源山那些只有他自己能夠容易記得御中并理解的一串字符,并且絕對不要在任何地方寫出來。
5./etc/exports 文件。如果你使用NFS網絡文件系統(tǒng)服務,那么確保你的/etc/exports具有最嚴格的存取權限設置,不意味著不要使用任何通配符,不允許root寫權限,mount成只讀文件系統(tǒng)。編輯文件/etc/exports并且加:例如:
/dir/to/export host1.mydomain.com(ro,root_squash)
/dir/to/export host2.mydomain.com(ro,root_squash)
/dir/to/export 是你想輸出的目錄,host.mydomain.com是登錄這個目錄的機器名,
ro意味著mount成只讀系統(tǒng),root_squash禁止root寫入該目錄。
為了讓上面的改變生效,運行/usr/in/exportfs -a
6.確信/etc/inetd.conf的所有者是root,且文件權限設置為600 。
# chmod 600 /etc/inetd.conf
ENSURE that the owner is root.
# stat /etc/inetd.conf
File: “/etc/inetd.conf”
Size: 2869 Filetype: Regular File
Mode: (0600/-rw) Uid: ( 0/ root) Gid: ( 0/ root)
Device: 8,6 Inode:Links: 1
Access: Wed Sep 22 16:24:(00000.00:10:44)
Modify: Mon Sep 20 10:22:(00002.06:12:16)
Change:Mon Sep 20 10:22:(00002.06:12:16)
編輯/etc/inetd.conf禁止以下服務:
ftp, telnet, shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger,
auth, etc. 除非你真的想用它。
特別是禁止那些r命令.如果你用ssh/scp,那么你也可以禁止掉telnet/ftp。
為了使改變生效,運行#killall -HUP inetd
你也可以運行#chattr +i /etc/inetd.conf使該文件具有不可更改屬性。
只有root才能解開,用命令
#chattr -i /etc/inetd.conf
7. TCP_WRAPPERS
默認地,Redhat Linux允許所有的請求,用TCP_WRAPPERS增強你的站點的安全性是舉手
之勞,你可以放入
“ALL: ALL”到/etc/hosts.deny中禁止所有的請求,然后放那些明確允許的請求到
/etc/hosts.allow中,如:
sshd: 192.168.1.10/255.255.255.0 gate.openarch.com
對IP地址192.168.1.10和主機名gate.openarch.com,允許通過ssh連接。
配置完了之后,用tcpdchk檢查
# tcpdchk
tcpchk是TCP_Wrapper配置檢查工具,
它檢查你的tcp wrapper配置并報告所有發(fā)現(xiàn)的潛在/存在的問題。
8. 別名文件aliases
編輯別名文件/etc/aliases(也可能是/etc/mail/aliases),移走/注釋掉下面的行。
# Basic system aliases — these MUST be present.
MAILER-DAEMON: postmaster
postmaster: root
# General redirections for pseudo accounts.
bin: root
daemon: root
#games: root ?remove or comment out.
#ingres: root ?remove or comment out.
nobody: root
#system: root ?remove or comment out.
#toor: root ?remove or comment out.
#uucp: root ?remove or comment out.
# Well-known aliases.
#manager: root ?remove or comment out.
#dumper: root ?remove or comment out.
#operator: root ?remove or comment out.
# trap decode to catch security attacks
#decode: root
# Person who should get root’s mail
#root: marc
最后更新后不要忘記運行/usr/bin/newaliases,使改變生效。
9.阻止你的系統(tǒng)響應任何從外部/內部來的ping請求。
既然沒有人能ping通你的機器并收到響應,你可以大大增強你的站點的安全性。你可以加下面的一行命令到/etc/rc.d/rc.local,以使每次啟動后自動運行。
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
10. 不要顯示出操作系統(tǒng)和版本信息。
如果你希望某個人遠程登錄到你的服務器時不要顯示操作系統(tǒng)和版本信息,你能改變
/etc/inetd.conf中的一行象下面這樣:
telnet stream tcp nowait root /usr/in/tcpd in.telnetd -h
加-h標志在最后使得telnet后臺不要顯示系統(tǒng)信息,而僅僅顯示login:
11.The /etc/host.conf file
編輯host.conf文件(vi /etc/host.conf)且加下面的行:
# Lookup names via DNS first then fall back to /etc/hosts.
order bind,hosts
# We don’t have machines with multiple IP addresses on the same card
(like virtual server,IP Aliasing).
multi off
# Check for IP address spoofing.
nospoof on
IP Spoofing: IP-Spoofing is a security exploit that works by tricking
computers in a trust relationship that you are someone that you really aren’t.
12. The /etc/securetty file
該文件指定了允許root登錄的tty設備,/etc/securetty被/bin/login程序讀取,它的
格式是一行一個被允許的名字列表,如你可以編輯/etc/securetty且注釋出下面的行。
tty1
#tty2
#tty3
#tty4
#tty5
#tty6
#tty7
#tty8
-意味著root僅僅被允許在tty1終端登錄。
13. 特別的帳號
禁止所有默認的作系統(tǒng)本身啟動的且不需要的帳號,當你之一次裝上系統(tǒng)時就應該做此檢查,Linux提供了各種帳號,你可能不需要,如果你不需要這個帳號,就移走它,你有的帳號越多,就越容易受到攻擊。
為刪除你系統(tǒng)上的用戶,用下面的命令:
# userdel username
為刪除你系統(tǒng)上的組用戶帳號,用下面的命令:
# groupdel username
在終端上打入下面的命令刪掉下面的用戶。
# userdel adm
# userdel lp
# userdel sync
# userdel shutdown
# userdel halt
# userdel mail
如果你不用sendmail服務器,procmail.mailx,就刪除這個帳號。
# userdel news
# userdel uucp
# userdel operator
# userdel games
如果你不用X windows 服務器,就刪掉這個帳號。
# userdel gopher
# userdel ftp
如果你不允許匿名FTP,就刪掉這個用戶帳號。
===
打入下面的命令刪除組帳號
# groupdel adm
# groupdel lp
# groupdel mail
如不用Sendmail服務器,刪除這個組帳號
# groupdel news
# groupdel uucp
# groupdel games
如你不用X Windows,刪除這個組帳號
# groupdel dip
# groupdel pppusers
# groupdel popusers
如果你不用POP服務器,刪除這個組帳號
# groupdel slipusers
====
用下面的命令加需要的用戶帳號
# useradd username
用下面的命令改變用戶口令
# passwd username
用chattr命令給下面的文件加上不可更改屬性。
# chattr +i /etc/passwd
# chattr +i /etc/shadow
# chattr +i /etc/group
# chattr +i /etc/gshadow
14. 阻止任何人su作為root.
如果你不想任何人能夠su作為root,你能編輯/etc/pam.d/su加下面的行:
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=isd
意味著僅僅isd組的用戶可以su作為root.
然后,如果你希望用戶admin能su作為root.就運行下面的命令。
# usermod -G10 admin
16. 資源限制
對你的系統(tǒng)上所有的用戶設置資源限制可以防止DoS類型攻擊(denial of service attacks)
如更大進程數(shù),內存數(shù)量等。例如,對所有用戶的限制象下面這樣:
編輯/etc/security/limits.con加:
* hard core 0
* hard rss 5000
* hard nproc 20
你也必須編輯/etc/pam.d/login文件加/檢查這一行的存在。
session required /lib/security/pam_limits.so
上面的命令禁止core files“core 0”,限制進程數(shù)為“nproc 50“,且限制內存使用
為5M“rss 5000”。
17. The /etc/lilo.conf file
a) Add: restricted
加這一行到每一個引導映像下面,就這表明如果你引導時用(linux single),則需要一個password.
b) Add: password=some_password
當與restricted聯(lián)合用,且正常引導時,需要用戶輸入密碼,你也要確保lilo.conf
文件不能被不屬于root的用戶可讀,也免看到密碼明文。下面是例子:
編輯/etc/lilo.conf加:
====
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
Default=linux
restricted ?add this line.
password=some_password ?add this line.
image=/boot/vmlinuz-2.2.12-20
label=linux
initrd=/boot/initrd-2.2.12-10.img
root=/dev/sda6
read-only
# chmod 600 /etc/lilo.conf (不再能被其他用戶可讀).
# /in/lilo -v (更新lilo配置).
# chattr +i /etc/lilo.conf(阻止該文件被修改)
18. 禁止 Control-Alt-Delete 重啟動機器命令
# vi /etc/inittab
ca::ctrlaltdel:/in/shutdown -t3 -r now
To
#ca::ctrlaltdel:/in/shutdown -t3 -r now
# /in/init q
19. 重新設置/etc/rc.d/init.d/目錄下所有文件的許可權限
# chmod -R 700 /etc/rc.d/init.d/*
僅僅root可以讀,寫,執(zhí)行上述所有script file.
20. The /etc/rc.d/rc.local file
默認地,當你login到linux server時,它告訴你linux版本名,內核版本名和服務器
主機名。它給了你太多的信息,如果你就希望得到提示login: ,編輯
/etc/rc.d/rc.local放#在下面的行前面:
—
# This will overwrite /etc/issue at every boot. So, make any changes you
# want to make to /etc/issue here or you will lose them when you reboot.
#echo “” > /etc/issue
#echo “$R” >> /etc/issue
#echo “Kernel $(uname -r) on $a $(uname -m)” >> /etc/issue
#
#cp -f /etc/issue /etc/issue.net
#echo >> /etc/issue
—
然后,做下面的事情:
# rm -f /etc/issue
# rm -f /etc/issue.net
# touch /etc/issue
# touch /etc/issue.net
21. 被root擁有的程序的位。
移走那些被root擁有程序的s位標志,當然有些程序需要這個,用命令‘chmod a-s’完成這個。
注:前面帶(*)號的那些程序一般不需要擁有s位標志。
# find / -type f \( -permo -perm\) \-exec ls –lg {} \;
-rwsr-xr-x 1 root rootMar/usr/bin/at
*-rwsr-xr-x 1 root rootApr 15 20:03 /usr/bin/chage
*-rwsr-xr-x 1 root rootApr 15 20:03 /usr/bin/gpasswd
-rwsr-xr-x 1 root root 3208 Mar/usr/bin/disable-paste
-rwxr-sr-x 1 root manApr/usr/bin/man
-r-s–x–x 1 root rootApr 14 17:21 /usr/bin/passwd
-rws–x–x 2 root rootApr/usr/bin/suidperl
-rws–x–x 2 root rootApr/usr/bin/sperl5.00503
-rwxr-sr-x 1 root mailApr/usr/bin/lockfile
-rwsr-sr-x 1 root mailApr/usr/bin/procmail
-rwsr-xr-x 1 root rootAug 27 11:06 /usr/bin/crontab
-rwxr-sr-x 1 root slocateApr 19 14:55 /usr/bin/slocate
*-r-xr-sr-x 1 root tty 6212 Apr 17 11:29 /usr/bin/wall
*-rws–x–x 1 root rootApr 17 12:57 /usr/bin/chfn
*-rws–x–x 1 root rootApr 17 12:57 /usr/bin/chsh
*-rws–x–x 1 root root 5576 Apr 17 12:57 /usr/bin/newgrp
*-rwxr-sr-x 1 root tty 8392 Apr 17 12:57 /usr/bin/write
-rwsr-x— 1 root squidOct 7 14:48 /usr/lib/squid/pinger
-rwxr-sr-x 1 root utmpJun 9 09:30 /usr/in/utempter
*-rwsr-xr-x 1 root root 5736 Apr 19 15:39 /usr/in/usernetctl
*-rwsr-xr-x 1 root binJul 6 09:35 /usr/in/traceroute
-rwsr-sr-x 1 root rootApr 19 16:38 /usr/in/sendmail
-rwsr-xr-x 1 root rootApr 16 18:49 /usr/libexec/pt_chown
-rwsr-xr-x 1 root rootApr 13 14:58 /bin/su
*-rwsr-xr-x 1 root rootApr 17 15:16 /bin/mount
*-rwsr-xr-x 1 root rootApr 17 20:26 /bin/umount
*-rwsr-xr-x 1 root rootJul 6 09:33 /bin/ping
-rwsr-xr-x 1 root rootApr 17 12:57 /bin/login
*-rwxr-sr-x 1 root root 3860 Apr 19 15:39 /in/netreport
-r-sr-xr-x 1 root rootApr 17 16:26 /in/pwdb_chkpwd
# chmod a-s /usr/bin/chage
# chmod a-s /usr/bin/gpasswd
# chmod a-s /usr/bin/wall
# chmod a-s /usr/bin/chfn
# chmod a-s /usr/bin/chsh
# chmod a-s /usr/bin/newgrp
# chmod a-s /usr/bin/write
# chmod a-s /usr/in/usernetctl
# chmod a-s /usr/in/traceroute
# chmod a-s /bin/mount
# chmod a-s /bin/umount
# chmod a-s /bin/ping
# chmod a-s /in/netreport
你可以用下面的命令查找所有帶s位標志的程序:
# find / -type f \( -permo -perm\) \-exec ls -lg {} \;
> suid-sgid-results
把結果輸出到文件suid-sgid-results中。
為了查找所有可寫的文件和目錄,用下面的命令:
# find / -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \; > ww-files-results
# find / -type d \( -perm -2 -o -perm -20 \) -exec ls -ldg {} \; > ww-directories-results
用下面的命令查找沒有擁有者的文件:
# find / -nouser -o -nogroup > unowed-results
用下面的命令查找所有的.rhosts文件:
# find /home -name .rhosts > rhost-results
建議替換的常見網絡服務應用程序
WuFTPD
WuFTD從1994年就開始就不斷地出現(xiàn)安全漏洞,黑客很容易就可以獲得遠程root訪問(Remote Root Access)的權限,而且很多安全漏洞甚至不需要在FTP服務器上有一個有效的帳號。最近,WuFTP也是頻頻出現(xiàn)安全漏洞。
它的更好的替代程序是ProFTPD。ProFTPD很容易配置,在多數(shù)情況下速度也比較快,而且它的源代碼也比較干凈(緩沖溢出的錯誤比較少)。有許多重要的站點使用ProFTPD。sourceforge.net就是一個很好的例子(這個站點共有3,000個開放源代碼的項目,其負荷并不小?。。?。一些Linux的發(fā)行商在它們的主FTP站點上使用的也是ProFTPD,只有兩個主要Linux的發(fā)行商(SuSE和Caldera)使用WuFTPD。
ProFTPD的另一個優(yōu)點就是既可以從inetd運行又可以作為單獨的daemon運行。這樣就可以很容易解決inetd帶來的一些問題,如:拒絕服務的攻擊(denial of service attack),等等。系統(tǒng)越簡單,就越容易保證系統(tǒng)的安全。WuFTPD要么重新審核一遍全部的源代碼(非常困難),要么完全重寫一遍代碼,否則WuFTPD必然要被ProFTPD代替。
Telnet
Telnet是非常非常不安全的,它用明文來傳送密碼。它的安全的替代程序是OpenSSH。
OpenSSH在Linux上已經非常成熟和穩(wěn)定了,而且在Windows平臺上也有很多免費的客戶端軟件。Linux的發(fā)行商應該采用OpenBSD的策略:安裝OpenSSH并把它設置為默認的,安裝Telnet但是不把它設置成默認的。對于不在美國的Linux發(fā)行商,很容易就可以在Linux的發(fā)行版中加上OpenSSH。美國的Linux發(fā)行商就要想一些別的辦法了(例如:Red Hat在德國的FTP服務器上(ftp.redhat.de)就有最新的OpenSSH的rpm軟件包)。
Telnet是無可救藥的程序。要保證系統(tǒng)的安全必須用OpenSSH這樣的軟件來替代它。
Sendmail
最近這些年,Sendmail的安全性已經提高很多了(以前它通常是黑客重點攻擊的程序)。然而,Sendmail還是有一個很嚴重的問題。一旦出現(xiàn)了安全漏洞(例如:最近出現(xiàn)的Linux內核錯誤),Sendmail就是被黑客重點攻擊的程序,因為Sendmail是以root權限運行而且代碼很龐大容易出問題。
幾乎所有的Linux發(fā)行商都把Sendmail作為默認的配置,只有少數(shù)幾個把Postfix或Qmail作為可選的軟件包。但是,很少有Linux的發(fā)行商在自己的郵件服務器上使用Sendmail。SuSE和Red Hat都使用基于Qmail的系統(tǒng)。
Sendmail并不一定會被別的程序完全替代。但是它的兩個替代程序Qmail和Postfix都比它安全、速度快,而且特別是Postfix比它容易配置和維護。
su
su是用來改變當前用戶的ID,轉換成別的用戶。你可以以普通用戶登錄,當需要以root身份做一些事的時候,只要執(zhí)行“su”命令,然后輸入root的密碼。su本身是沒有問題的,但是它會讓人養(yǎng)成不好的習慣。如果一個系統(tǒng)有多個管理員,必須都給他們root的口令。
su的一個替代程序是sudo。Red Hat 6.2中包含這個軟件。sudo允許你設置哪個用戶哪個組可以以root身份執(zhí)行哪些程序。你還可以根據(jù)用戶登錄的位置對他們加以限制(如果有人“破”了一個用戶的口令,并用這個帳號從遠程計算機登錄,你可以限制他使用sudo)。Debian也有一個類似的程序叫super,與sudo比較各有優(yōu)缺點。
讓用戶養(yǎng)成良好的習慣。使用root帳號并讓多個人知道root的密碼并不是一個好的習慣。這就是
www.apache.org
被入侵的原因,因為它有多個系統(tǒng)管理員他們都有root的特權。一個亂成一團的系統(tǒng)是很容易被入侵的。
named
大部分Linux的發(fā)行商都解決了這個問題。named以前是以root運行的,因此當named出現(xiàn)新的漏洞的時候,很容易就可以入侵一些很重要的計算機并獲得root權限。現(xiàn)在只要用命令行的一些參數(shù)就能讓named以非root的用戶運行。而且,現(xiàn)在絕大多數(shù)Linux的發(fā)行商都讓named以普通用戶的權限運行。命令格式通常為:named -u -g
INN
在INN的文檔中已經明確地指出:“禁止這項功能(verifycancels),這項功能是沒有用的而且將被除掉”。大約在一個月前,一個黑客發(fā)布了當“verifycancels”生效的時候入侵INN的方法。Red Hat是把“verifycancels”設為有效的。任何setuid/setgid的程序或網絡服務程序都要正確地安裝并且進行檢查以保證盡量沒有安全漏洞。
安全守則
1. 廢除系統(tǒng)所有默認的帳號和密碼。
2. 在用戶合法性得到驗證前不要顯示公司題頭、在線幫助以及其它信息。
3. 廢除“黑客”可以攻擊系統(tǒng)的網絡服務。
4. 使用6到8位的字母數(shù)字式密碼。
5. 限制用戶嘗試登錄到系統(tǒng)的次數(shù)。
6. 記錄違反安全性的情況并對安全記錄進行復查。
7. 對于重要信息,上網傳輸前要先進行加密。
8. 重視專家提出的建議,安裝他們推薦的系統(tǒng)“補丁”。
9. 限制不需密碼即可訪問的主機文件。
10.修改網絡配置文件,以便將來自外部的TCP連接限制到最少數(shù)量的端口。不允許諸如tftp,sunrpc,printer,rlogin或rexec之類的協(xié)議。
11.用upas代替sendmail。sendmail有太多已知漏洞,很難修補完全。
12.去掉對操作并非至關重要又極少使用的程序。
13.使用chmod將所有系統(tǒng)目錄變更為711模式。這樣,攻擊者們將無法看到它們當中有什么東西,而用戶仍可執(zhí)行。
14.只要可能,就將磁盤安裝為只讀模式。其實,僅有少數(shù)目錄需讀寫狀態(tài)。
關于linux nat類型檢測的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
成都網站建設選創(chuàng)新互聯(lián)(?:028-86922220),專業(yè)從事成都網站制作設計,高端小程序APP定制開發(fā),成都網絡營銷推廣等一站式服務。
當前題目:「了解LinuxNAT類型檢測的方法」(linuxnat類型檢測)
網頁路徑:http://fisionsoft.com.cn/article/dhdeesc.html


咨詢
建站咨詢
