码迷,mamicode.com
首页 > 系统相关 > 详细

Linux安全应用2

时间:2016-06-17 17:30:45      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:linux安全应用2详解

[root@localhost 桌面]# service NetworkManager stop

[root@localhost 桌面]# chkconfig NetworkManager off

[root@localhost 桌面]# setup

[root@localhost 桌面]# vim /etc/udev/rules.d/70-persistent-net.rules 

[root@localhost 桌面]# modprobe -rv e1000

[root@localhost 桌面]# modprobe -v e1000

[root@localhost 桌面]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

[root@localhost 桌面]#service network restart

[root@localhost 桌面]# setenforce 0

[root@localhost ssh]# vim /etc/selinux/config

SELINUX=disabled

:wq


ssh -X 192.168.1.1     //加X可以在远程的服务器上打开system-network-date图形界面,在本地显示出来

ssh 192.168.10.1 ‘useradd bob‘  //在ip地址后面加命令,直接执行命令,不用登陆远程服务器

ping6 ::1    //拼ipv6本地环回

ping 127.0.0.1  //拼ipv4本地环回

netstat -tunlp | nore  //查看监听tcp的端口号有哪些

:::111   //:冒号后面111代表端口号,前面那两冒号代表ipv6任意地址


/etc/ssh 配置文件

ssh_config 客户端配置文件 

sshd_config 服务器端软件

vim /etc/ssh/sshd_config

Port 3389 //端口号

Protocol2 2       //版本

ListenAddress 192.168.168.174  //端听的IP地址,0.0.0.0代表所有的IP地址

PermitRootLogin no   //不允许root用户登陆

PermitEmptyPasswords no  //不允许空密码

UseDNS no //不查找DNS,不查找IP对的名字是多少

LoginGraceTime 2m       //登陆页面两分钟不动,自动断开

StrictModes yes        

MaxAuthTries 6          //最大身份认证尝试6次

:wq

man ssh     //查ssh命令帮助

man 5 sshd_config   //查配置文件配帮助,不要加路径

ssh -p 3389 192.168.10.3   //通过端口号3389连接ssh


sshl黑白名单设置

配置文件 /etc/ssh/sshd_config

从上往下

1.   DenyUsers USER1 USER2 ...

2.   AllowUsers USER1@HOST USER2...

3.   DenyGroups GROUP1 GROUP2...

4.   AllowGroups GROUP1 GROUP2...


例:

vim /etc/ssh/sshd_config

AllowUsers tom root@192.168.10.5  //允许tom用户登陆,允许root用户在192.168.10.5的主机上登陆,其他不设允许的主机,默认不允许登陆

:wq


rsync httpd-2.2.25.tar.gz root@192.168.1.2:/home/demo

scp httpd..tar.gz root@192.168.1.2:/home/demo


加密技术

一.加密方式

1.对称加密:加解密使用相同的密钥。算法:DES/3DES/AES。优点,加密效率高,缺点,

  密钥的传输和保管不方便。

2.非对称加密:公钥加密、私钥解密。算法:RSA。优点,密钥传输保管方便。缺点, 

  加密效率低

3.单向加密:加密只能向一个方向进行,不能回推。哈希算法。MD5、SHA


[root@localhost ssh]# md5sum /etc/passwd

[root@localhost ssh]# sha   -> 敲tab健

sha1sum    sha224sum  sha256sum  sha384sum  sha512sum  sharesec   

[root@localhost ssh]# sha512sum /etc/passwd    //数字越大密钥越长


bob:$6$xA/CY  //6代表sha512加密 

bob:$1$xA/CY  //1代表MD5加密


实现不用密码即可连接ssh

一.生成密钥对

# ssh-keygen  ->后续全部回车->第一次回车修改密钥名字,第二次和第三次回车修改密钥密码

  /root/.ssh/id_rsa      //密钥对存放位置


二.上传公钥到服务器root用户下

# ssh-copy-id -i root@服务器IP地址

# ssh-copy-id -i root@192.168.1.2


/root/.ssh/id_rsa  私钥

/root/.ssh/id_pub  公钥

/root/ known_hosts 保存的密码信息


cd /etc/ssh

rm -rf ssh_host*

service sshd restart

ssh 192.168.1.2   //登陆不了

这时把known_hosts 删了就可登陆

rm -rf known_hosts  

ssh 192.168.1.2  //登陆成功


[root@localhost .ssh]# ls

id_rsa  id_rsa.pub  known_hosts

[root@localhost .ssh]# rm -f id*

[root@localhost .ssh]# ssh-keygen  //重新生成密钥


[root@localhost .ssh]# ssh-add  //执行此步可以不用输入密钥就可以进行远程连接

Could not open a connection to your authentication agent.

[root@localhost .ssh]#eval `ssh-agent`   //如果ssh-add失败就执行此步

Agent pid 5267

[root@localhost .ssh]# ssh-add ~/.ssh/rsa   //如果ssh-add失败就执行此步

/root/.ssh/rsa: No such file or directory

[root@localhost .ssh]# ssh-add

Enter passphrase for /root/.ssh/id_rsa: 

Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)


[root@localhost .ssh]# ssh-keygen

yum list | grep wire  //查抓包工具

yum -y install wireshark wireshark-gnome    //安装抓包工具

应用程序-Internet-wireshark //打开抓包工具


二.SSH加密、认证的验证

1.当客户端第一次SSH到服务器时,服务器会发送他的密钥信息。客户端不能确定该密

  钥就是真正的服务器发过来的,所以屏幕上会提示是否信任该密钥。用户输入YES后,

  可以继续。

2.在服务器端

  # rm -f /etc/ssh/ssh_host_*

  # service sshd restart

3.客户端再次连接服务器,因为服务的密钥重新生成了,客户端本地存储的服务器密钥与

  本次会话服务器发过来的密钥信息不一致,所以客户端拒接连接

4.客户端重新信任密钥

  # rm ~/ssh/known_hosts

  # ssh 服务器

 

三.生成ssh密钥,使用密码保护私钥

1.客户端生成密钥对。

  # ssh-keygen  ->提示输入passphrase的时候,输入密码,该密码是保护私钥的密码

2.上传至公钥服务器

  # ssh-copy-id -i 服务器ip

3.连接测试

  # ssh 服务器IP ->提示输入密码,这个密码是保护私钥的密码,而不是服务器的密码

4.把私钥密码托管给agent

  # ssh-add

5.再次SSH服务器,就不需要输入任何密码。


四.证书  ->算法的载体

1.CA证书颁发机构


五.TCP WRAPPERS

1.统一的保护策略

  多种TCP服务共用,提高效率


2.检查服务是否支持被TCP WRAPPERS保护

  [root@localhost 桌面]# ldd `which sshd vsftpd` | grep wrap

libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f274758c000)

libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fb676477000)


3.防护规则存放在

  /etc/hosts.allow

  /etc/hosts.deny

  策略应用规律

  先检查hosts.allow,有匹配则允许

  否则再检查hosts.deny,有配匹则拒绝

  若两文件中均无匹配,默认为允许


4.规则的格式

  服务列表:客户机列表

 

  关于客户机地址

  可使用通配符 ? 和  *

  网段地址,如 192.168.4

  或者 192.168.4.0/255.255.255.0

  区域地址, 如 .wsyht.com


5.例:

  仅允许以下客户机访问 VSFTPD 

  网段192.168.4.0/24

  IP范围:192.168.7.1-192.168.7.20

  

  # rpm -ql telnet-server  //查看他的服务名字


  # vim /etc/hosts.allow

    vsftpd : 192.168.4.*,192.168.7.?,192.168.7.1?,192.168.7.20

    sshd : 192.168.1.3

    in.telnetd : 192.168.1.3

  # vim /etc/hosts.deny

  # vsftpd:ALL


五.AAA

   Authentication:身份认证  -> 你是谁

   Authorization:授权    -> 你能干什么

   Audit:审计    -> 你干了什么


六.PAM可插拔身份认证模块

1.配置文件:/etc/pam.d/

2.配置文件的内容(栽选一行如下):

  account required pam_nologin.so

  第一列是认证类型,可用的选项有:

  accout: 执行基于用户管理的非认证行为操作,典型的,它可以限制用户的登陆时间、可用的系统资源

  auth:这个模块提供了驵证用户的两个方面。首先它认证用户是他声称的那个人(比如用密码验证),其次,

        它赋矛用户组成员身份或其他权限。

  password:当用户修改时,需要这个模块

  session:当赋矛用户某些服务之前或之后,要执行哪些操作。例如用户在访问数据时执行写日志操作。

  第二列是控制方式,可用的选项有

  required:检查结果失败,最终一定会失败,但是仍然检查后续。

  sufficient: 该项检查成功,立即通过,不再检查后续项。如果项检查失败,也不意味着最终会失败。

  optional: 可选

  include:包含另一个文件的内容

  第三列是调用的模块,这些模块位于/lib64/security下

 

  /var/log/secure 安全日志文件


3.例一:只有whell组的成员才可以切换成root用户

  # vim /etc/pam.d/su  -> 打开auth   required  这行的注释

  以tom身份登陆,执行su - 操作,即使输入正确的密码,也不能登陆

  # usermod -aG wheel tom  ->  把tom加入到wheel组  a,追加,G附加

  再次执行su - 操作,tom可以切换成root用户


4.例二:禁止tom从tty2登陆

  # vim /etc/pam.d/login   加入下面一行

  account required pam_access.so


  # vim /etc/security/access.conf   尾部增加,不能追加在最后一行

  - : tom : tty2   //-号代表取消的意思


5.例三:只允许tom用户打开两个文件

  查看/etc/pam.d/system-auth中包含 

  session required pam_limits.so  尾部添加

 

  # vim /etc/security/limits.conf   尾部增加

  tom hard nofile 2

  不管是切换成为tom,还是以tom身份登陆,都被禁止


6.例四.创建文件/etc/vsftpd/ftpgrps,该文件中的组不能访问ftp


  # groupadd denyftp

  # usermod -aG denyftp tom  

  # echo ‘denyftp‘ > /etc/vsftpd/ftpgrps

  # vim /etc/pam.d/vsftpd 尾部增加

  auth   required pam_listfile.so  item=group  sense=deny

  file=/etc/vsftpd/ftpgrps onerr=succeed

  验证,tom登陆ftp,登陆不成功,检查/var/log/secure 日志


7.例五,设置用户密码最短长度为9位

 # vim /etc/pam.d/system-auth

 password requisite pam_cracklib.so try_first_pass retry=3 minlen=9

 dcredit=0 ucredit=0 lcredit=0 ocredit=0


本文出自 “wsyht的博客” 博客,请务必保留此出处http://wsyht2015.blog.51cto.com/9014030/1790277

Linux安全应用2

标签:linux安全应用2详解

原文地址:http://wsyht2015.blog.51cto.com/9014030/1790277

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!