1、了解基本的linux命令 2、会写简单的shell脚本 3、了解一些目录和用户管理命令 4、了解一下crontab这个应用,写sql或rman备份时用的到
⑵ 网络安全工程师要学些什么
1、计算机应用、计算机网络、通信、信息安全等相关专业本科学历,三年以上网络安全领域工作经验;
2、精通网络安全技术:包括端口、服务漏洞扫描、程序漏洞分析检测、权限管理、入侵和攻击分析追踪、网站渗透、病毒木马防范等。
3、熟悉tcp/ip协议,熟悉sql注入原理和手工检测、熟悉内存缓冲区溢出原理和防范措施、熟悉信息存储和传输安全、熟悉数据包结构、熟悉ddos攻击类型和原理有一定的ddos攻防经验,熟悉iis安全设置、熟悉ipsec、组策略等系统安全设置;
4、熟悉windows或linux系统,精通php/shell/perl/python/c/c++ 等至少一种语言;
5、了解主流网络安全产品{如fw(firewall)、ids(入侵检测系统)、scanner(扫描仪)、audit等}的配置及使用;
6、善于表达沟通,诚实守信,责任心强,讲求效率,具有良好的团队协作精神;
网络安全工程师:随着互联网发展和IT技术的普及,网络和IT已经日渐深入到日常生活和工作当中,社会信息化和信息网络化,突破了应用信息在时间和空间上的障碍,使信息的价值不断提高。但是与此同时,网页篡改、计算机病毒、系统非法入侵、数据泄密、网站欺骗、服务瘫痪、漏洞非法利用等信息安全事件时有发生。
工作内容:
1、分析网络现状。对网络系统进行安全评估和安全加固,设计安全的网络解决方案;
2、在出现网络攻击或安全事件时,提高服务,帮助用户恢复系统及调查取证;
3、针对客户网络架构,建议合理 的网络安全解决方案;
4、负责协调解决方案的客户化实施、部署与开发,推定解决方案上线;
5、负责协调公司网络安全项目的售前和售后支持。
⑶ 学linux可以做网络安全吗
可以。Linux是一套免费使用和自由传播的类Unix作系统,它主要用于基于x86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。
⑷ 网络安全方向学linux学到什么程度和学哪个方面的
学好Linux的基本命令操作和网站架设部分就可以了,基本命令操作一定要精通,因为有许多Linux上的网络安全工具都是命令行界面的,需要经常在终端命令行操作;网站架设需要精通原理、还有网站管理、日常维护,因为网站渗透测试需要知道这些知识,以Linux为平台架设的网站是很多的。
⑸ 网络安全和LINUX,我该选哪个
网络安全和Linux可以同时学习,两者是不冲突的,而且技多不压身,对以后的发展也很有帮助。
⑹ 如何保证Linux服务器的网络安全
1.对指定网站禁止访问
iptables支持试用域名和IP地址两种方法来指定禁止的网站。如果使用域名的方式指定网站,iptables会通过DNS服务器查询该域名对应的所有IP地址,并将这些IP地址加入到规则中,所以使用域名指定网站时,iptables的执行速度会稍慢。
命令如下:
[root@localhost ~]# iptables -I FORWARD -d www.xxx.com -j DROP
[root@localhost ~]# iptables -t filter -L FORWARD
2.禁止linux服务器上网
操作命令如下:
[root@localhost ~]# iptables -I FORWARD -s 192.168.1.102 -j DROP
[root@localhost ~]# iptables -t filter -L FORWARD
3.禁止Linux服务器访问某些访问
端口是TCP/IP使用“端口”来区分系统中的不同的服务,如web服务使用的是TCP 80端口,FTP服务使用的是TCP 21端口等。由于不同的服务会使用不同的端口与外界进行通信,因此要禁止linux服务器上的某些访问,只要禁止服务使用的端口号即可。
操作命令如下:
[root@localhost ~]# iptables -I FROWARD -s 192.168.1.0/24 -p tcp --dport 21 -j DROP
[root@localhost ~]# iptables -t filter -L FROWARD
⑺ 为什么网络安全要学 Linux拜托各位大神
Linux操作系统也是自由软件和开放源代码发展中最着名的例子。Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于x86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。 传统上有以Linux为基础的“LAMP(Linux, Apache, MySQL, Perl/PHP/Python的组合)”经典技术组合,提供了包括操作系统、数据库、网站服务器、动态网页的一整套网站架设支持。而面向更大规模级别的领域中,如数据库中的Oracle、DB2、PostgreSQL,以及用于Apache的Tomcat JSP等都已经在Linux上有了很好的应用样本。除了已在开发者群体中广泛流行,它亦是现时提供网站务供应商最常使用的平台 已经发展成了一个遵循POSIX标准的纯32位多工操作系统,64位版本也在开发之中。Linux可以兼容大部分的UNIX系统,很多UNIX的程序不需要改动,或者很少的改变就可以运行于Linux环境;内置TCP/IP协议,可以直接连入Internet,作为服务器或者终端使用;内置JAVA解释器,可直接运行JAVA源代码;具备程序语言开发、文字编辑和排版、数据库处理等能力;提供X Window的图形界面;主要用于x86系列的个人电脑,也有其它不同硬件平台的版本,支持现在流行的所有硬件设备。就性能上来说,它并不弱于Windows甚至UNIX,而且靠仿真程序还可以运行Windows应用程序。它有成千上万的各类应用软件,并不输于Windows的应用软件数量,其中也有商业公司开发的赢利性的软件。最可贵的是:它是一个真正的UNIX系统,可以供专业用户和想学UNIX的人在自己的个人电脑上使用。Linux是一个非常灵活的系统,相对于Windows而言也是一个比较难用的系统,就如同大多数用户用不惯MacOS的单键鼠标一样。 想要对Linux轻车熟路,你必须懂得一些相关知识,软、硬件的配置,最好还懂点程序,因为没有人有义务为您提供技术支援,除了和其它用户交流之外 ,您必须要自己解决问题。当然,如果您只是作为日常应用,就不需要那么复杂啦,Linux一样会为您提供完美的操作环境,你所要做的就是改变使用习惯和成见。 早期的操作系统是没有图形界面的,自从Apple于1984年推出System 1.0开始,个人电脑才实现了真正的GUI(Graphics User Interface,图形用户界面),从此电脑变得更加具有亲和力,也更加易于使用。Windows的图形化开始于Windows 3.1/3.2,直到Windows 95的出现才标志着多媒体时间的到来,从此计算机变得能说会唱起来。Linux始于UNIX,却青出于蓝胜于蓝,同样拥有着不俗的图形用户界面,性能更稳定,也更漂亮,可以和世界上曾经出现过的,最美丽的操作系统媲美!不同于现在的XP,Linux的图形界面是基于Console之上的,类似于Windows 95架于DOS之上,Linux下实现图形界面的是X Window系统(区别于MS的Windows)。 X Window是一套用于UNIX的具有极大可携性、对彩色掌握的多样性和网络之间的操作透明性的健在式处理窗口系统。它和微软的Windows的工作原理并不相同,不过两者都使用图形界面和窗口技术,从外表看来有那么一点点相似,但又存在着巨大的不同,实际上X Window的界面更加多样化,也更漂亮,且高效快捷。就Windows对于DOS的地位一样,X Window一改UNIX/Linux单调的文本界面,提供了一个友善的图形用户界面(GUI)。 1984年在麻省理工学院(MIT)电脑科学研究室工作的Bob Scheifler正在发展分布式系统,DEC公司的Jim Gettys也在MIT进行A-thena计划的一部分。两者都需要一套在UNIX系统上使用的图形界面,因此两者开始合作研制X Window。1987年,MIT发布了第11个版本的X Window,并成立了非赢利性组织“X协会”来发展及控制X Window标准。所以现在的X Window并不完全是一个软件,而是一个协定,定义了一个系统所必须具备的功能。任何系统能满足这个协定及符合X协会其它的规范,便可称为X Window,它的源代码公开。因为X Window具有强大的与设备无关结构性,它提供了一组网络通信协议,任何硬件只要提供X协定,便可以执行应用程序显示一群包含图文的窗口,不需要重新编译,这种与设备无关的特性只要是根据X Window标准所开发的应用程序均可在不同的环境下作用,这就大大减少了跨越不同平台之间的编译工作,应用程序更加具有可移植性。 Linux上最常用的X Window是Xfree86,它是MIT的X11R5的移植版,使用Openlook窗口管理系统,所以Xfree86是免费的。Xfree86支持现行所有的PC显示卡,但不一定支持它们的Windows加速特性,比如DirectX 9。
⑻ 怎样规划linux网络安全学习路线
防火墙的原理
防火墙的作用
主要作用:过滤两个网络之间的数据包
INERNET------fire wall------server------LAN
Linux内核的Netfilter
Linux内核空间和应用程序空间是不一样的
内核空间是受保护的,任何进出服务器的数据包都要经过内核处理
所有发送给本地的数据包都要经过INPUT
任何从本机产生的数据包发送给其它人都要经过OUTPUT
一个数据从本机路由转发,目标不是自己,是发给别人的将从FORWARD经过
INPUT/OUTPUT保护的是本机FORWARD保护的是局域网用户
包过滤原理
一个数据包要经过本地的路由,要判断怎么走,ROUTING是非常重要的,它决定了要怎么走
如果一个包和我本地网卡地址一样,本地可以收到,进入INPUT,否则FORWARD
如果一个包是本地产生的,发出去的经过OUTPUT
包过滤就是在这三个地方设置条件,设置障碍,阻止或通过数据包,及设置包的处理方式
包的处理方式
iptable -A INPUT -p icmp -j DROP
包的处理方式常见的有目标(Target) 丢弃(DROP) 接受(ACCEPT) (弹回)REJECT 日志(LOG)等
iptables命令
iptables -A INPUT -p icmp -j DROP 增加一个过滤规则
ping 192.168.0.101
iptables -L -n查看过滤规则
iptables -F清空过滤规则
iptables --help | more
iptables -L -n –line-number
增加一条规则把拒绝所有访问21端口的数据包
iptables -A INPUT -p tcp -d 192.168.0.101 --dport 21 -j DROP
iptables -F修改的时候要把防火墙的门全部关起来 然后一个一个端口打开
iptables -L -n –line-numbers
假设我们一个服务器只开启一个http
那么我们要开启http/ssh(远程管理)
所有的http 端口grep http /etc/services
打开ssh grep ssh /etc/services
iptables -A INPUT -p tcp -d 192.168.0.101 --dport 22 -j ACCEPT 接收进来,目标IP是本地IP,目标端口是22
iptables -A OUTPUT -p tcp -s 192.168.0.101 --sport 22 -j ACCEPT 发送出去,源IP是本地IP,源端口是22
iptables -L -n
iptables -P INPUT DROP改变防火墙的默认策略为DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -p tcp -d 192.168.0.101 --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -s 192.168.0.101 --sport 80 -j ACCEPT
iptables -L -n
iptables -L -n --line-numbers
netstat -tnl 就算本地开启了很多服务,但只有22和80端口可以被访问到
service iptables save保存当前的设置或用iptables-save > /etc/sysconfig/iptables
对于作何一个服务器来说都少不了DNS解析请求,自己作为客户机
grep domain /etc/services 搜索域名服务的端口号
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT DNS解析回应,目标端口是53
iptables -A INPUT -p udp --sport 53 -j ACCEPT 请求DNS解析,源端口是53
检查客户机DNS服务器配置
more /etc/resolv.conf
host www.redhat.org.cn
如果这台服务器本身也是DNS服务器
iptables -A INPUT -p udp --dport 53 -j ACCEPT 接收来自别的机器的DNS解析请求
iptables -A OUTPUT -p udp --sport 53 -j ACCEPT这台DNS服务器发送DNS解析回应
iptables -D INPUT 5删除在INPUT上的第5条规则
如果这台服务器也要连上其它服务器的SSH
到目前为止,在本机访问本机的服务给忽略
在本机上,有很多服务都守护在127.0.01上,所以我们要打开本地的回环设备
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
^IN^OUT命令替换功能
iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
service iptables save
现在我们注意一下22端口
Chain INPUT (policy DROP)
1 ACCEPT tcp -- 0.0.0.0/0 192.168.0.101 tcp dpt:22
Chain OUTPUT (policy DROP)
1 ACCEPT tcp -- 192.168.0.101 0.0.0.0/0 tcp spt:22
所有进来的包都要通过22端口
所有出去的包都要通过22端口,但是如果由于系统漏洞或是病毒,从22端口主动送出包出去,而不是通过请求进来的包回应的,这时就会出现比较大的问题
所以我们要增加一条规则看这个包是不是别人请求我,我回应别人的
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
iptables -D OUTPUT 1删除第一条规则
iptables -n -L --line-numbers
Chain OUTPUT (policy DROP)
6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:22 state ESTABLISHED
针对80端口也是一样
iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
service iptables save
作为客户机访问别人的SSH也是有问题的
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT从客户机发送出去的包,肯定被无条件接受
iptables -A INPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT接受别人的服务
器SSH回应如果有病毒,是主动发给本客机的,就出现问题了,这时加上必须是我请求过SSH服务数据包回应的
LOG目标
iptables -A INPUT -p tcp –dport 22 -j LOG –log-level 5 –log-prefix “IPTABLES”
编辑/etc/syslog.conf
注意:日志级别5要跟syslog.conf中的级别一致。级别可以通过syslog的manual帮助获得。
iptables -A INPUT -p tcp --dport 22 -j LOG --log-level 5 --log-prefix "iptable:"
vi /etc/rsyslog.conf
kern.=notice /var/log/firewall.log
这里为什么是notice?
man syslog查看消息的级别
#define KERN_EMERG "<0>" /* system is unusable */
#define KERN_ALERT "<1>" /* action must be taken immediately */
#define KERN_CRIT "<2>" /* critical conditions */
#define KERN_ERR "<3>" /* error conditions */
#define KERN_WARNING "<4>" /* warning conditions */
#define KERN_NOTICE "<5>" /* normal but significant condition */
#define KERN_INFO "<6>" /* informational */
#define KERN_DEBUG "<7>" /* debug-level messages */
在防火墙中我们定的级别是5,所以对应的内核是notice
iptables -A INPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -n -L –line-number
iptables -D INPUT 8
iptables -I INPUT 6 -p tcp --dport 22 -j LOG --log-level 5 --log-prefix "iptable:"
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -D INPUT 1 把前拥同样规则的移到日志后面
service iptables save
tail /var/log/firewall.log -f
NAT地址转换
http://www.netfilter.org/
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT允许本地互联网访问
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT
光这样还不行,还要打开内核里的转发文件
more /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_forward
这时只能临时生效,若服务器重启,这个值又变成0
vi /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
service iptables save
此时我们还是不能用,因为局域网通过本机转发到互联网上,网络上的地址并不知道本地局域网的IP
所以我们要通过NAT
iptables -t nat -L -n
Netfilter的NAT表
内核空间---->PREROUTING---->ROUTING---->FORWARD---->POSTROUTING
SNAT发生在POSTROUTING
PREROUTING---->FORWARD---->POSTROUTING
destination: 11.22.33.1:22 destination: 11.22.33.1:22
source: 10.0.0.1:<port> source: 11.22.33.44:<port>
proto: tcp proto: tcp
本机地址:
eth0: 10.0.0.254
eth1: 11.22.33.44
SNAT应用
10.0.0.241 eth0:10.0.0.254 /eth1:192.168.0.254 192.168.0.1
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT –to-source 192.168.0.254
IP:10.0.0.241 getway: 10.0.0.254 subnet mask:255.255.255.0
ping 192.168.0.1若能ping通,说明访问成功
在实际的运用中
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE支持动态的翻译
回来时自动找到源IP
iptables -t nat -F
DNAT发生在PREROUTING
PREROUTING---->FORWARD---->POSTROUTING
destination: 11.22.33.44:22 destination: 10.0.0.1:22
source: 11.22.33.1:<port> source: 11.22.33.1:<port>
proto: tcp proto: tcp
本机地址:
eth0: 10.0.0.254
eth1: 11.22.33.44
DNAT应用
10.0.0.241 eth0:10.0.0.254 /eth1:192.168.0.254 192.168.0.1
iptables -t nat -A PREROUTING -d 10.0.0.254 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1
192.168.0.1这是一台实际的服务器,不让访问者10.0.0.241看到,访问者看到只是一个防火墙
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/beauty9235/archive/2008/12/01/3423069.aspx
⑼ 为什么网络安全需要学习linux
既然是网络安全,你应该知道现在做服务器最好的系统是什么。当然不是windows,所以要学习linux,它采用的核心是开源的。而且安全性比windows强多了。
学习linux代码就会更好的学习linux啊,然后更好的学习网络安全啊。